ttmp-rs/src/model/simple_mod.rs

35 lines
938 B
Rust

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<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),
}
}
}