pub mod generated; use azalea_registry::builtin::ItemKind; use crate::components::DataComponentTrait; /// A trait for data components that some [`ItemKind`]s may have a default value /// for. pub trait DefaultableComponent: DataComponentTrait { fn default_for_item(item: ItemKind) -> Option where Self: Sized; } impl DefaultableComponent for T { default fn default_for_item(_item: ItemKind) -> Option { None } } pub fn get_default_component(item: ItemKind) -> Option { T::default_for_item(item) }