dpscript/pack/
config.rs

1use std::collections::HashMap;
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
6pub struct PackToml {
7    pub pack: PackConfig,
8    pub version: VersionConfig,
9    pub build: BuildConfig,
10    #[serde(default)]
11    pub dependencies: HashMap<String, String>,
12}
13
14#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
15pub struct PackConfig {
16    /// The name also functions as the namespace.
17    pub name: String,
18    pub version: String,
19    #[serde(default)]
20    pub authors: Vec<String>,
21    pub description: Option<String>,
22}
23
24#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
25pub struct VersionConfig {
26    pub minecraft: String,
27}
28
29#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
30pub struct BuildConfig {
31    pub output: String,
32}