skyblock_repo/models/
zone.rs

1#[cfg(feature = "python")]
2use pyo3::{pyclass, pymethods};
3use serde::{Deserialize, Serialize};
4use serde_json::Value;
5#[cfg(feature = "python")]
6use skyblock_repo_macros::PyStr;
7
8use crate::models::Coordinates;
9
10#[derive(Debug, Serialize, Deserialize, PartialEq, Clone)]
11#[serde(rename_all = "camelCase")]
12#[cfg_attr(feature = "python", pyclass, derive(PyStr))]
13pub struct SkyblockZone {
14	#[serde(default)]
15	pub internal_id: String,
16	pub name: Option<String>,
17	pub source: Option<String>,
18	pub discovery_text: Option<String>,
19	#[serde(default)]
20	pub npcs: Vec<Value>,
21	#[serde(default)]
22	pub mobs: Vec<Value>,
23	#[serde(default)]
24	pub mob_drops: Vec<Value>,
25	#[serde(default)]
26	pub fairy_souls: Vec<FairySoul>,
27}
28
29#[derive(Debug, Serialize, Deserialize, PartialEq, Clone)]
30#[cfg_attr(feature = "python", pyclass, derive(PyStr))]
31pub struct FairySoul {
32	pub location: Option<String>,
33	#[serde(default)]
34	pub number: i32,
35	pub coordinates: Option<Coordinates>,
36}