conduit_cli/core/domain/
addon.rs1use 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}