azalea_inventory/default_components/
mod.rs1pub mod generated;
2
3use azalea_registry::Item;
4
5use crate::components::DataComponent;
6
7pub trait DefaultableComponent: DataComponent {
9 fn default_for_item(item: Item) -> Option<Self>
10 where
11 Self: Sized;
12}
13impl<T: DataComponent> DefaultableComponent for T {
14 default fn default_for_item(_item: Item) -> Option<Self> {
15 None
16 }
17}
18pub fn get_default_component<T: DefaultableComponent>(item: Item) -> Option<T> {
19 T::default_for_item(item)
20}