Skip to main content

conduit_cli/core/domain/
addon.rs

1use serde::{Deserialize, Serialize};
2use uuid::Uuid;
3
4use crate::core::domain::loader::Loader;
5
6#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
7#[serde(rename_all = "snake_case")]
8pub enum AddonType {
9    Mod,
10    Plugin,
11    Datapack,
12}
13
14#[derive(Debug, Clone, Serialize, Deserialize)]
15pub struct Addon {
16    pub id: Uuid,
17    pub slug: String,
18    pub file_name: String,
19    pub r#type: AddonType,
20    pub loaders: Vec<Loader>,
21    pub dependencies: Vec<Uuid>,
22}