From 23b7f20a0d88b54d430820baeb4a6da0316a009a Mon Sep 17 00:00:00 2001 From: mat <27899617+mat-1@users.noreply.github.com> Date: Mon, 4 Aug 2025 20:43:10 -0500 Subject: Default components (#232) * add default components * remove debug prints * clippy * use default components * fix tests --- azalea-inventory/src/default_components/mod.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 azalea-inventory/src/default_components/mod.rs (limited to 'azalea-inventory/src/default_components/mod.rs') diff --git a/azalea-inventory/src/default_components/mod.rs b/azalea-inventory/src/default_components/mod.rs new file mode 100644 index 00000000..e6150066 --- /dev/null +++ b/azalea-inventory/src/default_components/mod.rs @@ -0,0 +1,20 @@ +pub mod generated; + +use azalea_registry::Item; + +use crate::components::DataComponent; + +/// A [`DataComponent`] that some [`Item`]s may have a default value for. +pub trait DefaultableComponent: DataComponent { + fn default_for_item(item: Item) -> Option + where + Self: Sized; +} +impl DefaultableComponent for T { + default fn default_for_item(_item: Item) -> Option { + None + } +} +pub fn get_default_component(item: Item) -> Option { + T::default_for_item(item) +} -- cgit v1.2.3