mineome 0.2.0

Mineome is a Rust library focusing on providing high quality type definitions for the data-driven aspects of Minecraft Java Edition.
Documentation
use super::RangeOrNumber;
use crate::internal_prelude::*;

#[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
pub struct PlayerPredicateFragment {
    pub gamemode: Option<String>,
    pub advancements: HashMap<NamespacedId, PlayerPredicateAdvancement>,

    pub level: Option<RangeOrNumber<i32>>,
    pub recipes: HashMap<NamespacedId, bool>,
    pub stats: Vec<PlayerPredicateStatistic>,
}

#[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
#[serde(untagged)]
pub enum PlayerPredicateAdvancement {
    Boolean(bool),
    Predicate(HashMap<String, bool>),
}

#[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
pub struct PlayerPredicateStatistic {
    #[serde(rename = "type")]
    pub base: NamespacedId,
    pub stat: NamespacedId,
    pub value: RangeOrNumber<i32>,
}