ttmp-rs/src/model/simple_mod.rs

34 lines
1.0 KiB
Rust

use crate::model::ModPack;
#[derive(Debug, Clone)]
#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
#[cfg_attr(feature = "serde", serde(rename_all = "PascalCase"))]
pub struct SimpleMod {
pub name: String,
pub category: String,
pub full_path: String,
pub dat_file: String,
#[cfg_attr(feature = "serde", serde(default))]
pub is_default: bool,
pub mod_offset: usize,
pub mod_size: usize,
#[cfg_attr(feature = "serde", serde(default))]
pub mod_pack_entry: Option<serde_json::Value>,
}
impl From<Vec<SimpleMod>> for ModPack {
fn from(mods: Vec<SimpleMod>) -> 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),
}
}
}