skyblock_repo/models/
mod.rs1#[cfg(feature = "python")]
2use pyo3::{pyclass, pymethods};
3use serde::{Deserialize, Serialize};
4#[cfg(feature = "python")]
5use skyblock_repo_macros::PyStr;
6
7pub mod enchantment;
8pub mod item;
9pub mod npc;
10pub mod pet;
11pub mod recipe;
12pub mod shop;
13pub mod zone;
14
15#[derive(Debug, Serialize, Deserialize, PartialEq, Clone)]
16#[cfg_attr(feature = "python", pyclass, derive(PyStr))]
17pub struct UpgradeCost {
18 pub r#type: Option<UpgradeType>,
19 pub item_id: Option<String>,
20 pub essence_type: Option<String>,
21 pub amount: Option<u32>,
22}
23
24#[derive(Debug, Serialize, Deserialize, PartialEq, Clone)]
25#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
26#[cfg_attr(feature = "python", pyclass, derive(PyStr))]
27pub enum UpgradeType {
28 Item,
29 Essence,
30 Coins,
31 Pelts,
32 Motes,
33 JacobMedal,
34}
35
36#[derive(Debug, Serialize, Deserialize, PartialEq, Clone)]
37#[cfg_attr(feature = "python", pyclass, derive(PyStr))]
38pub struct Coordinates {
39 pub x: f64,
40 pub y: f64,
41 pub z: f64,
42}