use yog_data::Schema;
use yog_data::with::{Opt, RefTo};
pub use yog_registry::SoundGroup;
yog_data::kind! {
LadderKind = "ladder",
LevelKind = "level",
SoundGroupKind = "sound_group",
}
#[derive(Schema, Debug, Clone)]
#[data(tag = "kind")]
pub enum Def {
Ladder { id: String },
Level {
id: String,
#[data(with = "RefTo<LadderKind>")]
ladder: String,
#[data(with = "Opt<RefTo<LevelKind>>")]
above: Option<String>,
},
SoundGroup(SoundGroup),
}
pub const TOOL_LADDER: &str = "minecraft:tool";
pub const TOOL_LEVELS: [&str; 5] = ["wood", "stone", "iron", "diamond", "netherite"];