use serde::{Deserialize, Serialize}; use crate::model::ModPack; #[derive(Debug, Deserialize, Serialize, Clone)] #[serde(rename_all = "PascalCase")] pub struct SimpleMod { pub name: String, pub category: String, pub full_path: String, pub dat_file: String, #[serde(default)] pub is_default: bool, pub mod_offset: usize, pub mod_size: usize, #[serde(default)] pub mod_pack_entry: Option, } impl From> for ModPack { fn from(mods: Vec) -> Self { ModPack { minimum_framework_version: Default::default(), ttmp_version: Default::default(), name: "TexTools Mod Pack".into(), author: "TexTools Mod Author".into(), version: "1.0.0".into(), description: None, url: None, mod_pack_pages: None, simple_mods_list: Some(mods), } } }