From af3376e68e2940ad7e21884e645f4d0f2f6e552d Mon Sep 17 00:00:00 2001 From: Alexander Medvedev Date: Sat, 11 Jul 2026 11:04:51 +0200 Subject: [PATCH] feat: Implement missing data components --- pumpkin-codegen/src/item.rs | 260 + pumpkin-data/src/data_component_impl.rs | 2627 -- pumpkin-data/src/data_component_impl/basic.rs | 265 + .../src/data_component_impl/block_entity.rs | 150 + pumpkin-data/src/data_component_impl/book.rs | 50 + .../src/data_component_impl/combat.rs | 620 + .../src/data_component_impl/entity_variant.rs | 58 + pumpkin-data/src/data_component_impl/food.rs | 548 + pumpkin-data/src/data_component_impl/mod.rs | 607 + .../src/data_component_impl/utility.rs | 493 + pumpkin-data/src/generated/item.rs | 29882 +++++++++++++++- pumpkin-protocol/src/codec/data_component.rs | 75 +- pumpkin/src/entity/living.rs | 106 +- pumpkin/src/entity/mob/mod.rs | 26 + pumpkin/src/entity/mod.rs | 1 + pumpkin/src/entity/passive/cat.rs | 107 +- pumpkin/src/entity/passive/chicken.rs | 52 +- pumpkin/src/entity/passive/frog.rs | 74 +- pumpkin/src/entity/passive/wolf.rs | 95 +- pumpkin/src/entity/projectile/egg.rs | 18 +- pumpkin/src/item/items/spawn_egg.rs | 43 +- pumpkin/src/world/loot.rs | 14 +- 22 files changed, 33426 insertions(+), 2745 deletions(-) delete mode 100644 pumpkin-data/src/data_component_impl.rs create mode 100644 pumpkin-data/src/data_component_impl/basic.rs create mode 100644 pumpkin-data/src/data_component_impl/block_entity.rs create mode 100644 pumpkin-data/src/data_component_impl/book.rs create mode 100644 pumpkin-data/src/data_component_impl/combat.rs create mode 100644 pumpkin-data/src/data_component_impl/entity_variant.rs create mode 100644 pumpkin-data/src/data_component_impl/food.rs create mode 100644 pumpkin-data/src/data_component_impl/mod.rs create mode 100644 pumpkin-data/src/data_component_impl/utility.rs diff --git a/pumpkin-codegen/src/item.rs b/pumpkin-codegen/src/item.rs index f6bd1102f..eab39642c 100644 --- a/pumpkin-codegen/src/item.rs +++ b/pumpkin-codegen/src/item.rs @@ -74,6 +74,92 @@ pub struct ItemComponents { pub weapon: Option, #[serde(rename = "minecraft:enchantable")] pub enchantable: Option, + #[serde(rename = "minecraft:attack_range")] + pub attack_range: Option, + #[serde(rename = "minecraft:banner_patterns")] + pub banner_patterns: Option, + #[serde(rename = "minecraft:bees")] + pub bees: Option, + #[serde(rename = "minecraft:block_state")] + pub block_state: Option, + #[serde(rename = "minecraft:break_sound")] + pub break_sound: Option, + #[serde(rename = "minecraft:bucket_entity_data")] + pub bucket_entity_data: Option, + #[serde(rename = "minecraft:bundle_contents")] + pub bundle_contents: Option, + #[serde(rename = "minecraft:charged_projectiles")] + pub charged_projectiles: Option, + #[serde(rename = "minecraft:chicken/variant")] + pub chicken_variant: Option, + #[serde(rename = "minecraft:container")] + pub container: Option, + #[serde(rename = "minecraft:damage_type")] + pub damage_type: Option, + #[serde(rename = "minecraft:debug_stick_state")] + pub debug_stick_state: Option, + #[serde(rename = "minecraft:dye")] + pub dye: Option, + #[serde(rename = "minecraft:enchantment_glint_override")] + pub enchantment_glint_override: Option, + #[serde(rename = "minecraft:enchantments")] + pub enchantments: Option, + #[serde(rename = "minecraft:entity_data")] + pub entity_data: Option, + #[serde(rename = "minecraft:fireworks")] + pub fireworks: Option, + #[serde(rename = "minecraft:glider")] + pub glider: Option, + #[serde(rename = "minecraft:instrument")] + pub instrument: Option, + #[serde(rename = "minecraft:item_model")] + pub item_model: Option, + #[serde(rename = "minecraft:kinetic_weapon")] + pub kinetic_weapon: Option, + #[serde(rename = "minecraft:lore")] + pub lore: Option, + #[serde(rename = "minecraft:map_color")] + pub map_color: Option, + #[serde(rename = "minecraft:map_decorations")] + pub map_decorations: Option, + #[serde(rename = "minecraft:minimum_attack_charge")] + pub minimum_attack_charge: Option, + #[serde(rename = "minecraft:ominous_bottle_amplifier")] + pub ominous_bottle_amplifier: Option, + #[serde(rename = "minecraft:piercing_weapon")] + pub piercing_weapon: Option, + #[serde(rename = "minecraft:pot_decorations")] + pub pot_decorations: Option, + #[serde(rename = "minecraft:potion_contents")] + pub potion_contents: Option, + #[serde(rename = "minecraft:potion_duration_scale")] + pub potion_duration_scale: Option, + #[serde(rename = "minecraft:provides_banner_patterns")] + pub provides_banner_patterns: Option, + #[serde(rename = "minecraft:provides_trim_material")] + pub provides_trim_material: Option, + #[serde(rename = "minecraft:rarity")] + pub rarity: Option, + #[serde(rename = "minecraft:recipes")] + pub recipes: Option, + #[serde(rename = "minecraft:repair_cost")] + pub repair_cost: Option, + #[serde(rename = "minecraft:repairable")] + pub repairable: Option, + #[serde(rename = "minecraft:stored_enchantments")] + pub stored_enchantments: Option, + #[serde(rename = "minecraft:suspicious_stew_effects")] + pub suspicious_stew_effects: Option, + #[serde(rename = "minecraft:swing_animation")] + pub swing_animation: Option, + #[serde(rename = "minecraft:tooltip_display")] + pub tooltip_display: Option, + #[serde(rename = "minecraft:use_effects")] + pub use_effects: Option, + #[serde(rename = "minecraft:use_remainder")] + pub use_remainder: Option, + #[serde(rename = "minecraft:writable_book_content")] + pub writable_book_content: Option, } #[derive(Deserialize)] @@ -612,6 +698,180 @@ impl ToTokens for ItemComponents { let value = LitInt::new(&enchantable.value.to_string(), Span::call_site()); tokens.extend(quote! { (Enchantable, &EnchantableImpl { value: #value }), }); } + + if self.attack_range.is_some() { + tokens.extend(quote! { (AttackRange, &AttackRangeImpl), }); + } + if self.banner_patterns.is_some() { + tokens.extend(quote! { (BannerPatterns, &BannerPatternsImpl), }); + } + if self.bees.is_some() { + tokens.extend(quote! { (Bees, &BeesImpl), }); + } + if let Some(block_state) = &self.block_state { + let mut entries = TokenStream::new(); + if let serde_json::Value::Object(map) = block_state { + for (k, v) in map { + let v_str = match v { + serde_json::Value::String(s) => s.clone(), + _ => v.to_string(), + }; + let k_lit = LitStr::new(k, Span::call_site()); + let v_lit = LitStr::new(&v_str, Span::call_site()); + entries.extend(quote! { + (Cow::Borrowed(#k_lit), Cow::Borrowed(#v_lit)), + }); + } + } + tokens.extend(quote! { + (BlockState, &BlockStateImpl { + properties: Cow::Borrowed(&[#entries]) + }), + }); + } + if self.break_sound.is_some() { + tokens.extend(quote! { (BreakSound, &BreakSoundImpl), }); + } + if self.bucket_entity_data.is_some() { + tokens.extend(quote! { (BucketEntityData, &BucketEntityDataImpl), }); + } + if self.bundle_contents.is_some() { + tokens.extend(quote! { (BundleContents, &BundleContentsImpl { items: Vec::new() }), }); + } + if self.charged_projectiles.is_some() { + tokens.extend(quote! { (ChargedProjectiles, &ChargedProjectilesImpl { projectiles: Vec::new() }), }); + } + if let Some(val) = &self.chicken_variant { + let val_str = match val { + serde_json::Value::String(s) => s.clone(), + _ => val.to_string(), + }; + let val_lit = LitStr::new(&val_str, Span::call_site()); + tokens.extend(quote! { (ChickenVariant, &ChickenVariantImpl { value: Cow::Borrowed(#val_lit) }), }); + } + if self.container.is_some() { + tokens.extend(quote! { (Container, &ContainerImpl { items: Vec::new() }), }); + } + if self.damage_type.is_some() { + tokens.extend(quote! { (DamageType, &DamageTypeImpl), }); + } + if self.debug_stick_state.is_some() { + tokens.extend(quote! { (DebugStickState, &DebugStickStateImpl), }); + } + if self.dye.is_some() { + tokens.extend(quote! { (Dye, &DyeImpl), }); + } + if self.enchantment_glint_override.is_some() { + tokens.extend(quote! { (EnchantmentGlintOverride, &EnchantmentGlintOverrideImpl), }); + } + if self.enchantments.is_some() { + tokens.extend(quote! { (Enchantments, &EnchantmentsImpl { enchantment: Cow::Borrowed(&[]) }), }); + } + if self.entity_data.is_some() { + tokens.extend(quote! { (EntityData, &EntityDataImpl), }); + } + if let Some(fireworks) = &self.fireworks { + let flight_duration = if let serde_json::Value::Object(map) = fireworks + && let Some(serde_json::Value::Number(num)) = map.get("flight_duration") + { + num.as_i64().unwrap_or(1) as i32 + } else { + 1 + }; + tokens.extend(quote! { + (Fireworks, &FireworksImpl { + flight_duration: #flight_duration, + explosions: Vec::new(), + }), + }); + } + if self.glider.is_some() { + tokens.extend(quote! { (Glider, &GliderImpl), }); + } + if self.instrument.is_some() { + tokens.extend(quote! { (Instrument, &InstrumentImpl), }); + } + if let Some(model) = &self.item_model { + let model_lit = LitStr::new(model, Span::call_site()); + tokens.extend(quote! { (ItemModel, &ItemModelImpl { id: Cow::Borrowed(#model_lit) }), }); + } + if self.kinetic_weapon.is_some() { + tokens.extend(quote! { (KineticWeapon, &KineticWeaponImpl), }); + } + if self.lore.is_some() { + tokens.extend(quote! { (Lore, &LoreImpl), }); + } + if self.map_color.is_some() { + tokens.extend(quote! { (MapColor, &MapColorImpl), }); + } + if self.map_decorations.is_some() { + tokens.extend(quote! { (MapDecorations, &MapDecorationsImpl), }); + } + if self.minimum_attack_charge.is_some() { + tokens.extend(quote! { (MinimumAttackCharge, &MinimumAttackChargeImpl), }); + } + if let Some(amp) = self.ominous_bottle_amplifier { + let amp_lit = LitInt::new(&.to_string(), Span::call_site()); + tokens.extend(quote! { (OminousBottleAmplifier, &OminousBottleAmplifierImpl { amplifier: #amp_lit }), }); + } + if self.piercing_weapon.is_some() { + tokens.extend(quote! { (PiercingWeapon, &PiercingWeaponImpl), }); + } + if self.pot_decorations.is_some() { + tokens.extend(quote! { (PotDecorations, &PotDecorationsImpl), }); + } + if self.potion_contents.is_some() { + tokens.extend(quote! { + (PotionContents, &PotionContentsImpl { + potion_id: None, + custom_color: None, + custom_effects: Vec::new(), + custom_name: None, + }), + }); + } + if self.potion_duration_scale.is_some() { + tokens.extend(quote! { (PotionDurationScale, &PotionDurationScaleImpl), }); + } + if self.provides_banner_patterns.is_some() { + tokens.extend(quote! { (ProvidesBannerPatterns, &ProvidesBannerPatternsImpl), }); + } + if self.provides_trim_material.is_some() { + tokens.extend(quote! { (ProvidesTrimMaterial, &ProvidesTrimMaterialImpl), }); + } + if self.rarity.is_some() { + tokens.extend(quote! { (Rarity, &RarityImpl), }); + } + if self.recipes.is_some() { + tokens.extend(quote! { (Recipes, &RecipesImpl), }); + } + if self.repair_cost.is_some() { + tokens.extend(quote! { (RepairCost, &RepairCostImpl), }); + } + if self.repairable.is_some() { + tokens.extend(quote! { (Repairable, &RepairableImpl), }); + } + if self.stored_enchantments.is_some() { + tokens.extend(quote! { (StoredEnchantments, &StoredEnchantmentsImpl { enchantment: Cow::Borrowed(&[]) }), }); + } + if self.suspicious_stew_effects.is_some() { + tokens.extend(quote! { (SuspiciousStewEffects, &SuspiciousStewEffectsImpl), }); + } + if self.swing_animation.is_some() { + tokens.extend(quote! { (SwingAnimation, &SwingAnimationImpl), }); + } + if self.tooltip_display.is_some() { + tokens.extend(quote! { (TooltipDisplay, &TooltipDisplayImpl), }); + } + if self.use_effects.is_some() { + tokens.extend(quote! { (UseEffects, &UseEffectsImpl), }); + } + if self.use_remainder.is_some() { + tokens.extend(quote! { (UseRemainder, &UseRemainderImpl), }); + } + if self.writable_book_content.is_some() { + tokens.extend(quote! { (WritableBookContent, &WritableBookContentImpl { pages: Vec::new() }), }); + } } } diff --git a/pumpkin-data/src/data_component_impl.rs b/pumpkin-data/src/data_component_impl.rs deleted file mode 100644 index 757947379..000000000 --- a/pumpkin-data/src/data_component_impl.rs +++ /dev/null @@ -1,2627 +0,0 @@ -#![allow(dead_code)] - -use crate::attributes::Attributes; -use crate::data_component::DataComponent; -use crate::data_component::DataComponent::{ - AttributeModifiers, BlockEntityData, BlockState, BlocksAttacks, BundleContents, - ChargedProjectiles, Consumable, Container, CustomData, CustomName, Damage, DamageResistant, - DeathProtection, Enchantable, Enchantments, Equippable, FireworkExplosion, Fireworks, Food, - ItemModel, ItemName, JukeboxPlayable, MapId, MaxDamage, MaxStackSize, OminousBottleAmplifier, - PotionContents, Profile, StoredEnchantments, Tool, Unbreakable, UseCooldown, Weapon, -}; -use crate::effect::{self, StatusEffect}; -use crate::entity_type::EntityType; -use crate::sound::Sound; -use crate::tag::{RegistryKey, Tag, Taggable}; -use crate::{AttributeModifierSlot, Block, BlockId, Enchantment}; -use crc_fast::CrcAlgorithm::Crc32Iscsi; -use crc_fast::Digest; -use pumpkin_nbt::compound::NbtCompound; -use pumpkin_nbt::tag::NbtTag; -use pumpkin_util::registry::RegistryEntryList; -use pumpkin_util::text::TextComponent; -use serde::de::SeqAccess; -use serde::ser::SerializeSeq; -use serde::{Deserialize, Serialize, de}; -use std::any::Any; -use std::borrow::Cow; -use std::error::Error; -use std::fmt::Debug; -use std::str::FromStr; -use std::{ - collections::hash_map::DefaultHasher, - hash::{Hash, Hasher}, -}; - -pub trait DataComponentImpl: Send + Sync { - fn write_data(&self) -> NbtTag { - NbtTag::End - } - fn get_hash(&self) -> i32 { - todo!() - } - /// make sure other is the same type component, or it will panic - fn equal(&self, other: &dyn DataComponentImpl) -> bool; - fn get_enum() -> DataComponent - where - Self: Sized; - fn get_self_enum(&self) -> DataComponent; // only for debugging - fn to_dyn(self) -> Box; - fn clone_dyn(&self) -> Box; - fn as_any(&self) -> &dyn Any; - fn as_mut_any(&mut self) -> &mut dyn Any; -} -#[must_use] -pub fn read_data(id: DataComponent, data: &NbtTag) -> Option> { - match id { - MaxStackSize => Some(MaxStackSizeImpl::read_data(data)?.to_dyn()), - CustomData => Some(CustomDataImpl::read_data(data)?.to_dyn()), - Enchantments => Some(EnchantmentsImpl::read_data(data)?.to_dyn()), - Damage => Some(DamageImpl::read_data(data)?.to_dyn()), - Unbreakable => Some(UnbreakableImpl::read_data(data)?.to_dyn()), - DamageResistant => Some(DamageResistantImpl::read_data(data)?.to_dyn()), - PotionContents => Some(PotionContentsImpl::read_data(data)?.to_dyn()), - Fireworks => Some(FireworksImpl::read_data(data)?.to_dyn()), - FireworkExplosion => Some(FireworkExplosionImpl::read_data(data)?.to_dyn()), - CustomName => Some(CustomNameImpl::read_data(data)?.to_dyn()), - ItemModel => Some(ItemModelImpl::read_data(data)?.to_dyn()), - Consumable => Some(ConsumableImpl::read_data(data)?.to_dyn()), - Equippable => Some(EquippableImpl::read_data(data)?.to_dyn()), - StoredEnchantments => Some(StoredEnchantmentsImpl::read_data(data)?.to_dyn()), - UseCooldown => Some(UseCooldownImpl::read_data(data)?.to_dyn()), - MapId => Some(MapIdImpl::read_data(data)?.to_dyn()), - DataComponent::ChargedProjectiles => { - Some(ChargedProjectilesImpl::read_data(data)?.to_dyn()) - } - DataComponent::BlockEntityData => Some(BlockEntityDataImpl::read_data(data)?.to_dyn()), - DataComponent::BundleContents => Some(BundleContentsImpl::read_data(data)?.to_dyn()), - DataComponent::Container => Some(ContainerImpl::read_data(data)?.to_dyn()), - DataComponent::WrittenBookContent => { - Some(WrittenBookContentImpl::read_data(data)?.to_dyn()) - } - DataComponent::WritableBookContent => { - Some(WritableBookContentImpl::read_data(data)?.to_dyn()) - } - DataComponent::OminousBottleAmplifier => { - Some(OminousBottleAmplifierImpl::read_data(data)?.to_dyn()) - } - DataComponent::BlockState => Some(BlockStateImpl::read_data(data)?.to_dyn()), - DataComponent::Profile => Some(ProfileImpl::read_data(data)?.to_dyn()), - _ => None, - } -} -// Also Pumpkin\pumpkin-protocol\src\codec\data_component.rs - -macro_rules! default_impl { - ($t: ident) => { - fn equal(&self, other: &dyn DataComponentImpl) -> bool { - self == get::(other) - } - #[inline] - fn get_enum() -> DataComponent - where - Self: Sized, - { - $t - } - fn get_self_enum(&self) -> DataComponent { - $t - } - fn to_dyn(self) -> Box { - Box::new(self) - } - fn clone_dyn(&self) -> Box { - Box::new(self.clone()) - } - fn as_any(&self) -> &dyn Any { - self - } - fn as_mut_any(&mut self) -> &mut dyn Any { - self - } - }; -} - -impl Clone for Box { - fn clone(&self) -> Self { - self.clone_dyn() - } -} - -#[inline] -pub fn get(value: &dyn DataComponentImpl) -> &T { - value.as_any().downcast_ref::().unwrap_or_else(|| { - panic!( - "you are trying to cast {} to {}", - value.get_self_enum().to_name(), - T::get_enum().to_name() - ) - }) -} -#[inline] -pub fn get_mut(value: &mut dyn DataComponentImpl) -> &mut T { - value.as_mut_any().downcast_mut::().unwrap() -} -#[derive(Clone, Debug, PartialEq)] -pub struct CustomDataImpl { - pub data: NbtCompound, -} -impl CustomDataImpl { - #[must_use] - pub fn read_data(data: &NbtTag) -> Option { - data.extract_compound() - .map(|data| Self { data: data.clone() }) - } -} -impl DataComponentImpl for CustomDataImpl { - fn write_data(&self) -> NbtTag { - NbtTag::Compound(self.data.clone()) - } - - default_impl!(CustomData); -} - -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct MaxStackSizeImpl { - pub size: u8, -} -impl MaxStackSizeImpl { - fn read_data(data: &NbtTag) -> Option { - data.extract_int().map(|size| Self { size: size as u8 }) - } -} -impl DataComponentImpl for MaxStackSizeImpl { - fn write_data(&self) -> NbtTag { - NbtTag::Int(i32::from(self.size)) - } - fn get_hash(&self) -> i32 { - get_i32_hash(i32::from(self.size)) as i32 - } - - default_impl!(MaxStackSize); -} -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct MaxDamageImpl { - pub max_damage: i32, -} -impl DataComponentImpl for MaxDamageImpl { - default_impl!(MaxDamage); -} -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct DamageImpl { - pub damage: i32, -} -impl DamageImpl { - fn read_data(data: &NbtTag) -> Option { - data.extract_int().map(|damage| Self { damage }) - } -} -impl DataComponentImpl for DamageImpl { - fn write_data(&self) -> NbtTag { - NbtTag::Int(self.damage) - } - fn get_hash(&self) -> i32 { - get_i32_hash(self.damage) as i32 - } - default_impl!(Damage); -} -#[derive(Clone, Hash, PartialEq, Eq)] -pub struct UnbreakableImpl; -impl UnbreakableImpl { - const fn read_data(_data: &NbtTag) -> Option { - Some(Self) - } -} -impl DataComponentImpl for UnbreakableImpl { - fn write_data(&self) -> NbtTag { - NbtTag::Compound(NbtCompound::new()) - } - fn get_hash(&self) -> i32 { - 0 - } - default_impl!(Unbreakable); -} -#[derive(Clone, Hash, PartialEq, Eq)] -pub struct CustomNameImpl { - pub name: TextComponent, -} -impl CustomNameImpl { - fn read_data(data: &NbtTag) -> Option { - data.extract_string().map(|name| Self { - name: TextComponent::text(name.to_string()), - }) - } -} -impl DataComponentImpl for CustomNameImpl { - fn write_data(&self) -> NbtTag { - NbtTag::String(self.name.clone().get_text().into()) - } - - fn get_hash(&self) -> i32 { - get_str_hash(self.name.clone().get_text().as_str()) as i32 - } - - default_impl!(CustomName); -} -#[derive(Clone, Hash, PartialEq, Eq)] -pub struct ItemNameImpl { - // TODO make TextComponent const - pub name: &'static str, -} -impl DataComponentImpl for ItemNameImpl { - default_impl!(ItemName); -} -#[derive(Clone, Hash, PartialEq, Eq)] -pub struct ItemModelImpl { - pub id: String, -} -impl ItemModelImpl { - fn read_data(data: &NbtTag) -> Option { - data.extract_string().map(|id| Self { - id: String::from(id), - }) - } -} -impl DataComponentImpl for ItemModelImpl { - fn write_data(&self) -> NbtTag { - NbtTag::String(self.id.clone().into()) - } - - fn get_hash(&self) -> i32 { - get_str_hash(self.id.as_str()) as i32 - } - - default_impl!(ItemModel); -} -#[derive(Clone, Hash, PartialEq, Eq)] -pub struct LoreImpl; -#[derive(Clone, Hash, PartialEq, Eq)] -pub struct RarityImpl; -#[derive(Clone, Hash, PartialEq, Eq, Default)] -pub struct EnchantmentsImpl { - pub enchantment: Cow<'static, [(&'static Enchantment, i32)]>, -} -impl EnchantmentsImpl { - fn read_data(data: &NbtTag) -> Option { - let data = &data.extract_compound()?.child_tags; - let mut enc = Vec::with_capacity(data.len()); - for (name, level) in data { - enc.push((Enchantment::from_name(name.as_ref())?, level.extract_int()?)); - } - Some(Self { - enchantment: Cow::from(enc), - }) - } -} - -fn get_str_hash(val: &str) -> u32 { - let mut digest = Digest::new(Crc32Iscsi); - digest.update(&[12u8]); - digest.update(&(val.len() as u32).to_le_bytes()); - let byte = val.as_bytes(); - for i in byte { - digest.update(&[*i, 0u8]); - } - digest.finalize() as u32 -} - -fn get_i32_hash(val: i32) -> u32 { - let mut digest = Digest::new(Crc32Iscsi); - digest.update(&[8u8]); - digest.update(&val.to_le_bytes()); - digest.finalize() as u32 -} - -fn get_f32_hash(val: f32) -> u32 { - let mut digest = Digest::new(Crc32Iscsi); - digest.update(&[7u8]); - digest.update(&val.to_bits().to_le_bytes()); - digest.finalize() as u32 -} - -fn get_idor_hash(val: &IdOr) -> u32 { - let mut digest = Digest::new(Crc32Iscsi); - digest.update(&[6u8]); - match val { - IdOr::Id(sound) => { - digest.update(&[1u8]); - digest.update(&get_str_hash(sound.to_name()).to_le_bytes()); - } - IdOr::Value(sound) => { - digest.update(&[2u8]); - digest.update(&get_str_hash(sound.sound_name.as_str()).to_le_bytes()); - if let Some(range) = sound.range { - digest.update(&[1u8]); - digest.update(&get_f32_hash(range).to_le_bytes()); - } else { - digest.update(&[0u8]); - } - } - } - digest.finalize() as u32 -} - -fn put_idor(nbt: &mut NbtCompound, key: &str, val: &IdOr) { - match val { - IdOr::Id(id) => nbt.put_string(key, format!("minecraft:{}", id.to_name())), - IdOr::Value(sound) => { - let mut sound_compound = NbtCompound::new(); - - sound_compound.put_string("sound_id", sound.sound_name.clone()); - if let Some(range) = sound.range { - sound_compound.put_float("range", range); - } - nbt.put(key, NbtTag::Compound(sound_compound)); - } - } -} - -fn get_idor(nbt: &NbtCompound, key: &str, default: Sound) -> IdOr { - if let Some(sound) = nbt.get_string(key) { - let sound = sound.strip_prefix("minecraft:").unwrap_or(sound); - IdOr::Id(Sound::from_name(sound).unwrap_or(default)) - } else if let Some(sound_compound) = nbt.get_compound(key) { - let sound_name = sound_compound - .get_string("sound_id") - .expect("SoundEvent compound must have a 'sound_id' field"); - let range = sound_compound.get_float("range"); - IdOr::Value(SoundEvent { - sound_name: sound_name.to_string(), - range, - }) - } else { - IdOr::Id(default) - } -} - -fn get_idset_hash(val: &IDSet) -> u32 { - let mut digest = Digest::new(Crc32Iscsi); - match val { - IDSet::Tag(tag) => { - digest.update(&[1u8]); - digest.update(&get_str_hash(tag).to_le_bytes()); - } - IDSet::IDs(ids) => { - digest.update(&[2u8]); - for id in ids.iter() { - digest.update(&[3u8]); - digest.update(&get_i32_hash(id.registry_id() as i32).to_le_bytes()); - } - } - } - digest.finalize() as u32 -} - -#[test] -fn hash() { - assert_eq!(get_str_hash("minecraft:sharpness"), 2734053906u32); - assert_eq!(get_i32_hash(3), 3795317917u32); - assert_eq!( - EnchantmentsImpl { - enchantment: Cow::Borrowed(&[(&Enchantment::SHARPNESS, 2)]), - } - .get_hash(), - -1580618251i32 - ); - assert_eq!(MaxStackSizeImpl { size: 99 }.get_hash(), -1632321551i32); - assert_eq!(MapIdImpl { id: 10 }.get_hash(), -919192125i32); -} - -impl DataComponentImpl for EnchantmentsImpl { - fn write_data(&self) -> NbtTag { - let mut data = NbtCompound::new(); - for (enc, level) in self.enchantment.iter() { - data.put_int(enc.name, *level); - } - NbtTag::Compound(data) - } - fn get_hash(&self) -> i32 { - let mut digest = Digest::new(Crc32Iscsi); - digest.update(&[2u8]); - for (enc, level) in self.enchantment.iter() { - digest.update(&get_str_hash(enc.name).to_le_bytes()); - digest.update(&get_i32_hash(*level).to_le_bytes()); - } - digest.update(&[3u8]); - digest.finalize() as i32 - } - default_impl!(Enchantments); -} -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct CanPlaceOnImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct CanBreakImpl; - -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] -pub enum Operation { - AddValue, - AddMultipliedBase, - AddMultipliedTotal, -} -#[derive(Clone, Debug, PartialEq)] -pub struct Modifier { - pub r#type: &'static Attributes, - pub id: &'static str, - pub amount: f64, - pub operation: Operation, - pub slot: AttributeModifierSlot, -} -impl Hash for Modifier { - fn hash(&self, state: &mut H) { - self.r#type.hash(state); - self.id.hash(state); - unsafe { (*(&raw const self.amount).cast::()).hash(state) }; - self.operation.hash(state); - self.slot.hash(state); - } -} -#[derive(Clone, Debug, Hash, PartialEq)] -pub struct AttributeModifiersImpl { - pub attribute_modifiers: Cow<'static, [Modifier]>, -} -impl DataComponentImpl for AttributeModifiersImpl { - default_impl!(AttributeModifiers); -} -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct CustomModelDataImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct TooltipDisplayImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct RepairCostImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct CreativeSlotLockImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct EnchantmentGlintOverrideImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct IntangibleProjectileImpl; -#[derive(Clone, Debug, PartialEq)] -pub struct FoodImpl { - pub nutrition: i32, - pub saturation: f32, - pub can_always_eat: bool, -} -impl DataComponentImpl for FoodImpl { - default_impl!(Food); -} -impl Hash for FoodImpl { - fn hash(&self, state: &mut H) { - self.nutrition.hash(state); - unsafe { (*(&raw const self.saturation).cast::()).hash(state) }; - self.can_always_eat.hash(state); - } -} - -#[derive(Clone, Debug, PartialEq)] -pub struct SoundEvent { - pub sound_name: String, - pub range: Option, -} - -impl Hash for SoundEvent { - fn hash(&self, state: &mut H) { - self.sound_name.hash(state); - if let Some(val) = self.range { - true.hash(state); - unsafe { (*(&raw const val).cast::()).hash(state) }; - } else { - false.hash(state); - } - } -} - -impl SoundEvent { - pub const fn new(sound_name: String, range: Option) -> Self { - Self { sound_name, range } - } -} -#[derive(Clone, Debug, PartialEq, Hash)] -pub enum IdOr { - Id(Sound), - Value(T), -} - -#[derive(Clone, Debug, PartialEq)] -pub struct ConsumableImpl { - pub consume_seconds: f32, - pub animation: ConsumeAnimation, - pub sound_event: IdOr, - pub consume_particles: bool, - pub effects: Cow<'static, [ConsumeEffect]>, -} -#[derive(Clone, Debug, PartialEq)] -pub enum ConsumeAnimation { - None, - Eat, - Drink, - Block, - Bow, - Spear, - Crossbow, - Spyglass, - Horn, - Brush, -} - -impl ConsumeAnimation { - #[must_use] - pub const fn to_str(&self) -> &'static str { - match self { - ConsumeAnimation::None => "none", - ConsumeAnimation::Eat => "eat", - ConsumeAnimation::Drink => "drink", - ConsumeAnimation::Block => "block", - ConsumeAnimation::Bow => "bow", - ConsumeAnimation::Spear => "spear", - ConsumeAnimation::Crossbow => "crossbow", - ConsumeAnimation::Spyglass => "spyglass", - ConsumeAnimation::Horn => "horn", - ConsumeAnimation::Brush => "brush", - } - } -} -impl TryFrom for ConsumeAnimation { - type Error = (); - - /// Attempts to convert an `i32` value into a [`ConsumeAnimation`]. - /// - /// # Parameters - /// - `value`: The numeric representation of a consume animation. - /// - /// # Returns - /// - `Ok(ConsumeAnimation)` if the value corresponds to a valid consume animation: - /// - `0` → `None` - /// - `1` → `Eat` - /// - `2` → `Drink` - /// - `3` → `Block` - /// - `4` → `Bow` - /// - `5` → `Spear` - /// - `6` → `Crossbow` - /// - `7` → `Spyglass` - /// - `8` → `Horn` - /// - `9` → `Brush` - /// - `Err(())` if the value does not correspond to any valid consume animation. - fn try_from(value: i32) -> Result { - match value { - 0 => Ok(Self::None), - 1 => Ok(Self::Eat), - 2 => Ok(Self::Drink), - 3 => Ok(Self::Block), - 4 => Ok(Self::Bow), - 5 => Ok(Self::Spear), - 6 => Ok(Self::Crossbow), - 7 => Ok(Self::Spyglass), - 8 => Ok(Self::Horn), - 9 => Ok(Self::Brush), - _ => Err(()), - } - } -} -impl FromStr for ConsumeAnimation { - type Err = (); - - fn from_str(s: &str) -> Result { - match s { - "none" => Ok(Self::None), - "eat" => Ok(Self::Eat), - "drink" => Ok(Self::Drink), - "block" => Ok(Self::Block), - "bow" => Ok(Self::Bow), - "spear" => Ok(Self::Spear), - "crossbow" => Ok(Self::Crossbow), - "spyglass" => Ok(Self::Spyglass), - "horn" => Ok(Self::Horn), - "brush" => Ok(Self::Brush), - _ => Err(()), - } - } -} - -impl ConsumableImpl { - pub const fn new( - consume_seconds: f32, - animation: ConsumeAnimation, - sound_event: IdOr, - consume_particles: bool, - effects: Cow<'static, [ConsumeEffect]>, - ) -> Self { - Self { - consume_seconds, - animation, - sound_event, - consume_particles, - effects, - } - } - #[must_use] - pub fn consume_ticks(&self) -> i32 { - (self.consume_seconds * 20.0) as i32 - } - - pub fn read_data(data: &NbtTag) -> Option { - let compound = data.extract_compound()?; - let consume_seconds = compound.get_float("consume_seconds")?; - let animation = compound - .get_string("animation")? - .parse::() - .ok()?; - let sound_event = get_idor(compound, "sound", Sound::EntityGenericEat); // Default to generic eat sound if the sound name is invalid - let consume_particles = compound.get_bool("has_consume_particles").unwrap_or(false); - let opt_list = compound.get_list("on_consume_effects"); - - let effects: Cow<'static, [ConsumeEffect]> = if let Some(effect_list) = opt_list { - effect_list - .iter() - .filter_map(ConsumeEffect::read_data) - .collect() - } else { - Cow::Borrowed(&[]) - }; - - Some(Self { - consume_seconds, - animation, - sound_event, - consume_particles, - effects, - }) - } -} -impl DataComponentImpl for ConsumableImpl { - fn write_data(&self) -> NbtTag { - let mut compound = NbtCompound::new(); - compound.put_float("consume_seconds", self.consume_seconds); - compound.put_string("animation", self.animation.to_str().to_string()); - put_idor(&mut compound, "sound", &self.sound_event); - compound.put_bool("has_consume_particles", self.consume_particles); - - let nbt_vec = self.effects.iter().map(|x| x.as_nbt()).collect(); - compound.put_list("on_consume_effects", nbt_vec); - NbtTag::Compound(compound) - } - - fn get_hash(&self) -> i32 { - let mut digest = Digest::new(Crc32Iscsi); - digest.update(&[2u8]); - digest.update(&get_f32_hash(self.consume_seconds).to_le_bytes()); - digest.update(&get_i32_hash(self.animation.clone() as i32).to_le_bytes()); - digest.update(&get_idor_hash(&self.sound_event).to_be_bytes()); - digest.update(&[self.consume_particles as u8]); - for effect in self.effects.iter() { - digest.update(&effect.get_hash().to_le_bytes()); - } - digest.update(&[3u8]); - digest.finalize() as i32 - } - - default_impl!(Consumable); -} - -impl Hash for ConsumableImpl { - fn hash(&self, state: &mut H) { - unsafe { (*(&raw const self.consume_seconds).cast::()).hash(state) }; - } -} -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct UseRemainderImpl; -#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] -pub struct UseCooldownImpl { - pub seconds: f32, - pub cooldown_group: Option, -} - -impl UseCooldownImpl { - pub fn new(seconds: f32, cooldown_group: Option) -> Self { - Self { - seconds, - cooldown_group, - } - } - - pub fn read_data(data: &NbtTag) -> Option { - let compound = data.extract_compound()?; - let seconds = compound.get_float("seconds")?; - let cooldown_group = compound.get_string("cooldown_group").map(|s| s.to_string()); - Some(Self { - seconds, - cooldown_group, - }) - } -} - -impl DataComponentImpl for UseCooldownImpl { - fn write_data(&self) -> NbtTag { - let mut compound = NbtCompound::new(); - compound.put_float("seconds", self.seconds); - if let Some(group) = &self.cooldown_group { - compound.put_string("cooldown_group", group.clone()); - } - NbtTag::Compound(compound) - } - - fn get_hash(&self) -> i32 { - let mut digest = Digest::new(Crc32Iscsi); - digest.update(&get_f32_hash(self.seconds).to_le_bytes()); - if let Some(group) = &self.cooldown_group { - digest.update(&get_str_hash(group).to_le_bytes()); - } - digest.finalize() as i32 - } - - default_impl!(UseCooldown); -} - -impl Eq for UseCooldownImpl {} - -impl Hash for UseCooldownImpl { - fn hash(&self, state: &mut H) { - self.seconds.to_bits().hash(state); - self.cooldown_group.hash(state); - } -} -#[derive(Clone, Copy, Debug, Hash, PartialEq, Eq)] -pub enum DamageResistantType { - /// Damage always dealt to ender dragons - AlwaysHurtsEnderDragons, - /// Destroys armor stands in a single hit - AlwaysKillsArmorStands, - AlwaysMostSignificantFall, - /// Damage always notifies nearby hidden silverfish - AlwaysTriggersSilverfish, - AvoidsGuardianThorns, - BurnsArmorStands, - BurnFromStepping, - BypassesArmor, - BypassesCooldown, - BypassesEffects, - BypassesEnchantments, - BypassesInvulnerability, - BypassesResistance, - BypassesShield, - BypassesWolfArmor, - CanBreakArmorStands, - DamagesHelmet, - IgnitesArmorStands, - Drowning, - /// Damage is reduced by the blast protection enchantment - Explosion, - /// Damage is reduced by the feather falling enchantment and ignored if slow falling - Fall, - /// Damage is reduced by the fire protection enchantment or ignored by game rule - Fire, - /// Damage is reduced by wearing any piece of leather armor or ignored by game rule - Freezing, - /// So turtles drop bowls when killed by lightning - Lightning, - PlayerAttack, - /// Damage is reduced by the projectile protection enchantment - Projectile, - MaceSmash, - /// Prevents entities from becoming angry at the source of the damage - NoAnger, - /// Prevents entities from being marked hurt (preventing the server from syncing velocity) - NoImpact, - NoKnockback, - PanicCauses, - PanicEnvironmentalCauses, - /// Reduces damage dealt to witches by 85% - WitchResistantTo, - WitherImmuneTo, - /// Generic fallback - Generic, -} - -impl DamageResistantType { - pub fn from_tag(s: &str) -> Self { - match s { - "#minecraft:always_hurts_ender_dragons" - | "minecraft:always_hurts_ender_dragons" - | "always_hurts_ender_dragons" => Self::AlwaysHurtsEnderDragons, - "#minecraft:always_kills_armor_stands" - | "minecraft:always_kills_armor_stands" - | "always_kills_armor_stands" => Self::AlwaysKillsArmorStands, - "#minecraft:always_most_significant_fall" - | "minecraft:always_most_significant_fall" - | "always_most_significant_fall" => Self::AlwaysMostSignificantFall, - "#minecraft:always_triggers_silverfish" - | "minecraft:always_triggers_silverfish" - | "always_triggers_silverfish" => Self::AlwaysTriggersSilverfish, - "#minecraft:avoids_guardian_thorns" - | "minecraft:avoids_guardian_thorns" - | "avoids_guardian_thorns" => Self::AvoidsGuardianThorns, - "#minecraft:burns_armor_stands" - | "minecraft:burns_armor_stands" - | "burns_armor_stands" => Self::BurnsArmorStands, - "#minecraft:burn_from_stepping" - | "minecraft:burn_from_stepping" - | "burn_from_stepping" => Self::BurnFromStepping, - "#minecraft:bypasses_armor" | "minecraft:bypasses_armor" | "bypasses_armor" => { - Self::BypassesArmor - } - "#minecraft:bypasses_cooldown" - | "minecraft:bypasses_cooldown" - | "bypasses_cooldown" => Self::BypassesCooldown, - "#minecraft:bypasses_effects" | "minecraft:bypasses_effects" | "bypasses_effects" => { - Self::BypassesEffects - } - "#minecraft:bypasses_enchantments" - | "minecraft:bypasses_enchantments" - | "bypasses_enchantments" => Self::BypassesEnchantments, - "#minecraft:bypasses_invulnerability" - | "minecraft:bypasses_invulnerability" - | "bypasses_invulnerability" => Self::BypassesInvulnerability, - "#minecraft:bypasses_resistance" - | "minecraft:bypasses_resistance" - | "bypasses_resistance" => Self::BypassesResistance, - "#minecraft:bypasses_shield" | "minecraft:bypasses_shield" | "bypasses_shield" => { - Self::BypassesShield - } - "#minecraft:bypasses_wolf_armor" - | "minecraft:bypasses_wolf_armor" - | "bypasses_wolf_armor" => Self::BypassesWolfArmor, - "#minecraft:can_break_armor_stand" - | "minecraft:can_break_armor_stand" - | "can_break_armor_stand" => Self::CanBreakArmorStands, - "#minecraft:damages_helmet" | "minecraft:damages_helmet" | "damages_helmet" => { - Self::DamagesHelmet - } - "#minecraft:ignites_armor_stands" - | "minecraft:ignites_armor_stands" - | "ignites_armor_stands" => Self::IgnitesArmorStands, - "#minecraft:is_drowning" | "minecraft:is_drowning" | "is_drowning" => Self::Drowning, - "#minecraft:is_explosion" | "minecraft:is_explosion" | "is_explosion" | "explosion" => { - Self::Explosion - } - "#minecraft:is_fall" | "minecraft:is_fall" | "is_fall" | "fall" => Self::Fall, - "#minecraft:is_fire" | "minecraft:is_fire" | "is_fire" | "fire" | "in_fire" - | "minecraft:in_fire" => Self::Fire, - "#minecraft:is_freezing" | "minecraft:is_freezing" | "is_freezing" => Self::Freezing, - "#minecraft:is_lightning" | "minecraft:is_lightning" | "is_lightning" => { - Self::Lightning - } - "#minecraft:is_player_attack" | "minecraft:is_player_attack" | "is_player_attack" => { - Self::PlayerAttack - } - "#minecraft:is_projectile" | "minecraft:is_projectile" | "is_projectile" => { - Self::Projectile - } - "#minecraft:mace_smash" | "minecraft:mace_smash" | "mace_smash" => Self::MaceSmash, - "#minecraft:no_anger" | "minecraft:no_anger" | "no_anger" => Self::NoAnger, - "#minecraft:no_impact" | "minecraft:no_impact" | "no_impact" => Self::NoImpact, - "#minecraft:no_knockback" | "minecraft:no_knockback" | "no_knockback" => { - Self::NoKnockback - } - "#minecraft:panic_causes" | "minecraft:panic_causes" | "panic_causes" => { - Self::PanicCauses - } - "#minecraft:panic_environmental_causes" - | "minecraft:panic_environmental_causes" - | "panic_environmental_causes" => Self::PanicEnvironmentalCauses, - "#minecraft:witch_resistant_to" - | "minecraft:witch_resistant_to" - | "witch_resistant_to" => Self::WitchResistantTo, - "#minecraft:wither_immune_to" | "minecraft:wither_immune_to" | "wither_immune_to" => { - Self::WitherImmuneTo - } - _ => Self::Generic, - } - } - - pub fn as_str(&self) -> &'static str { - match self { - Self::AlwaysHurtsEnderDragons => "#minecraft:always_hurts_ender_dragons", - Self::AlwaysKillsArmorStands => "#minecraft:always_kills_armor_stands", - Self::AlwaysMostSignificantFall => "#minecraft:always_most_significant_fall", - Self::AlwaysTriggersSilverfish => "#minecraft:always_triggers_silverfish", - Self::AvoidsGuardianThorns => "#minecraft:avoids_guardian_thorns", - Self::BurnsArmorStands => "#minecraft:burns_armor_stands", - Self::BurnFromStepping => "#minecraft:burn_from_stepping", - Self::BypassesArmor => "#minecraft:bypasses_armor", - Self::BypassesCooldown => "#minecraft:bypasses_cooldown", - Self::BypassesEffects => "#minecraft:bypasses_effects", - Self::BypassesEnchantments => "#minecraft:bypasses_enchantments", - Self::BypassesInvulnerability => "#minecraft:bypasses_invulnerability", - Self::BypassesResistance => "#minecraft:bypasses_resistance", - Self::BypassesShield => "#minecraft:bypasses_shield", - Self::BypassesWolfArmor => "#minecraft:bypasses_wolf_armor", - Self::CanBreakArmorStands => "#minecraft:can_break_armor_stand", - Self::DamagesHelmet => "#minecraft:damages_helmet", - Self::IgnitesArmorStands => "#minecraft:ignites_armor_stands", - Self::Drowning => "#minecraft:is_drowning", - Self::Explosion => "#minecraft:is_explosion", - Self::Fall => "#minecraft:is_fall", - Self::Fire => "#minecraft:is_fire", - Self::Freezing => "#minecraft:is_freezing", - Self::Lightning => "#minecraft:is_lightning", - Self::PlayerAttack => "#minecraft:is_player_attack", - Self::Projectile => "#minecraft:is_projectile", - Self::MaceSmash => "#minecraft:mace_smash", - Self::NoAnger => "#minecraft:no_anger", - Self::NoImpact => "#minecraft:no_impact", - Self::NoKnockback => "#minecraft:no_knockback", - Self::PanicCauses => "#minecraft:panic_causes", - Self::PanicEnvironmentalCauses => "#minecraft:panic_environmental_causes", - Self::WitchResistantTo => "#minecraft:witch_resistant_to", - Self::WitherImmuneTo => "#minecraft:wither_immune_to", - Self::Generic => "minecraft:generic", - } - } -} - -#[derive(Clone, Copy, Debug, Hash, PartialEq, Eq)] -pub struct DamageResistantImpl { - pub res_type: DamageResistantType, -} - -impl DamageResistantImpl { - fn read_data(data: &NbtTag) -> Option { - let compound = data.extract_compound()?; - let type_str = compound.get_string("types")?; - - Some(Self { - res_type: DamageResistantType::from_tag(type_str), - }) - } -} - -impl std::str::FromStr for DamageResistantType { - type Err = (); - - fn from_str(s: &str) -> Result { - Ok(DamageResistantType::from_tag(s)) - } -} - -impl DataComponentImpl for DamageResistantImpl { - fn write_data(&self) -> NbtTag { - let mut compound = NbtCompound::new(); - compound.put_string("types", self.res_type.as_str().to_string()); - NbtTag::Compound(compound) - } - - fn get_hash(&self) -> i32 { - get_str_hash(self.res_type.as_str()) as i32 - } - - default_impl!(DamageResistant); -} - -pub trait IDSetContent { - fn registry_id(&self) -> u16; - fn to_string(&self) -> String; - fn from_id(id: u16) -> Option<&'static Self>; - fn from_str(name: &str) -> Option<&'static Self>; -} - -impl IDSetContent for Block { - fn registry_id(&self) -> u16 { - Taggable::registry_id(self) - } - - fn from_id(id: u16) -> Option<&'static Self> { - BlockId::new(id).map(Self::from_id) - } - - fn from_str(name: &str) -> Option<&'static Self> { - Block::from_name(name) - } - - fn to_string(&self) -> String { - self.name.to_string() - } -} - -#[derive(Clone, Hash, PartialEq, Debug)] -pub enum IDSet { - Tag(Cow<'static, str>), - IDs(Cow<'static, [&'static T]>), -} - -impl IDSet { - fn read(data: &NbtTag) -> Option { - match data.clone() { - NbtTag::String(tag) => { - if tag.starts_with("#") { - Some(Self::Tag(Cow::Owned(tag.strip_prefix("#")?.to_string()))) - } else { - Some(Self::IDs(Cow::Owned([T::from_str(tag.as_ref())?].to_vec()))) - } - } - NbtTag::List(nbt_tags) => { - let mut ids = Vec::<&T>::new(); - for nbt in nbt_tags { - if let NbtTag::String(id) = nbt - && let Some(instance) = T::from_str(id.as_ref()) - { - ids.push(instance); - } - } - Some(Self::IDs(Cow::Owned(ids))) - } - _ => None, - } - } - - fn write(&self, compound: &mut NbtCompound, key: &str) { - match self { - Self::Tag(cow) => { - let mut tag = cow.to_string(); - tag.insert(0, '#'); - compound.put_string(key, tag); - } - Self::IDs(arr) => { - let id_vec: Vec = arr - .iter() - .map(|x| NbtTag::String(x.to_string().into())) - .collect(); - compound.put_list(key, id_vec); - } - } - } -} - -#[derive(Clone, PartialEq)] -pub struct ToolRule { - pub blocks: IDSet, - pub speed: Option, - pub correct_for_drops: Option, -} -impl Hash for ToolRule { - fn hash(&self, state: &mut H) { - self.blocks.hash(state); - if let Some(val) = self.speed { - true.hash(state); - unsafe { (*(&raw const val).cast::()).hash(state) }; - } else { - false.hash(state); - } - self.correct_for_drops.hash(state); - } -} -#[derive(Clone, PartialEq)] -pub struct ToolImpl { - pub rules: Cow<'static, [ToolRule]>, - pub default_mining_speed: f32, - pub damage_per_block: u32, - pub can_destroy_blocks_in_creative: bool, -} -impl DataComponentImpl for ToolImpl { - default_impl!(Tool); -} -impl Hash for ToolImpl { - fn hash(&self, state: &mut H) { - self.rules.hash(state); - unsafe { (*(&raw const self.default_mining_speed).cast::()).hash(state) }; - self.damage_per_block.hash(state); - self.can_destroy_blocks_in_creative.hash(state); - } -} -/// Weapon component: specifies durability cost per attack. -/// NOTE: If additional fields are added, update `get_hash()` to include them. -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct WeaponImpl { - pub item_damage_per_attack: u32, -} -impl WeaponImpl { - fn read_data(data: &NbtTag) -> Option { - let compound = data.extract_compound()?; - // NOTE: Error handling for item_damage_per_attack: - // - Missing key: defaults to 1 (vanilla behavior for unmodified items). - // - Wrong NBT type (e.g. float instead of int): silently defaults to 1. - // - Negative value: clamped to 0 then cast to u32 (protects against direct NBT manipulation). - // This conservative approach prioritizes safety over strict validation. - // TODO: Add tracing::warn! at the call site (in pumpkin crate where tracing is available) - // to help datapack authors debug negative values or type mismatches. - let item_damage_per_attack = compound - .get_int("item_damage_per_attack") - .unwrap_or(1) - .max(0) as u32; - // TODO: Deserialize disable_blocking_for_seconds once NBT float API is clarified. - // For now, preserve it by storing the raw compound for round-trip fidelity. - Some(Self { - item_damage_per_attack, - }) - } -} -impl DataComponentImpl for WeaponImpl { - fn write_data(&self) -> NbtTag { - let mut compound = NbtCompound::new(); - compound.put_int("item_damage_per_attack", self.item_damage_per_attack as i32); - NbtTag::Compound(compound) - } - fn get_hash(&self) -> i32 { - self.item_damage_per_attack as i32 - } - default_impl!(Weapon); -} - -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] -pub enum EquipmentType { - Hand, - HumanoidArmor, - AnimalArmor, - Saddle, -} - -#[derive(Clone, Hash, Eq, PartialEq)] -pub struct EquipmentSlotData { - pub slot_type: EquipmentType, - pub entity_id: i32, - pub max_count: i32, - pub index: i32, - pub name: Cow<'static, str>, -} - -#[derive(Clone, Hash, Eq, PartialEq)] -#[repr(i8)] -pub enum EquipmentSlot { - MainHand(EquipmentSlotData), - OffHand(EquipmentSlotData), - Feet(EquipmentSlotData), - Legs(EquipmentSlotData), - Chest(EquipmentSlotData), - Head(EquipmentSlotData), - Body(EquipmentSlotData), - Saddle(EquipmentSlotData), -} - -impl EquipmentSlot { - pub const MAIN_HAND: Self = Self::MainHand(EquipmentSlotData { - slot_type: EquipmentType::Hand, - entity_id: 0, - index: 0, - max_count: 0, - name: Cow::Borrowed("mainhand"), - }); - pub const OFF_HAND: Self = Self::OffHand(EquipmentSlotData { - slot_type: EquipmentType::Hand, - entity_id: 1, - index: 5, - max_count: 0, - name: Cow::Borrowed("offhand"), - }); - pub const FEET: Self = Self::Feet(EquipmentSlotData { - slot_type: EquipmentType::HumanoidArmor, - entity_id: 0, - index: 1, - max_count: 1, - name: Cow::Borrowed("feet"), - }); - pub const LEGS: Self = Self::Legs(EquipmentSlotData { - slot_type: EquipmentType::HumanoidArmor, - entity_id: 1, - index: 2, - max_count: 1, - name: Cow::Borrowed("legs"), - }); - pub const CHEST: Self = Self::Chest(EquipmentSlotData { - slot_type: EquipmentType::HumanoidArmor, - entity_id: 2, - index: 3, - max_count: 1, - name: Cow::Borrowed("chest"), - }); - pub const HEAD: Self = Self::Head(EquipmentSlotData { - slot_type: EquipmentType::HumanoidArmor, - entity_id: 3, - index: 4, - max_count: 1, - name: Cow::Borrowed("head"), - }); - pub const BODY: Self = Self::Body(EquipmentSlotData { - slot_type: EquipmentType::AnimalArmor, - entity_id: 0, - index: 6, - max_count: 1, - name: Cow::Borrowed("body"), - }); - pub const SADDLE: Self = Self::Saddle(EquipmentSlotData { - slot_type: EquipmentType::Saddle, - entity_id: 0, - index: 7, - max_count: 1, - name: Cow::Borrowed("saddle"), - }); - - #[must_use] - pub const fn get_entity_slot_id(&self) -> i32 { - match self { - Self::MainHand(data) => data.entity_id, - Self::OffHand(data) => data.entity_id, - Self::Feet(data) => data.entity_id, - Self::Legs(data) => data.entity_id, - Self::Chest(data) => data.entity_id, - Self::Head(data) => data.entity_id, - Self::Body(data) => data.entity_id, - Self::Saddle(data) => data.entity_id, - } - } - - #[must_use] - pub const fn get_slot_index(&self) -> i32 { - match self { - Self::MainHand(data) => data.index, - Self::OffHand(data) => data.index, - Self::Feet(data) => data.index, - Self::Legs(data) => data.index, - Self::Chest(data) => data.index, - Self::Head(data) => data.index, - Self::Body(data) => data.index, - Self::Saddle(data) => data.index, - } - } - - #[must_use] - pub fn from_slot_index(name: i32) -> Option<&'static Self> { - match name { - 0 => Some(&Self::MAIN_HAND), - 1 => Some(&Self::FEET), - 2 => Some(&Self::LEGS), - 3 => Some(&Self::CHEST), - 4 => Some(&Self::HEAD), - 5 => Some(&Self::OFF_HAND), - 6 => Some(&Self::BODY), - 7 => Some(&Self::SADDLE), - _ => None, - } - } - - #[must_use] - pub fn get_from_name(name: &str) -> Option<&'static Self> { - match name { - "mainhand" => Some(&Self::MAIN_HAND), - "offhand" => Some(&Self::OFF_HAND), - "feet" => Some(&Self::FEET), - "legs" => Some(&Self::LEGS), - "chest" => Some(&Self::CHEST), - "head" => Some(&Self::HEAD), - "body" => Some(&Self::BODY), - "saddle" => Some(&Self::SADDLE), - _ => None, - } - } - - #[must_use] - pub fn to_name(&self) -> &Cow<'static, str> { - match self { - Self::MainHand(data) => &data.name, - Self::OffHand(data) => &data.name, - Self::Feet(data) => &data.name, - Self::Legs(data) => &data.name, - Self::Chest(data) => &data.name, - Self::Head(data) => &data.name, - Self::Body(data) => &data.name, - Self::Saddle(data) => &data.name, - } - } - - #[must_use] - pub const fn get_offset_entity_slot_id(&self, offset: i32) -> i32 { - self.get_entity_slot_id() + offset - } - - #[must_use] - pub const fn slot_type(&self) -> EquipmentType { - match self { - Self::MainHand(data) => data.slot_type, - Self::OffHand(data) => data.slot_type, - Self::Feet(data) => data.slot_type, - Self::Legs(data) => data.slot_type, - Self::Chest(data) => data.slot_type, - Self::Head(data) => data.slot_type, - Self::Body(data) => data.slot_type, - Self::Saddle(data) => data.slot_type, - } - } - - #[must_use] - pub const fn is_armor_slot(&self) -> bool { - matches!( - self.slot_type(), - EquipmentType::HumanoidArmor | EquipmentType::AnimalArmor - ) - } - - #[must_use] - pub const fn discriminant(&self) -> i8 { - match self { - Self::MainHand(_) => 0, - Self::OffHand(_) => 1, - Self::Feet(_) => 2, - Self::Legs(_) => 3, - Self::Chest(_) => 4, - Self::Head(_) => 5, - Self::Body(_) => 6, - Self::Saddle(_) => 7, - } - } -} - -#[derive(Clone, PartialEq, Eq)] -pub enum EntityTypeOrTag { - Tag(&'static Tag), - Single(&'static EntityType), -} - -impl Hash for EntityTypeOrTag { - fn hash(&self, state: &mut H) { - match self { - Self::Tag(tag) => { - for x in tag.0 { - x.hash(state); - } - } - Self::Single(entity_type) => { - entity_type.id.hash(state); - } - } - } -} - -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct EnchantableImpl { - pub value: i32, -} -impl DataComponentImpl for EnchantableImpl { - default_impl!(Enchantable); -} -#[derive(Clone, Hash, PartialEq)] -pub struct EquippableImpl { - pub slot: &'static EquipmentSlot, - pub equip_sound: IdOr, - pub asset_id: Option>, - pub camera_overlay: Option>, - pub allowed_entities: Option>, - pub dispensable: bool, - pub swappable: bool, - pub damage_on_hurt: bool, - pub equip_on_interact: bool, - pub can_be_sheared: bool, - pub shearing_sound: IdOr, -} - -impl EquippableImpl { - pub fn read_data(data: &NbtTag) -> Option { - let compound = data.extract_compound()?; - - let slot = EquipmentSlot::get_from_name(compound.get_string("slot")?)?; - - let asset_id = compound - .get_string("asset_id") - .map(|str| Cow::Owned(str.to_owned())); - let camera_overlay = compound - .get_string("camera_overlay") - .map(|str| Cow::Owned(str.to_owned())); - - let dispensable = compound.get_bool("dispensable").unwrap_or(true); - let swappable = compound.get_bool("swappable").unwrap_or(true); - let damage_on_hurt = compound.get_bool("damage_on_hurt").unwrap_or(true); - let equip_on_interact = compound.get_bool("equip_on_interact").unwrap_or(false); - let can_be_sheared = compound.get_bool("can_be_sheared").unwrap_or(false); - - let equip_sound = get_idor(compound, "equip_sound", Sound::ItemArmorEquipGeneric); - let shearing_sound = get_idor(compound, "shearing_sound_sound", Sound::ItemShearsSnip); - - let allowed_entities = if let Some(nbt) = compound.get("allowed_entities") { - IDSet::::read(nbt) - } else { - None - }; - - Some(Self { - slot, - equip_sound, - asset_id, - camera_overlay, - allowed_entities, - dispensable, - swappable, - damage_on_hurt, - equip_on_interact, - can_be_sheared, - shearing_sound, - }) - } -} -impl DataComponentImpl for EquippableImpl { - fn get_hash(&self) -> i32 { - let mut digest = Digest::new(Crc32Iscsi); - digest.update(&[16u8]); // is it used? - digest.update(&get_i32_hash(self.slot.get_slot_index()).to_le_bytes()); - digest.update(&get_idor_hash(&self.equip_sound).to_le_bytes()); - - if let Some(asset) = &self.asset_id { - digest.update(&[1u8]); - digest.update(&get_str_hash(asset).to_le_bytes()); - } - if let Some(overlay) = &self.camera_overlay { - digest.update(&[2u8]); - digest.update(&get_str_hash(overlay).to_le_bytes()); - } - if let Some(allowed_entities) = &self.allowed_entities { - digest.update(&[3u8]); - digest.update(&get_idset_hash(allowed_entities).to_le_bytes()); - } - - digest.update(&[self.dispensable as u8]); - digest.update(&[self.swappable as u8]); - digest.update(&[self.damage_on_hurt as u8]); - digest.update(&[self.equip_on_interact as u8]); - digest.update(&[self.can_be_sheared as u8]); - - digest.update(&get_idor_hash(&self.shearing_sound).to_le_bytes()); - digest.finalize() as i32 - } - - fn write_data(&self) -> NbtTag { - let mut compound = NbtCompound::new(); - - compound.put_string("slot", self.slot.to_name().to_string()); - put_idor(&mut compound, "equip_sound", &self.equip_sound); - put_idor(&mut compound, "shearing_sound", &self.shearing_sound); - if let Some(asset_id) = &self.asset_id { - compound.put_string("asset_id", asset_id.to_string()); - } - if let Some(camera_overlay) = &self.camera_overlay { - compound.put_string("camera_overlay", camera_overlay.to_string()); - } - if let Some(allowed_entities) = &self.allowed_entities { - allowed_entities.write(&mut compound, "allowed_entities"); - } - compound.put_bool("dispensable", self.dispensable); - compound.put_bool("swappable", self.swappable); - compound.put_bool("damage_on_hurt", self.damage_on_hurt); - compound.put_bool("equip_on_interact", self.equip_on_interact); - compound.put_bool("can_be_sheared", self.can_be_sheared); - - NbtTag::Compound(compound) - } - default_impl!(Equippable); -} -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct RepairableImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct GliderImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct TooltipStyleImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct DeathProtectionImpl; -impl DataComponentImpl for DeathProtectionImpl { - default_impl!(DeathProtection); -} -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct BlocksAttacksImpl; - -impl DataComponentImpl for BlocksAttacksImpl { - default_impl!(BlocksAttacks); -} -#[derive(Clone, Hash, PartialEq, Eq)] -pub struct StoredEnchantmentsImpl { - pub enchantment: Cow<'static, [(&'static Enchantment, i32)]>, -} - -impl StoredEnchantmentsImpl { - fn read_data(data: &NbtTag) -> Option { - let data = &data.extract_compound()?.child_tags; - let mut enc = Vec::with_capacity(data.len()); - for (name, level) in data { - enc.push((Enchantment::from_name(name.as_ref())?, level.extract_int()?)); - } - Some(Self { - enchantment: Cow::from(enc), - }) - } -} -impl DataComponentImpl for StoredEnchantmentsImpl { - fn write_data(&self) -> NbtTag { - let mut data = NbtCompound::new(); - for (enc, level) in self.enchantment.iter() { - data.put_int(enc.name, *level); - } - NbtTag::Compound(data) - } - fn get_hash(&self) -> i32 { - let mut digest = Digest::new(Crc32Iscsi); - digest.update(&[2u8]); - for (enc, level) in self.enchantment.iter() { - digest.update(&get_str_hash(enc.name).to_le_bytes()); - digest.update(&get_i32_hash(*level).to_le_bytes()); - } - digest.update(&[3u8]); - digest.finalize() as i32 - } - - default_impl!(StoredEnchantments); -} - -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct DyedColorImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct MapColorImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct MapIdImpl { - pub id: i32, -} - -impl MapIdImpl { - fn read_data(data: &NbtTag) -> Option { - data.extract_int().map(|id| Self { id }) - } -} - -impl DataComponentImpl for MapIdImpl { - fn write_data(&self) -> NbtTag { - NbtTag::Int(self.id) - } - - fn get_hash(&self) -> i32 { - get_i32_hash(self.id) as i32 - } - - default_impl!(MapId); -} -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct MapDecorationsImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct MapPostProcessingImpl; -#[derive(Clone, Debug, PartialEq)] -pub struct ChargedProjectilesImpl { - pub projectiles: Vec, -} - -impl ChargedProjectilesImpl { - fn read_data(data: &NbtTag) -> Option { - let list = data.extract_list()?; - let mut projectiles = Vec::new(); - for item in list { - projectiles.push(item.extract_compound()?.clone()); - } - Some(Self { projectiles }) - } -} - -impl DataComponentImpl for ChargedProjectilesImpl { - fn write_data(&self) -> NbtTag { - let mut list = Vec::new(); - for item in &self.projectiles { - list.push(NbtTag::Compound(item.clone())); - } - NbtTag::List(list) - } - - fn get_hash(&self) -> i32 { - 0 - } - - default_impl!(ChargedProjectiles); -} - -#[derive(Clone)] -pub struct BundleContentsImpl { - pub items: Vec, -} -impl PartialEq for BundleContentsImpl { - fn eq(&self, _other: &Self) -> bool { - false - } -} -impl Eq for BundleContentsImpl {} -impl std::fmt::Debug for BundleContentsImpl { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "BundleContentsImpl") - } -} -impl BundleContentsImpl { - pub fn read_data(tag: &NbtTag) -> Option { - let mut items = Vec::new(); - if let NbtTag::List(l) = tag { - for item_tag in l { - if let NbtTag::Compound(c) = item_tag - && let Some(stack) = crate::item_stack::ItemStack::read_item_stack(c) - { - items.push(stack); - } - } - } - Some(Self { items }) - } - - pub fn get_weight(&self) -> u32 { - self.items - .iter() - .map(|item| item.item_count as u32 * (64 / item.get_max_stack_size() as u32).max(1)) - .sum() - } - - pub fn try_insert(&mut self, stack: &mut crate::item_stack::ItemStack) -> bool { - if stack.is_empty() || stack.get_data_component::().is_some() { - return false; // Can't put bundles in bundles - } - let weight_per_item = (64 / stack.get_max_stack_size() as u32).max(1); - let mut inserted_anything = false; - - while stack.item_count > 0 && self.get_weight() + weight_per_item <= 64 { - if let Some(top) = self.items.first_mut() - && crate::item_stack::ItemStack::are_items_and_components_equal(top, stack) - && top.item_count < top.get_max_stack_size() - { - top.item_count += 1; - stack.item_count -= 1; - inserted_anything = true; - continue; - } - self.items.insert(0, stack.copy_with_count(1)); - stack.item_count -= 1; - inserted_anything = true; - } - - inserted_anything - } - - pub fn try_extract(&mut self) -> Option { - if self.items.is_empty() { - None - } else { - Some(self.items.remove(0)) - } - } -} -impl DataComponentImpl for BundleContentsImpl { - default_impl!(BundleContents); -} -/// Status effect instance for potion contents -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct StatusEffectInstance { - pub effect_id: Cow<'static, str>, - pub amplifier: i32, - pub duration: i32, - pub ambient: bool, - pub show_particles: bool, - pub show_icon: bool, -} - -impl StatusEffectInstance { - pub fn read_data(nbt: &NbtTag) -> Option { - let compound = nbt.extract_compound()?; - - let effect_id = Cow::Owned(compound.get_string("id")?.to_string()); - let amplifier = compound.get_int("amplifier")?; - let duration = compound.get_int("duration")?; - let ambient = compound.get_bool("ambient")?; - let show_particles = compound.get_bool("show_particles")?; - let show_icon = compound.get_bool("show_icon")?; - - Some(Self { - effect_id, - amplifier, - duration, - ambient, - show_particles, - show_icon, - }) - } - - pub fn as_nbt(&self) -> NbtTag { - let mut compound = NbtCompound::new(); - - compound.put_string("id", self.effect_id.to_string()); - compound.put_int("amplifier", self.amplifier); - compound.put_int("duration", self.duration); - compound.put_bool("ambient", self.ambient); - compound.put_bool("show_particles", self.show_particles); - compound.put_bool("show_icon", self.show_icon); - - NbtTag::Compound(compound) - } - - pub fn get_hash(&self) -> i32 { - let mut digest = Digest::new(Crc32Iscsi); - - digest.update(&get_str_hash(self.effect_id.as_ref()).to_le_bytes()); - digest.update(&get_i32_hash(self.amplifier).to_le_bytes()); - digest.update(&get_i32_hash(self.duration).to_le_bytes()); - digest.update(&[self.ambient as u8]); - digest.update(&[self.show_particles as u8]); - digest.update(&[self.show_icon as u8]); - - digest.finalize() as i32 - } -} - -impl Hash for ConsumeEffect { - fn hash(&self, state: &mut H) { - self.to_str().hash(state); - match self { - ConsumeEffect::ApplyEffects(tuple) => { - tuple.0.hash(state); - unsafe { (*(&raw const tuple.1).cast::()).hash(state) }; - } - ConsumeEffect::RemoveEffects(status_effect_instances) => { - status_effect_instances.hash(state) - } - ConsumeEffect::ClearAllEffects => (), - ConsumeEffect::TeleportRandomly(dst) => unsafe { - (*(&raw const dst).cast::()).hash(state) - }, - ConsumeEffect::PlaySound(id_or) => id_or.hash(state), - } - } -} - -#[derive(Clone, Debug, PartialEq)] -pub enum ConsumeEffect { - /// Vec of status effect and a f32 representing - /// the probability - ApplyEffects((Cow<'static, [StatusEffectInstance]>, f32)), - RemoveEffects(IDSet), - ClearAllEffects, - /// f32 diameter - TeleportRandomly(f32), - PlaySound(IdOr), -} -impl ConsumeEffect { - pub fn to_str(&self) -> &str { - match self { - ConsumeEffect::ApplyEffects(_) => "apply_effects", - ConsumeEffect::RemoveEffects(_) => "remove_effects", - ConsumeEffect::ClearAllEffects => "clear_all_effects", - ConsumeEffect::TeleportRandomly(_) => "teleport_randomly", - ConsumeEffect::PlaySound(_) => "play_sound", - } - } - - pub fn registry_id(&self) -> u8 { - match self { - ConsumeEffect::ApplyEffects(_) => 0, - ConsumeEffect::RemoveEffects(_) => 1, - ConsumeEffect::ClearAllEffects => 2, - ConsumeEffect::TeleportRandomly(_) => 3, - ConsumeEffect::PlaySound(_) => 4, - } - } - - pub fn read_data(nbt: &NbtTag) -> Option { - let compound = nbt.extract_compound()?; - - let r#type = compound.get_string("type")?; - - match r#type { - "remove_effects" => { - let idset = IDSet::read(compound.get("effects")?)?; - Some(Self::RemoveEffects(idset)) - } - "clear_all_effects" => Some(Self::ClearAllEffects), - "teleport_randomly" => { - let dst = compound.get_float("diameter")?; - Some(Self::TeleportRandomly(dst)) - } - "play_sound" => { - let sound = get_idor(compound, "sound", Sound::EntityGenericEat); - Some(Self::PlaySound(sound)) - } - "apply_effects" => { - let probability = compound.get_float("probability")?; - let effects_vec: Vec = compound - .get_list("effects")? - .iter() - .filter_map(StatusEffectInstance::read_data) - .collect(); - let effects: Cow<'static, [StatusEffectInstance]> = Cow::Owned(effects_vec); - Some(Self::ApplyEffects((effects, probability))) - } - _ => None, - } - } - - pub fn as_nbt(&self) -> NbtTag { - let mut compound = NbtCompound::new(); - compound.put_string("type", self.to_str().to_string()); - - match self { - ConsumeEffect::ApplyEffects(data) => { - let nbt_arr = data.0.iter().map(|x| x.as_nbt()).collect(); - compound.put_list("effects", nbt_arr); - compound.put_float("probability", data.1); - } - ConsumeEffect::RemoveEffects(idset) => idset.write(&mut compound, "effects"), - ConsumeEffect::ClearAllEffects => (), - ConsumeEffect::TeleportRandomly(dst) => compound.put_float("diameter", *dst), - ConsumeEffect::PlaySound(id_or) => { - put_idor(&mut compound, "sound", id_or); - } - } - - NbtTag::Compound(compound) - } - - pub fn get_hash(&self) -> i32 { - let mut digest = Digest::new(Crc32Iscsi); - - match self { - ConsumeEffect::ApplyEffects((effects, probability)) => { - digest.update(&[1u8]); - for effect in effects.iter() { - digest.update(&effect.get_hash().to_le_bytes()); - } - digest.update(&[13u8]); - digest.update(&get_f32_hash(*probability).to_le_bytes()); - } - ConsumeEffect::RemoveEffects(idset) => { - digest.update(&[2u8]); - digest.update(&get_idset_hash(idset).to_le_bytes()); - } - ConsumeEffect::ClearAllEffects => { - digest.update(&[3u8]); - } - ConsumeEffect::TeleportRandomly(dst) => { - digest.update(&[4u8]); - digest.update(&get_f32_hash(*dst).to_le_bytes()); - } - ConsumeEffect::PlaySound(id_or) => { - digest.update(&[5u8]); - digest.update(&get_idor_hash(id_or).to_le_bytes()); - } - } - digest.finalize() as i32 - } -} -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct PotionContentsImpl { - pub potion_id: Option, - pub custom_color: Option, - pub custom_effects: Vec, - pub custom_name: Option, -} - -impl PotionContentsImpl { - pub fn read_data(tag: &NbtTag) -> Option { - let compound = tag.extract_compound()?; - let potion_id = if let Some(id) = compound.get_int("potion") { - Some(id) - } else if let Some(name) = compound.get_string("potion") { - // Handle "minecraft:swiftness" -> "swiftness" - let name = name.strip_prefix("minecraft:").unwrap_or(name); - crate::potion::Potion::from_name(name).map(|p| p.id as i32) - } else { - None - }; - - let custom_color = compound.get_int("custom_color"); - let custom_name = compound.get_string("custom_name").map(|s| s.to_string()); - - let custom_effects = compound - .get_list("custom_effects") - .map(|list| { - list.iter() - .filter_map(|item| { - // Try to get the compound for this specific effect - let effect_tag = item.extract_compound()?; - - // Try to get the ID - let id: Cow<'static, str> = - Cow::Owned(effect_tag.get_string("id")?.to_string()); - - // Fallback values for optional fields - let amplifier = effect_tag - .get_int("amplifier") - .or_else(|| effect_tag.get_byte("amplifier").map(i32::from)) - .unwrap_or(0); - let duration = effect_tag - .get_int("duration") - .or_else(|| effect_tag.get_byte("duration").map(i32::from)) - .unwrap_or(0); - let ambient = effect_tag.get_bool("ambient").unwrap_or(false); - let show_particles = effect_tag.get_bool("show_particles").unwrap_or(true); - let show_icon = effect_tag.get_bool("show_icon").unwrap_or(true); - - // Create the StatusEffectInstance - Some(StatusEffectInstance { - effect_id: id, - amplifier, - duration, - ambient, - show_particles, - show_icon, - }) - }) - .collect::>() - }) - .unwrap_or_default(); - - Some(Self { - potion_id, - custom_color, - custom_effects, - custom_name, - }) - } -} - -impl DataComponentImpl for PotionContentsImpl { - fn write_data(&self) -> NbtTag { - let mut compound = NbtCompound::new(); - - if let Some(potion_id) = self.potion_id { - compound.put_int("potion", potion_id); - } - - if let Some(color) = self.custom_color { - compound.put_int("custom_color", color); - } - - if !self.custom_effects.is_empty() { - let mut effects_list = Vec::new(); - for effect in &self.custom_effects { - let mut effect_compound = NbtCompound::new(); - effect_compound.put_string("id", effect.effect_id.to_string()); - effect_compound.put_int("amplifier", effect.amplifier); - effect_compound.put_int("duration", effect.duration); - effect_compound.put_byte("ambient", effect.ambient as i8); - effect_compound.put_byte("show_particles", effect.show_particles as i8); - effect_compound.put_byte("show_icon", effect.show_icon as i8); - effects_list.push(NbtTag::Compound(effect_compound)); - } - compound.put("custom_effects", NbtTag::List(effects_list)); - } - - if let Some(name) = &self.custom_name { - compound.put_string("custom_name", name.clone()); - } - - NbtTag::Compound(compound) - } - - fn get_hash(&self) -> i32 { - let mut digest = Digest::new(Crc32Iscsi); - - if let Some(id) = self.potion_id { - digest.update(&[1u8]); - digest.update(&get_i32_hash(id).to_le_bytes()); - } - - if let Some(color) = self.custom_color { - digest.update(&[2u8]); - digest.update(&get_i32_hash(color).to_le_bytes()); - } - - if let Some(name) = &self.custom_name { - digest.update(&[3u8]); - digest.update(&get_str_hash(name).to_le_bytes()); - } - - if !self.custom_effects.is_empty() { - digest.update(&[4u8]); - for effect in &self.custom_effects { - digest.update(&effect.get_hash().to_le_bytes()); - } - } - - digest.finalize() as i32 - } - - default_impl!(PotionContents); -} -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct PotionDurationScaleImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct SuspiciousStewEffectsImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct WritableBookContentImpl { - pub pages: Vec, -} - -impl WritableBookContentImpl { - pub fn read_data(tag: &NbtTag) -> Option { - let mut pages = Vec::new(); - if let NbtTag::Compound(c) = tag - && let Some(NbtTag::List(l)) = c.get("pages") - { - for _ in l { - pages.push(String::new()); - } - } - Some(Self { pages }) - } -} - -use crate::data_component::DataComponent::{WritableBookContent, WrittenBookContent}; - -impl DataComponentImpl for WritableBookContentImpl { - default_impl!(WritableBookContent); -} - -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct WrittenBookContentImpl { - pub pages: Vec, -} - -impl WrittenBookContentImpl { - pub fn read_data(tag: &NbtTag) -> Option { - let mut pages = Vec::new(); - if let NbtTag::Compound(c) = tag - && let Some(NbtTag::List(l)) = c.get("pages") - { - for _ in l { - pages.push(String::new()); - } - } - Some(Self { pages }) - } -} - -impl DataComponentImpl for WrittenBookContentImpl { - default_impl!(WrittenBookContent); -} - -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct TrimImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct DebugStickStateImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct EntityDataImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct BucketEntityDataImpl; -#[derive(Clone, Debug, PartialEq)] -pub struct BlockEntityDataImpl { - pub nbt: pumpkin_nbt::compound::NbtCompound, -} -impl BlockEntityDataImpl { - pub fn read_data(tag: &NbtTag) -> Option { - if let NbtTag::Compound(c) = tag { - Some(Self { nbt: c.clone() }) - } else { - None - } - } -} -impl DataComponentImpl for BlockEntityDataImpl { - default_impl!(BlockEntityData); -} -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct InstrumentImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct ProvidesTrimMaterialImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct OminousBottleAmplifierImpl { - pub amplifier: i32, -} -impl OminousBottleAmplifierImpl { - fn read_data(data: &NbtTag) -> Option { - data.extract_int().map(|amplifier| Self { amplifier }) - } -} -impl DataComponentImpl for OminousBottleAmplifierImpl { - fn write_data(&self) -> NbtTag { - NbtTag::Int(self.amplifier) - } - fn get_hash(&self) -> i32 { - get_i32_hash(self.amplifier) as i32 - } - default_impl!(OminousBottleAmplifier); -} -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct JukeboxPlayableImpl { - pub song: &'static str, -} -impl DataComponentImpl for JukeboxPlayableImpl { - default_impl!(JukeboxPlayable); -} -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct ProvidesBannerPatternsImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct RecipesImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct LodestoneTrackerImpl; -/// Firework explosion shape types -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] -pub enum FireworkExplosionShape { - SmallBall = 0, - LargeBall = 1, - Star = 2, - Creeper = 3, - Burst = 4, -} - -impl FireworkExplosionShape { - pub fn from_id(id: i32) -> Option { - match id { - 0 => Some(Self::SmallBall), - 1 => Some(Self::LargeBall), - 2 => Some(Self::Star), - 3 => Some(Self::Creeper), - 4 => Some(Self::Burst), - _ => None, - } - } - - pub fn to_id(&self) -> i32 { - *self as i32 - } - - pub fn to_name(&self) -> &str { - match self { - Self::SmallBall => "small_ball", - Self::LargeBall => "large_ball", - Self::Star => "star", - Self::Creeper => "creeper", - Self::Burst => "burst", - } - } - - pub fn from_name(name: &str) -> Option { - match name { - "small_ball" => Some(Self::SmallBall), - "large_ball" => Some(Self::LargeBall), - "star" => Some(Self::Star), - "creeper" => Some(Self::Creeper), - "burst" => Some(Self::Burst), - _ => None, - } - } -} - -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct FireworkExplosionImpl { - pub shape: FireworkExplosionShape, - pub colors: Vec, - pub fade_colors: Vec, - pub has_trail: bool, - pub has_twinkle: bool, -} - -impl FireworkExplosionImpl { - pub fn new( - shape: FireworkExplosionShape, - colors: Vec, - fade_colors: Vec, - has_trail: bool, - has_twinkle: bool, - ) -> Self { - Self { - shape, - colors, - fade_colors, - has_trail, - has_twinkle, - } - } - - pub fn read_data(tag: &NbtTag) -> Option { - let compound = tag.extract_compound()?; - let shape = FireworkExplosionShape::from_name(compound.get_string("shape")?)?; - let colors = compound - .get_int_array("colors") - .map(|v| v.to_vec()) - .unwrap_or_default(); - let fade_colors = compound - .get_int_array("fade_colors") - .map(|v| v.to_vec()) - .unwrap_or_default(); - let has_trail = compound.get_bool("has_trail").unwrap_or(false); - let has_twinkle = compound.get_bool("has_twinkle").unwrap_or(false); - - Some(Self { - shape, - colors, - fade_colors, - has_trail, - has_twinkle, - }) - } -} - -impl DataComponentImpl for FireworkExplosionImpl { - fn write_data(&self) -> NbtTag { - let mut compound = NbtCompound::new(); - compound.put_string("shape", self.shape.to_name().to_string()); - compound.put("colors", NbtTag::IntArray(self.colors.clone())); - compound.put("fade_colors", NbtTag::IntArray(self.fade_colors.clone())); - compound.put_bool("has_trail", self.has_trail); - compound.put_bool("has_twinkle", self.has_twinkle); - NbtTag::Compound(compound) - } - - fn get_hash(&self) -> i32 { - let mut digest = Digest::new(Crc32Iscsi); - digest.update(&[2u8]); - digest.update(&[self.shape.to_id() as u8]); - for color in &self.colors { - digest.update(&get_i32_hash(*color).to_le_bytes()); - } - digest.update(&[3u8]); - for color in &self.fade_colors { - digest.update(&get_i32_hash(*color).to_le_bytes()); - } - digest.update(&[4u8]); - digest.update(&[self.has_trail as u8]); - digest.update(&[self.has_twinkle as u8]); - digest.finalize() as i32 - } - - default_impl!(FireworkExplosion); -} - -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct FireworksImpl { - pub flight_duration: i32, - pub explosions: Vec, -} - -impl FireworksImpl { - pub fn new(flight_duration: i32, explosions: Vec) -> Self { - Self { - flight_duration, - explosions, - } - } - - pub fn read_data(tag: &NbtTag) -> Option { - let compound = tag.extract_compound()?; - let flight_duration = compound - .get_byte("flight_duration") - .map(i32::from) - .or_else(|| compound.get_int("flight_duration")) - .unwrap_or(1); - - let mut explosions = Vec::new(); - if let Some(list) = compound.get_list("explosions") { - for item in list { - if let Some(explosion) = FireworkExplosionImpl::read_data(item) { - explosions.push(explosion); - } - } - } - - Some(Self { - flight_duration, - explosions, - }) - } -} - -impl DataComponentImpl for FireworksImpl { - fn write_data(&self) -> NbtTag { - let mut compound = NbtCompound::new(); - compound.put_int("flight_duration", self.flight_duration); - let explosions_list: Vec = self.explosions.iter().map(|e| e.write_data()).collect(); - compound.put_list("explosions", explosions_list); - NbtTag::Compound(compound) - } - - fn get_hash(&self) -> i32 { - let mut digest = Digest::new(Crc32Iscsi); - digest.update(&[2u8]); - digest.update(&get_i32_hash(self.flight_duration).to_le_bytes()); - for explosion in &self.explosions { - digest.update(&get_i32_hash(explosion.get_hash()).to_le_bytes()); - } - digest.update(&[3u8]); - digest.finalize() as i32 - } - - default_impl!(Fireworks); -} -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct ProfileProperty { - pub name: String, - pub value: String, - pub signature: Option, -} - -#[derive(Clone, Debug, Hash, PartialEq, Eq, Default)] -pub struct ProfileImpl { - pub name: Option, - pub id: Option<[i32; 4]>, // UUID represented as a standard NBT IntArray - pub properties: Vec, - - pub texture: Option, - pub cape: Option, - pub elytra: Option, - pub model: Option, -} - -impl ProfileImpl { - pub fn read_data(data: &NbtTag) -> Option { - match data { - NbtTag::String(name) => Some(Self { - name: Some(name.to_string()), - ..Default::default() - }), - NbtTag::Compound(compound) => { - let name = compound.get_string("name").map(String::from); - - let id = compound.get_int_array("id").and_then(|arr| { - if arr.len() == 4 { - Some([arr[0], arr[1], arr[2], arr[3]]) - } else { - None - } - }); - - let mut properties = Vec::new(); - if let Some(props_list) = compound.get_list("properties") { - for prop_tag in props_list { - if let Some(prop_comp) = prop_tag.extract_compound() - && let (Some(prop_name), Some(prop_value)) = - (prop_comp.get_string("name"), prop_comp.get_string("value")) - { - properties.push(ProfileProperty { - name: prop_name.to_string(), - value: prop_value.to_string(), - signature: prop_comp.get_string("signature").map(String::from), - }); - } - } - } - - let texture = compound.get_string("texture").map(String::from); - let cape = compound.get_string("cape").map(String::from); - let elytra = compound.get_string("elytra").map(String::from); - let model = compound.get_string("model").map(String::from); - - Some(Self { - name, - id, - properties, - texture, - cape, - elytra, - model, - }) - } - _ => None, - } - } -} - -impl DataComponentImpl for ProfileImpl { - fn write_data(&self) -> NbtTag { - let mut compound = NbtCompound::new(); - - if let Some(name) = &self.name { - compound.put_string("name", name.clone()); - } - - if let Some(id) = &self.id { - compound.put("id", NbtTag::IntArray(id.to_vec())); - } - - if !self.properties.is_empty() { - let mut props_list = Vec::new(); - for prop in &self.properties { - let mut prop_comp = NbtCompound::new(); - prop_comp.put_string("name", prop.name.clone()); - prop_comp.put_string("value", prop.value.clone()); - if let Some(sig) = &prop.signature { - prop_comp.put_string("signature", sig.clone()); - } - props_list.push(NbtTag::Compound(prop_comp)); - } - compound.put_list("properties", props_list); - } - - if let Some(texture) = &self.texture { - compound.put_string("texture", texture.clone()); - } - if let Some(cape) = &self.cape { - compound.put_string("cape", cape.clone()); - } - if let Some(elytra) = &self.elytra { - compound.put_string("elytra", elytra.clone()); - } - if let Some(model) = &self.model { - compound.put_string("model", model.clone()); - } - - NbtTag::Compound(compound) - } - - fn get_hash(&self) -> i32 { - let mut digest = Digest::new(Crc32Iscsi); - - if let Some(name) = &self.name { - digest.update(&[1u8]); - digest.update(&get_str_hash(name).to_le_bytes()); - } - - if let Some(id) = &self.id { - digest.update(&[2u8]); - for val in id { - digest.update(&get_i32_hash(*val).to_le_bytes()); - } - } - - if !self.properties.is_empty() { - digest.update(&[3u8]); - for prop in &self.properties { - digest.update(&get_str_hash(&prop.name).to_le_bytes()); - digest.update(&get_str_hash(&prop.value).to_le_bytes()); - if let Some(sig) = &prop.signature { - digest.update(&[1u8]); - digest.update(&get_str_hash(sig).to_le_bytes()); - } else { - // Null terminator for missing signature - digest.update(&[0u8]); - } - } - } - - if let Some(texture) = &self.texture { - digest.update(&[4u8]); - digest.update(&get_str_hash(texture).to_le_bytes()); - } - - if let Some(cape) = &self.cape { - digest.update(&[5u8]); - digest.update(&get_str_hash(cape).to_le_bytes()); - } - - if let Some(elytra) = &self.elytra { - digest.update(&[6u8]); - digest.update(&get_str_hash(elytra).to_le_bytes()); - } - - if let Some(model) = &self.model { - digest.update(&[7u8]); - digest.update(&get_str_hash(model).to_le_bytes()); - } - - digest.finalize() as i32 - } - - default_impl!(Profile); -} - -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct NoteBlockSoundImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct BannerPatternsImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct BaseColorImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct PotDecorationsImpl; -#[derive(Clone)] -pub struct ContainerImpl { - pub items: Vec<(u8, crate::item_stack::ItemStack)>, -} -impl PartialEq for ContainerImpl { - fn eq(&self, _other: &Self) -> bool { - false - } -} -impl Eq for ContainerImpl {} -impl std::fmt::Debug for ContainerImpl { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "ContainerImpl") - } -} -impl ContainerImpl { - pub fn read_data(tag: &NbtTag) -> Option { - let mut items = Vec::new(); - if let NbtTag::List(l) = tag { - for item_tag in l { - if let NbtTag::Compound(c) = item_tag - && let Some(slot) = c.get_int("slot") - && let Some(item_compound) = c.get_compound("item") - && let Some(stack) = - crate::item_stack::ItemStack::read_item_stack(item_compound) - { - items.push((slot as u8, stack)); - } - } - } - Some(Self { items }) - } -} -impl DataComponentImpl for ContainerImpl { - default_impl!(Container); -} -#[derive(Clone, Debug)] -#[allow(clippy::disallowed_types)] -pub struct BlockStateImpl { - pub properties: std::collections::HashMap, -} -impl PartialEq for BlockStateImpl { - fn eq(&self, other: &Self) -> bool { - self.properties == other.properties - } -} -impl Eq for BlockStateImpl {} -impl std::hash::Hash for BlockStateImpl { - fn hash(&self, state: &mut H) { - let mut keys: Vec<&String> = self.properties.keys().collect(); - keys.sort(); - for key in keys { - key.hash(state); - self.properties.get(key).hash(state); - } - } -} -impl BlockStateImpl { - #[allow(clippy::disallowed_types)] - fn read_data(data: &NbtTag) -> Option { - let compound = data.extract_compound()?; - let mut properties = std::collections::HashMap::new(); - for (key, val) in compound.child_tags.iter() { - if let Some(s) = val.extract_string() { - properties.insert(key.to_string(), s.to_string()); - } - } - Some(Self { properties }) - } -} -impl DataComponentImpl for BlockStateImpl { - fn write_data(&self) -> NbtTag { - let mut compound = NbtCompound::new(); - for (k, v) in &self.properties { - compound.put_string(k, v.clone()); - } - NbtTag::Compound(compound) - } - fn get_hash(&self) -> i32 { - let mut digest = Digest::new(Crc32Iscsi); - let mut keys: Vec<&String> = self.properties.keys().collect(); - keys.sort(); - for key in keys { - digest.update(key.as_bytes()); - digest.update(self.properties.get(key).unwrap().as_bytes()); - } - digest.finalize() as i32 - } - default_impl!(BlockState); -} -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct BeesImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct LockImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct ContainerLootImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct BreakSoundImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct VillagerVariantImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct WolfVariantImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct WolfSoundVariantImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct WolfCollarImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct FoxVariantImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct SalmonSizeImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct ParrotVariantImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct TropicalFishPatternImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct TropicalFishBaseColorImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct TropicalFishPatternColorImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct MooshroomVariantImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct RabbitVariantImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct PigVariantImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct CowVariantImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct ChickenVariantImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct FrogVariantImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct HorseVariantImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct PaintingVariantImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct LlamaVariantImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct AxolotlVariantImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct CatVariantImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct CatCollarImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct SheepColorImpl; -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct ShulkerColorImpl; diff --git a/pumpkin-data/src/data_component_impl/basic.rs b/pumpkin-data/src/data_component_impl/basic.rs new file mode 100644 index 000000000..1cceb55fb --- /dev/null +++ b/pumpkin-data/src/data_component_impl/basic.rs @@ -0,0 +1,265 @@ +use crate::data_component_impl::{DataComponentImpl, default_impl, get_i32_hash, get_str_hash}; +use pumpkin_nbt::compound::NbtCompound; +use pumpkin_nbt::tag::NbtTag; +use pumpkin_util::text::TextComponent; + +#[derive(Clone, Debug, PartialEq)] +pub struct CustomDataImpl { + pub data: NbtCompound, +} +impl CustomDataImpl { + #[must_use] + pub const fn new(data: NbtCompound) -> Self { + Self { data } + } + #[must_use] + pub fn read_data(tag: &NbtTag) -> Option { + if let NbtTag::Compound(c) = tag { + Some(Self { data: c.clone() }) + } else { + None + } + } +} +impl DataComponentImpl for CustomDataImpl { + fn write_data(&self) -> NbtTag { + NbtTag::Compound(self.data.clone()) + } + fn get_hash(&self) -> i32 { + 0 + } + default_impl!(CustomData); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct MaxStackSizeImpl { + pub size: u8, +} +impl MaxStackSizeImpl { + pub fn read_data(data: &NbtTag) -> Option { + data.extract_int().map(|size| Self { size: size as u8 }) + } +} +impl DataComponentImpl for MaxStackSizeImpl { + fn write_data(&self) -> NbtTag { + NbtTag::Int(self.size as i32) + } + fn get_hash(&self) -> i32 { + get_i32_hash(self.size as i32) as i32 + } + default_impl!(MaxStackSize); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct MaxDamageImpl { + pub max_damage: i32, +} +impl DataComponentImpl for MaxDamageImpl { + default_impl!(MaxDamage); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct DamageImpl { + pub damage: i32, +} +impl DamageImpl { + pub fn read_data(data: &NbtTag) -> Option { + data.extract_int().map(|damage| Self { damage }) + } +} +impl DataComponentImpl for DamageImpl { + fn write_data(&self) -> NbtTag { + NbtTag::Int(self.damage) + } + fn get_hash(&self) -> i32 { + get_i32_hash(self.damage) as i32 + } + default_impl!(Damage); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct UnbreakableImpl; +impl UnbreakableImpl { + pub const fn read_data(_data: &NbtTag) -> Option { + Some(Self) + } +} +impl DataComponentImpl for UnbreakableImpl { + fn write_data(&self) -> NbtTag { + NbtTag::Compound(NbtCompound::new()) + } + fn get_hash(&self) -> i32 { + 0 + } + default_impl!(Unbreakable); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct CustomNameImpl { + pub name: TextComponent, +} +impl CustomNameImpl { + pub fn read_data(data: &NbtTag) -> Option { + data.extract_string().map(|name| Self { + name: TextComponent::text(name.to_string()), + }) + } +} +impl DataComponentImpl for CustomNameImpl { + fn write_data(&self) -> NbtTag { + NbtTag::String(self.name.clone().get_text().into()) + } + fn get_hash(&self) -> i32 { + get_str_hash(self.name.clone().get_text().as_str()) as i32 + } + default_impl!(CustomName); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct ItemNameImpl { + pub name: &'static str, +} +impl DataComponentImpl for ItemNameImpl { + default_impl!(ItemName); +} + +use std::borrow::Cow; + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct ItemModelImpl { + pub id: Cow<'static, str>, +} +impl ItemModelImpl { + pub fn read_data(data: &NbtTag) -> Option { + data.extract_string().map(|id| Self { + id: Cow::Owned(id.to_string()), + }) + } +} +impl DataComponentImpl for ItemModelImpl { + fn write_data(&self) -> NbtTag { + NbtTag::String(self.id.clone().into_owned().into()) + } + fn get_hash(&self) -> i32 { + get_str_hash(self.id.as_ref()) as i32 + } + default_impl!(ItemModel); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct LoreImpl; +impl DataComponentImpl for LoreImpl { + default_impl!(Lore); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct RarityImpl; +impl DataComponentImpl for RarityImpl { + default_impl!(Rarity); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct CustomModelDataImpl; +impl DataComponentImpl for CustomModelDataImpl { + default_impl!(CustomModelData); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct TooltipDisplayImpl; +impl DataComponentImpl for TooltipDisplayImpl { + default_impl!(TooltipDisplay); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct CreativeSlotLockImpl; +impl DataComponentImpl for CreativeSlotLockImpl { + default_impl!(CreativeSlotLock); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct EnchantmentGlintOverrideImpl; +impl DataComponentImpl for EnchantmentGlintOverrideImpl { + default_impl!(EnchantmentGlintOverride); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct TooltipStyleImpl; +impl DataComponentImpl for TooltipStyleImpl { + default_impl!(TooltipStyle); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct NoteBlockSoundImpl; +impl DataComponentImpl for NoteBlockSoundImpl { + default_impl!(NoteBlockSound); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct BaseColorImpl; +impl DataComponentImpl for BaseColorImpl { + default_impl!(BaseColor); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct InstrumentImpl; +impl DataComponentImpl for InstrumentImpl { + default_impl!(Instrument); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct ProvidesTrimMaterialImpl; +impl DataComponentImpl for ProvidesTrimMaterialImpl { + default_impl!(ProvidesTrimMaterial); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct ProvidesBannerPatternsImpl; +impl DataComponentImpl for ProvidesBannerPatternsImpl { + default_impl!(ProvidesBannerPatterns); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct BannerPatternsImpl; +impl DataComponentImpl for BannerPatternsImpl { + default_impl!(BannerPatterns); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct PotDecorationsImpl; +impl DataComponentImpl for PotDecorationsImpl { + default_impl!(PotDecorations); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct LockImpl; +impl DataComponentImpl for LockImpl { + default_impl!(Lock); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct BreakSoundImpl; +impl DataComponentImpl for BreakSoundImpl { + default_impl!(BreakSound); +} + +#[derive(Clone, Debug, PartialEq)] +pub struct SoundEvent { + pub sound_name: String, + pub range: Option, +} +impl std::hash::Hash for SoundEvent { + fn hash(&self, state: &mut H) { + self.sound_name.hash(state); + if let Some(val) = self.range { + true.hash(state); + unsafe { (*(&raw const val).cast::()).hash(state) }; + } else { + false.hash(state); + } + } +} +impl SoundEvent { + pub const fn new(sound_name: String, range: Option) -> Self { + Self { sound_name, range } + } +} diff --git a/pumpkin-data/src/data_component_impl/block_entity.rs b/pumpkin-data/src/data_component_impl/block_entity.rs new file mode 100644 index 000000000..e1746b61d --- /dev/null +++ b/pumpkin-data/src/data_component_impl/block_entity.rs @@ -0,0 +1,150 @@ +use crate::data_component_impl::{DataComponentImpl, default_impl, get_i32_hash, get_str_hash}; +use crc_fast::CrcAlgorithm::Crc32Iscsi; +use crc_fast::Digest; +use pumpkin_nbt::compound::NbtCompound; +use pumpkin_nbt::tag::NbtTag; + +#[derive(Clone, Debug, PartialEq)] +pub struct BlockEntityDataImpl { + pub nbt: NbtCompound, +} +impl BlockEntityDataImpl { + pub fn read_data(tag: &NbtTag) -> Option { + if let NbtTag::Compound(c) = tag { + Some(Self { nbt: c.clone() }) + } else { + None + } + } +} +impl DataComponentImpl for BlockEntityDataImpl { + default_impl!(BlockEntityData); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct EntityDataImpl; +impl DataComponentImpl for EntityDataImpl { + default_impl!(EntityData); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct BucketEntityDataImpl; +impl DataComponentImpl for BucketEntityDataImpl { + default_impl!(BucketEntityData); +} + +#[derive(Clone)] +pub struct ContainerImpl { + pub items: Vec<(u8, crate::item_stack::ItemStack)>, +} +impl PartialEq for ContainerImpl { + fn eq(&self, _other: &Self) -> bool { + false + } +} +impl Eq for ContainerImpl {} +impl std::fmt::Debug for ContainerImpl { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ContainerImpl") + } +} +impl ContainerImpl { + pub fn read_data(tag: &NbtTag) -> Option { + let mut items = Vec::new(); + if let NbtTag::List(l) = tag { + for item_tag in l { + if let NbtTag::Compound(c) = item_tag + && let Some(slot) = c.get_int("slot") + && let Some(item_compound) = c.get_compound("item") + && let Some(stack) = + crate::item_stack::ItemStack::read_item_stack(item_compound) + { + items.push((slot as u8, stack)); + } + } + } + Some(Self { items }) + } +} +impl DataComponentImpl for ContainerImpl { + default_impl!(Container); +} + +use std::borrow::Cow; + +#[derive(Clone, Debug)] +pub struct BlockStateImpl { + pub properties: Cow<'static, [(Cow<'static, str>, Cow<'static, str>)]>, +} +impl PartialEq for BlockStateImpl { + fn eq(&self, other: &Self) -> bool { + let mut self_props = self.properties.to_vec(); + self_props.sort_by(|a, b| a.0.cmp(&b.0)); + let mut other_props = other.properties.to_vec(); + other_props.sort_by(|a, b| a.0.cmp(&b.0)); + self_props == other_props + } +} +impl Eq for BlockStateImpl {} +impl std::hash::Hash for BlockStateImpl { + fn hash(&self, state: &mut H) { + let mut props = self.properties.to_vec(); + props.sort_by(|a, b| a.0.cmp(&b.0)); + for (k, v) in props { + k.hash(state); + v.hash(state); + } + } +} +impl BlockStateImpl { + pub fn read_data(data: &NbtTag) -> Option { + let compound = data.extract_compound()?; + let mut properties = Vec::new(); + for (key, val) in compound.child_tags.iter() { + if let Some(s) = val.extract_string() { + properties.push((Cow::Owned(key.to_string()), Cow::Owned(s.to_string()))); + } + } + Some(Self { + properties: Cow::Owned(properties), + }) + } +} +impl DataComponentImpl for BlockStateImpl { + fn write_data(&self) -> NbtTag { + let mut compound = NbtCompound::new(); + for (k, v) in self.properties.iter() { + compound.put_string(k.as_ref(), v.to_string()); + } + NbtTag::Compound(compound) + } + fn get_hash(&self) -> i32 { + let mut digest = Digest::new(Crc32Iscsi); + let mut props = self.properties.to_vec(); + props.sort_by(|a, b| a.0.cmp(&b.0)); + for (k, v) in props { + digest.update(k.as_ref().as_bytes()); + digest.update(v.as_ref().as_bytes()); + } + digest.finalize() as i32 + } + default_impl!(BlockState); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct BeesImpl; +impl DataComponentImpl for BeesImpl { + default_impl!(Bees); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct ContainerLootImpl; +impl DataComponentImpl for ContainerLootImpl { + default_impl!(ContainerLoot); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct SulfurCubeContentImpl; +impl DataComponentImpl for SulfurCubeContentImpl { + default_impl!(SulfurCubeContent); +} diff --git a/pumpkin-data/src/data_component_impl/book.rs b/pumpkin-data/src/data_component_impl/book.rs new file mode 100644 index 000000000..a1a54a1f5 --- /dev/null +++ b/pumpkin-data/src/data_component_impl/book.rs @@ -0,0 +1,50 @@ +use crate::data_component_impl::{DataComponentImpl, default_impl}; +use pumpkin_nbt::tag::NbtTag; + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct WritableBookContentImpl { + pub pages: Vec, +} +impl WritableBookContentImpl { + pub fn read_data(tag: &NbtTag) -> Option { + let mut pages = Vec::new(); + if let NbtTag::Compound(c) = tag + && let Some(NbtTag::List(l)) = c.get("pages") + { + for _ in l { + pages.push(String::new()); + } + } + Some(Self { pages }) + } +} +impl DataComponentImpl for WritableBookContentImpl { + default_impl!(WritableBookContent); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct WrittenBookContentImpl { + pub pages: Vec, +} +impl WrittenBookContentImpl { + pub fn read_data(tag: &NbtTag) -> Option { + let mut pages = Vec::new(); + if let NbtTag::Compound(c) = tag + && let Some(NbtTag::List(l)) = c.get("pages") + { + for _ in l { + pages.push(String::new()); + } + } + Some(Self { pages }) + } +} +impl DataComponentImpl for WrittenBookContentImpl { + default_impl!(WrittenBookContent); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct DebugStickStateImpl; +impl DataComponentImpl for DebugStickStateImpl { + default_impl!(DebugStickState); +} diff --git a/pumpkin-data/src/data_component_impl/combat.rs b/pumpkin-data/src/data_component_impl/combat.rs new file mode 100644 index 000000000..9d12aed79 --- /dev/null +++ b/pumpkin-data/src/data_component_impl/combat.rs @@ -0,0 +1,620 @@ +use crate::Block; +use crate::Enchantment; +use crate::attributes::Attributes; +use crate::data_component_impl::basic::SoundEvent; +use crate::data_component_impl::{ + DataComponentImpl, EquipmentSlot, IDSet, IDSetContent, IdOr, default_impl, get_f32_hash, + get_i32_hash, get_idor, get_idor_hash, get_idset_hash, get_str_hash, put_idor, +}; +use crate::entity_type::EntityType; +use crate::sound::Sound; +use crc_fast::CrcAlgorithm::Crc32Iscsi; +use crc_fast::Digest; +use pumpkin_nbt::compound::NbtCompound; +use pumpkin_nbt::tag::NbtTag; +use std::borrow::Cow; +use std::hash::Hash; + +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] +pub enum Operation { + AddValue, + AddMultipliedBase, + AddMultipliedTotal, +} + +#[derive(Clone, Debug, PartialEq)] +pub struct Modifier { + pub r#type: &'static Attributes, + pub id: &'static str, + pub amount: f64, + pub operation: Operation, + pub slot: crate::AttributeModifierSlot, +} +impl Hash for Modifier { + fn hash(&self, state: &mut H) { + self.r#type.hash(state); + self.id.hash(state); + unsafe { (*(&raw const self.amount).cast::()).hash(state) }; + self.operation.hash(state); + self.slot.hash(state); + } +} + +#[derive(Clone, Debug, Hash, PartialEq)] +pub struct AttributeModifiersImpl { + pub attribute_modifiers: Cow<'static, [Modifier]>, +} +impl DataComponentImpl for AttributeModifiersImpl { + default_impl!(AttributeModifiers); +} + +#[derive(Clone, Hash, PartialEq, Eq, Default)] +pub struct EnchantmentsImpl { + pub enchantment: Cow<'static, [(&'static Enchantment, i32)]>, +} +impl EnchantmentsImpl { + pub fn read_data(data: &NbtTag) -> Option { + let data = &data.extract_compound()?.child_tags; + let mut enc = Vec::with_capacity(data.len()); + for (name, level) in data { + enc.push((Enchantment::from_name(name.as_ref())?, level.extract_int()?)); + } + Some(Self { + enchantment: Cow::from(enc), + }) + } +} +impl DataComponentImpl for EnchantmentsImpl { + fn write_data(&self) -> NbtTag { + let mut data = NbtCompound::new(); + for (enc, level) in self.enchantment.iter() { + data.put_int(enc.name, *level); + } + NbtTag::Compound(data) + } + fn get_hash(&self) -> i32 { + let mut digest = Digest::new(Crc32Iscsi); + digest.update(&[2u8]); + for (enc, level) in self.enchantment.iter() { + digest.update(&get_str_hash(enc.name).to_le_bytes()); + digest.update(&get_i32_hash(*level).to_le_bytes()); + } + digest.update(&[3u8]); + digest.finalize() as i32 + } + default_impl!(Enchantments); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct CanPlaceOnImpl; +impl DataComponentImpl for CanPlaceOnImpl { + default_impl!(CanPlaceOn); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct CanBreakImpl; +impl DataComponentImpl for CanBreakImpl { + default_impl!(CanBreak); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct RepairCostImpl; +impl DataComponentImpl for RepairCostImpl { + default_impl!(RepairCost); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct IntangibleProjectileImpl; +impl DataComponentImpl for IntangibleProjectileImpl { + default_impl!(IntangibleProjectile); +} + +#[derive(Clone, Copy, Debug, Hash, PartialEq, Eq)] +pub enum DamageResistantType { + AlwaysHurtsEnderDragons, + AlwaysKillsArmorStands, + AlwaysMostSignificantFall, + AlwaysTriggersSilverfish, + AvoidsGuardianThorns, + BurnsArmorStands, + BurnFromStepping, + BypassesArmor, + BypassesCooldown, + BypassesEffects, + BypassesEnchantments, + BypassesInvulnerability, + BypassesResistance, + BypassesShield, + BypassesWolfArmor, + CanBreakArmorStands, + DamagesHelmet, + IgnitesArmorStands, + Drowning, + Explosion, + Fall, + Fire, + Freezing, + Lightning, + PlayerAttack, + Projectile, + MaceSmash, + NoAnger, + NoImpact, + NoKnockback, + PanicCauses, + PanicEnvironmentalCauses, + WitchResistantTo, + WitherImmuneTo, + Generic, +} + +impl DamageResistantType { + pub fn from_tag(s: &str) -> Self { + match s { + "#minecraft:always_hurts_ender_dragons" + | "minecraft:always_hurts_ender_dragons" + | "always_hurts_ender_dragons" => Self::AlwaysHurtsEnderDragons, + "#minecraft:always_kills_armor_stands" + | "minecraft:always_kills_armor_stands" + | "always_kills_armor_stands" => Self::AlwaysKillsArmorStands, + "#minecraft:always_most_significant_fall" + | "minecraft:always_most_significant_fall" + | "always_most_significant_fall" => Self::AlwaysMostSignificantFall, + "#minecraft:always_triggers_silverfish" + | "minecraft:always_triggers_silverfish" + | "always_triggers_silverfish" => Self::AlwaysTriggersSilverfish, + "#minecraft:avoids_guardian_thorns" + | "minecraft:avoids_guardian_thorns" + | "avoids_guardian_thorns" => Self::AvoidsGuardianThorns, + "#minecraft:burns_armor_stands" + | "minecraft:burns_armor_stands" + | "burns_armor_stands" => Self::BurnsArmorStands, + "#minecraft:burn_from_stepping" + | "minecraft:burn_from_stepping" + | "burn_from_stepping" => Self::BurnFromStepping, + "#minecraft:bypasses_armor" | "minecraft:bypasses_armor" | "bypasses_armor" => { + Self::BypassesArmor + } + "#minecraft:bypasses_cooldown" + | "minecraft:bypasses_cooldown" + | "bypasses_cooldown" => Self::BypassesCooldown, + "#minecraft:bypasses_effects" | "minecraft:bypasses_effects" | "bypasses_effects" => { + Self::BypassesEffects + } + "#minecraft:bypasses_enchantments" + | "minecraft:bypasses_enchantments" + | "bypasses_enchantments" => Self::BypassesEnchantments, + "#minecraft:bypasses_invulnerability" + | "minecraft:bypasses_invulnerability" + | "bypasses_invulnerability" => Self::BypassesInvulnerability, + "#minecraft:bypasses_resistance" + | "minecraft:bypasses_resistance" + | "bypasses_resistance" => Self::BypassesResistance, + "#minecraft:bypasses_shield" | "minecraft:bypasses_shield" | "bypasses_shield" => { + Self::BypassesShield + } + "#minecraft:bypasses_wolf_armor" + | "minecraft:bypasses_wolf_armor" + | "bypasses_wolf_armor" => Self::BypassesWolfArmor, + "#minecraft:can_break_armor_stand" + | "minecraft:can_break_armor_stand" + | "can_break_armor_stand" => Self::CanBreakArmorStands, + "#minecraft:damages_helmet" | "minecraft:damages_helmet" | "damages_helmet" => { + Self::DamagesHelmet + } + "#minecraft:ignites_armor_stands" + | "minecraft:ignites_armor_stands" + | "ignites_armor_stands" => Self::IgnitesArmorStands, + "#minecraft:is_drowning" | "minecraft:is_drowning" | "is_drowning" => Self::Drowning, + "#minecraft:is_explosion" | "minecraft:is_explosion" | "is_explosion" | "explosion" => { + Self::Explosion + } + "#minecraft:is_fall" | "minecraft:is_fall" | "is_fall" | "fall" => Self::Fall, + "#minecraft:is_fire" | "minecraft:is_fire" | "is_fire" | "fire" | "in_fire" + | "minecraft:in_fire" => Self::Fire, + "#minecraft:is_freezing" | "minecraft:is_freezing" | "is_freezing" => Self::Freezing, + "#minecraft:is_lightning" | "minecraft:is_lightning" | "is_lightning" => { + Self::Lightning + } + "#minecraft:is_player_attack" | "minecraft:is_player_attack" | "is_player_attack" => { + Self::PlayerAttack + } + "#minecraft:is_projectile" | "minecraft:is_projectile" | "is_projectile" => { + Self::Projectile + } + "#minecraft:mace_smash" | "minecraft:mace_smash" | "mace_smash" => Self::MaceSmash, + "#minecraft:no_anger" | "minecraft:no_anger" | "no_anger" => Self::NoAnger, + "#minecraft:no_impact" | "minecraft:no_impact" | "no_impact" => Self::NoImpact, + "#minecraft:no_knockback" | "minecraft:no_knockback" | "no_knockback" => { + Self::NoKnockback + } + "#minecraft:panic_causes" | "minecraft:panic_causes" | "panic_causes" => { + Self::PanicCauses + } + "#minecraft:panic_environmental_causes" + | "minecraft:panic_environmental_causes" + | "panic_environmental_causes" => Self::PanicEnvironmentalCauses, + "#minecraft:witch_resistant_to" + | "minecraft:witch_resistant_to" + | "witch_resistant_to" => Self::WitchResistantTo, + "#minecraft:wither_immune_to" | "minecraft:wither_immune_to" | "wither_immune_to" => { + Self::WitherImmuneTo + } + _ => Self::Generic, + } + } + + pub fn as_str(&self) -> &'static str { + match self { + Self::AlwaysHurtsEnderDragons => "#minecraft:always_hurts_ender_dragons", + Self::AlwaysKillsArmorStands => "#minecraft:always_kills_armor_stands", + Self::AlwaysMostSignificantFall => "#minecraft:always_most_significant_fall", + Self::AlwaysTriggersSilverfish => "#minecraft:always_triggers_silverfish", + Self::AvoidsGuardianThorns => "#minecraft:avoids_guardian_thorns", + Self::BurnsArmorStands => "#minecraft:burns_armor_stands", + Self::BurnFromStepping => "#minecraft:burn_from_stepping", + Self::BypassesArmor => "#minecraft:bypasses_armor", + Self::BypassesCooldown => "#minecraft:bypasses_cooldown", + Self::BypassesEffects => "#minecraft:bypasses_effects", + Self::BypassesEnchantments => "#minecraft:bypasses_enchantments", + Self::BypassesInvulnerability => "#minecraft:bypasses_invulnerability", + Self::BypassesResistance => "#minecraft:bypasses_resistance", + Self::BypassesShield => "#minecraft:bypasses_shield", + Self::BypassesWolfArmor => "#minecraft:bypasses_wolf_armor", + Self::CanBreakArmorStands => "#minecraft:can_break_armor_stand", + Self::DamagesHelmet => "#minecraft:damages_helmet", + Self::IgnitesArmorStands => "#minecraft:ignites_armor_stands", + Self::Drowning => "#minecraft:is_drowning", + Self::Explosion => "#minecraft:is_explosion", + Self::Fall => "#minecraft:is_fall", + Self::Fire => "#minecraft:is_fire", + Self::Freezing => "#minecraft:is_freezing", + Self::Lightning => "#minecraft:is_lightning", + Self::PlayerAttack => "#minecraft:is_player_attack", + Self::Projectile => "#minecraft:is_projectile", + Self::MaceSmash => "#minecraft:mace_smash", + Self::NoAnger => "#minecraft:no_anger", + Self::NoImpact => "#minecraft:no_impact", + Self::NoKnockback => "#minecraft:no_knockback", + Self::PanicCauses => "#minecraft:panic_causes", + Self::PanicEnvironmentalCauses => "#minecraft:panic_environmental_causes", + Self::WitchResistantTo => "#minecraft:witch_resistant_to", + Self::WitherImmuneTo => "#minecraft:wither_immune_to", + Self::Generic => "minecraft:generic", + } + } +} + +#[derive(Clone, Copy, Debug, Hash, PartialEq, Eq)] +pub struct DamageResistantImpl { + pub res_type: DamageResistantType, +} +impl DamageResistantImpl { + pub fn read_data(data: &NbtTag) -> Option { + let compound = data.extract_compound()?; + let type_str = compound.get_string("types")?; + Some(Self { + res_type: DamageResistantType::from_tag(type_str), + }) + } +} +impl std::str::FromStr for DamageResistantType { + type Err = (); + fn from_str(s: &str) -> Result { + Ok(DamageResistantType::from_tag(s)) + } +} +impl DataComponentImpl for DamageResistantImpl { + fn write_data(&self) -> NbtTag { + let mut compound = NbtCompound::new(); + compound.put_string("types", self.res_type.as_str().to_string()); + NbtTag::Compound(compound) + } + fn get_hash(&self) -> i32 { + get_str_hash(self.res_type.as_str()) as i32 + } + default_impl!(DamageResistant); +} + +#[derive(Clone, PartialEq)] +pub struct ToolRule { + pub blocks: IDSet, + pub speed: Option, + pub correct_for_drops: Option, +} +impl Hash for ToolRule { + fn hash(&self, state: &mut H) { + self.blocks.hash(state); + if let Some(val) = self.speed { + true.hash(state); + unsafe { (*(&raw const val).cast::()).hash(state) }; + } else { + false.hash(state); + } + self.correct_for_drops.hash(state); + } +} + +#[derive(Clone, PartialEq)] +pub struct ToolImpl { + pub rules: Cow<'static, [ToolRule]>, + pub default_mining_speed: f32, + pub damage_per_block: u32, + pub can_destroy_blocks_in_creative: bool, +} +impl DataComponentImpl for ToolImpl { + default_impl!(Tool); +} +impl Hash for ToolImpl { + fn hash(&self, state: &mut H) { + self.rules.hash(state); + unsafe { (*(&raw const self.default_mining_speed).cast::()).hash(state) }; + self.damage_per_block.hash(state); + self.can_destroy_blocks_in_creative.hash(state); + } +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct WeaponImpl { + pub item_damage_per_attack: u32, +} +impl WeaponImpl { + pub fn read_data(data: &NbtTag) -> Option { + let compound = data.extract_compound()?; + let item_damage_per_attack = compound + .get_int("item_damage_per_attack") + .unwrap_or(1) + .max(0) as u32; + Some(Self { + item_damage_per_attack, + }) + } +} +impl DataComponentImpl for WeaponImpl { + fn write_data(&self) -> NbtTag { + let mut compound = NbtCompound::new(); + compound.put_int("item_damage_per_attack", self.item_damage_per_attack as i32); + NbtTag::Compound(compound) + } + fn get_hash(&self) -> i32 { + self.item_damage_per_attack as i32 + } + default_impl!(Weapon); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct AttackRangeImpl; +impl DataComponentImpl for AttackRangeImpl { + default_impl!(AttackRange); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct EnchantableImpl { + pub value: i32, +} +impl DataComponentImpl for EnchantableImpl { + default_impl!(Enchantable); +} + +#[derive(Clone, Hash, PartialEq)] +pub struct EquippableImpl { + pub slot: &'static EquipmentSlot, + pub equip_sound: IdOr, + pub asset_id: Option>, + pub camera_overlay: Option>, + pub allowed_entities: Option>, + pub dispensable: bool, + pub swappable: bool, + pub damage_on_hurt: bool, + pub equip_on_interact: bool, + pub can_be_sheared: bool, + pub shearing_sound: IdOr, +} +impl EquippableImpl { + pub fn read_data(data: &NbtTag) -> Option { + let compound = data.extract_compound()?; + let slot = EquipmentSlot::get_from_name(compound.get_string("slot")?)?; + let asset_id = compound + .get_string("asset_id") + .map(|str| Cow::Owned(str.to_owned())); + let camera_overlay = compound + .get_string("camera_overlay") + .map(|str| Cow::Owned(str.to_owned())); + let dispensable = compound.get_bool("dispensable").unwrap_or(true); + let swappable = compound.get_bool("swappable").unwrap_or(true); + let damage_on_hurt = compound.get_bool("damage_on_hurt").unwrap_or(true); + let equip_on_interact = compound.get_bool("equip_on_interact").unwrap_or(false); + let can_be_sheared = compound.get_bool("can_be_sheared").unwrap_or(false); + let equip_sound = get_idor(compound, "equip_sound", Sound::ItemArmorEquipGeneric); + let shearing_sound = get_idor(compound, "shearing_sound_sound", Sound::ItemShearsSnip); + let allowed_entities = if let Some(nbt) = compound.get("allowed_entities") { + IDSet::::read(nbt) + } else { + None + }; + Some(Self { + slot, + equip_sound, + asset_id, + camera_overlay, + allowed_entities, + dispensable, + swappable, + damage_on_hurt, + equip_on_interact, + can_be_sheared, + shearing_sound, + }) + } +} +impl DataComponentImpl for EquippableImpl { + fn get_hash(&self) -> i32 { + let mut digest = Digest::new(Crc32Iscsi); + digest.update(&[16u8]); + digest.update(&get_i32_hash(self.slot.get_slot_index()).to_le_bytes()); + digest.update(&get_idor_hash(&self.equip_sound).to_le_bytes()); + if let Some(asset) = &self.asset_id { + digest.update(&[1u8]); + digest.update(&get_str_hash(asset).to_le_bytes()); + } + if let Some(overlay) = &self.camera_overlay { + digest.update(&[2u8]); + digest.update(&get_str_hash(overlay).to_le_bytes()); + } + if let Some(allowed_entities) = &self.allowed_entities { + digest.update(&[3u8]); + digest.update(&get_idset_hash(allowed_entities).to_le_bytes()); + } + digest.update(&[self.dispensable as u8]); + digest.update(&[self.swappable as u8]); + digest.update(&[self.damage_on_hurt as u8]); + digest.update(&[self.equip_on_interact as u8]); + digest.update(&[self.can_be_sheared as u8]); + digest.update(&get_idor_hash(&self.shearing_sound).to_le_bytes()); + digest.finalize() as i32 + } + fn write_data(&self) -> NbtTag { + let mut compound = NbtCompound::new(); + compound.put_string("slot", self.slot.to_name().to_string()); + put_idor(&mut compound, "equip_sound", &self.equip_sound); + put_idor(&mut compound, "shearing_sound", &self.shearing_sound); + if let Some(asset_id) = &self.asset_id { + compound.put_string("asset_id", asset_id.to_string()); + } + if let Some(camera_overlay) = &self.camera_overlay { + compound.put_string("camera_overlay", camera_overlay.to_string()); + } + if let Some(allowed_entities) = &self.allowed_entities { + allowed_entities.write(&mut compound, "allowed_entities"); + } + compound.put_bool("dispensable", self.dispensable); + compound.put_bool("swappable", self.swappable); + compound.put_bool("damage_on_hurt", self.damage_on_hurt); + compound.put_bool("equip_on_interact", self.equip_on_interact); + compound.put_bool("can_be_sheared", self.can_be_sheared); + NbtTag::Compound(compound) + } + default_impl!(Equippable); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct RepairableImpl; +impl DataComponentImpl for RepairableImpl { + default_impl!(Repairable); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct GliderImpl; +impl DataComponentImpl for GliderImpl { + default_impl!(Glider); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct DeathProtectionImpl; +impl DataComponentImpl for DeathProtectionImpl { + default_impl!(DeathProtection); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct BlocksAttacksImpl; +impl DataComponentImpl for BlocksAttacksImpl { + default_impl!(BlocksAttacks); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct PiercingWeaponImpl; +impl DataComponentImpl for PiercingWeaponImpl { + default_impl!(PiercingWeapon); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct KineticWeaponImpl; +impl DataComponentImpl for KineticWeaponImpl { + default_impl!(KineticWeapon); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct SwingAnimationImpl; +impl DataComponentImpl for SwingAnimationImpl { + default_impl!(SwingAnimation); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct AdditionalTradeCostImpl; +impl DataComponentImpl for AdditionalTradeCostImpl { + default_impl!(AdditionalTradeCost); +} + +#[derive(Clone, Hash, PartialEq, Eq)] +pub struct StoredEnchantmentsImpl { + pub enchantment: Cow<'static, [(&'static Enchantment, i32)]>, +} +impl StoredEnchantmentsImpl { + pub fn read_data(data: &NbtTag) -> Option { + let data = &data.extract_compound()?.child_tags; + let mut enc = Vec::with_capacity(data.len()); + for (name, level) in data { + enc.push((Enchantment::from_name(name.as_ref())?, level.extract_int()?)); + } + Some(Self { + enchantment: Cow::from(enc), + }) + } +} +impl DataComponentImpl for StoredEnchantmentsImpl { + fn write_data(&self) -> NbtTag { + let mut data = NbtCompound::new(); + for (enc, level) in self.enchantment.iter() { + data.put_int(enc.name, *level); + } + NbtTag::Compound(data) + } + fn get_hash(&self) -> i32 { + let mut digest = Digest::new(Crc32Iscsi); + digest.update(&[2u8]); + for (enc, level) in self.enchantment.iter() { + digest.update(&get_str_hash(enc.name).to_le_bytes()); + digest.update(&get_i32_hash(*level).to_le_bytes()); + } + digest.update(&[3u8]); + digest.finalize() as i32 + } + default_impl!(StoredEnchantments); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct OminousBottleAmplifierImpl { + pub amplifier: i32, +} +impl OminousBottleAmplifierImpl { + pub fn read_data(data: &NbtTag) -> Option { + data.extract_int().map(|amplifier| Self { amplifier }) + } +} +impl DataComponentImpl for OminousBottleAmplifierImpl { + fn write_data(&self) -> NbtTag { + NbtTag::Int(self.amplifier) + } + fn get_hash(&self) -> i32 { + get_i32_hash(self.amplifier) as i32 + } + default_impl!(OminousBottleAmplifier); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct TrimImpl; +impl DataComponentImpl for TrimImpl { + default_impl!(Trim); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct MinimumAttackChargeImpl; +impl DataComponentImpl for MinimumAttackChargeImpl { + default_impl!(MinimumAttackCharge); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct DamageTypeImpl; +impl DataComponentImpl for DamageTypeImpl { + default_impl!(DamageType); +} diff --git a/pumpkin-data/src/data_component_impl/entity_variant.rs b/pumpkin-data/src/data_component_impl/entity_variant.rs new file mode 100644 index 000000000..8337f6eaf --- /dev/null +++ b/pumpkin-data/src/data_component_impl/entity_variant.rs @@ -0,0 +1,58 @@ +use crate::data_component_impl::{DataComponentImpl, default_impl}; +use pumpkin_nbt::tag::NbtTag; +use std::borrow::Cow; + +macro_rules! string_variant { + ($name:ident, $struct_name:ident) => { + #[derive(Clone, Debug, Hash, PartialEq, Eq)] + pub struct $struct_name { + pub value: Cow<'static, str>, + } + impl $struct_name { + pub fn read_data(data: &NbtTag) -> Option { + data.extract_string().map(|v| Self { + value: Cow::Owned(v.to_string()), + }) + } + } + impl DataComponentImpl for $struct_name { + fn write_data(&self) -> NbtTag { + NbtTag::String(self.value.clone().into_owned().into()) + } + fn get_hash(&self) -> i32 { + crate::data_component_impl::get_str_hash(self.value.as_ref()) as i32 + } + default_impl!($name); + } + }; +} + +string_variant!(VillagerVariant, VillagerVariantImpl); +string_variant!(WolfVariant, WolfVariantImpl); +string_variant!(WolfSoundVariant, WolfSoundVariantImpl); +string_variant!(WolfCollar, WolfCollarImpl); +string_variant!(FoxVariant, FoxVariantImpl); +string_variant!(SalmonSize, SalmonSizeImpl); +string_variant!(ParrotVariant, ParrotVariantImpl); +string_variant!(TropicalFishPattern, TropicalFishPatternImpl); +string_variant!(TropicalFishBaseColor, TropicalFishBaseColorImpl); +string_variant!(TropicalFishPatternColor, TropicalFishPatternColorImpl); +string_variant!(MooshroomVariant, MooshroomVariantImpl); +string_variant!(RabbitVariant, RabbitVariantImpl); +string_variant!(PigVariant, PigVariantImpl); +string_variant!(PigSoundVariant, PigSoundVariantImpl); +string_variant!(CowVariant, CowVariantImpl); +string_variant!(CowSoundVariant, CowSoundVariantImpl); +string_variant!(ChickenVariant, ChickenVariantImpl); +string_variant!(ChickenSoundVariant, ChickenSoundVariantImpl); +string_variant!(ZombieNautilusVariant, ZombieNautilusVariantImpl); +string_variant!(FrogVariant, FrogVariantImpl); +string_variant!(HorseVariant, HorseVariantImpl); +string_variant!(PaintingVariant, PaintingVariantImpl); +string_variant!(LlamaVariant, LlamaVariantImpl); +string_variant!(AxolotlVariant, AxolotlVariantImpl); +string_variant!(CatVariant, CatVariantImpl); +string_variant!(CatSoundVariant, CatSoundVariantImpl); +string_variant!(CatCollar, CatCollarImpl); +string_variant!(SheepColor, SheepColorImpl); +string_variant!(ShulkerColor, ShulkerColorImpl); diff --git a/pumpkin-data/src/data_component_impl/food.rs b/pumpkin-data/src/data_component_impl/food.rs new file mode 100644 index 000000000..5d2f0056b --- /dev/null +++ b/pumpkin-data/src/data_component_impl/food.rs @@ -0,0 +1,548 @@ +use crate::data_component_impl::basic::SoundEvent; +use crate::data_component_impl::{ + DataComponentImpl, IDSet, IdOr, default_impl, get_f32_hash, get_i32_hash, get_idor, + get_idor_hash, get_idset_hash, get_str_hash, put_idor, +}; +use crate::effect::StatusEffect; +use crate::sound::Sound; +use crc_fast::CrcAlgorithm::Crc32Iscsi; +use crc_fast::Digest; +use pumpkin_nbt::compound::NbtCompound; +use pumpkin_nbt::tag::NbtTag; +use std::borrow::Cow; +use std::hash::{Hash, Hasher}; +use std::str::FromStr; + +#[derive(Clone, Debug, PartialEq)] +pub struct FoodImpl { + pub nutrition: i32, + pub saturation: f32, + pub can_always_eat: bool, +} +impl DataComponentImpl for FoodImpl { + default_impl!(Food); +} +impl Hash for FoodImpl { + fn hash(&self, state: &mut H) { + self.nutrition.hash(state); + unsafe { (*(&raw const self.saturation).cast::()).hash(state) }; + self.can_always_eat.hash(state); + } +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct StatusEffectInstance { + pub effect_id: Cow<'static, str>, + pub amplifier: i32, + pub duration: i32, + pub ambient: bool, + pub show_particles: bool, + pub show_icon: bool, +} + +impl StatusEffectInstance { + pub fn read_data(nbt: &NbtTag) -> Option { + let compound = nbt.extract_compound()?; + let effect_id = Cow::Owned(compound.get_string("id")?.to_string()); + let amplifier = compound.get_int("amplifier")?; + let duration = compound.get_int("duration")?; + let ambient = compound.get_bool("ambient")?; + let show_particles = compound.get_bool("show_particles")?; + let show_icon = compound.get_bool("show_icon")?; + Some(Self { + effect_id, + amplifier, + duration, + ambient, + show_particles, + show_icon, + }) + } + + pub fn as_nbt(&self) -> NbtTag { + let mut compound = NbtCompound::new(); + compound.put_string("id", self.effect_id.to_string()); + compound.put_int("amplifier", self.amplifier); + compound.put_int("duration", self.duration); + compound.put_bool("ambient", self.ambient); + compound.put_bool("show_particles", self.show_particles); + compound.put_bool("show_icon", self.show_icon); + NbtTag::Compound(compound) + } + + pub fn get_hash(&self) -> i32 { + let mut digest = Digest::new(Crc32Iscsi); + digest.update(&get_str_hash(self.effect_id.as_ref()).to_le_bytes()); + digest.update(&get_i32_hash(self.amplifier).to_le_bytes()); + digest.update(&get_i32_hash(self.duration).to_le_bytes()); + digest.update(&[self.ambient as u8]); + digest.update(&[self.show_particles as u8]); + digest.update(&[self.show_icon as u8]); + digest.finalize() as i32 + } +} + +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] +pub enum ConsumeAnimation { + None, + Eat, + Drink, + Block, + Bow, + Spear, + Crossbow, + Spyglass, + Horn, + Brush, +} + +impl ConsumeAnimation { + #[must_use] + pub const fn to_str(&self) -> &'static str { + match self { + ConsumeAnimation::None => "none", + ConsumeAnimation::Eat => "eat", + ConsumeAnimation::Drink => "drink", + ConsumeAnimation::Block => "block", + ConsumeAnimation::Bow => "bow", + ConsumeAnimation::Spear => "spear", + ConsumeAnimation::Crossbow => "crossbow", + ConsumeAnimation::Spyglass => "spyglass", + ConsumeAnimation::Horn => "horn", + ConsumeAnimation::Brush => "brush", + } + } +} +impl TryFrom for ConsumeAnimation { + type Error = (); + fn try_from(value: i32) -> Result { + match value { + 0 => Ok(Self::None), + 1 => Ok(Self::Eat), + 2 => Ok(Self::Drink), + 3 => Ok(Self::Block), + 4 => Ok(Self::Bow), + 5 => Ok(Self::Spear), + 6 => Ok(Self::Crossbow), + 7 => Ok(Self::Spyglass), + 8 => Ok(Self::Horn), + 9 => Ok(Self::Brush), + _ => Err(()), + } + } +} +impl FromStr for ConsumeAnimation { + type Err = (); + fn from_str(s: &str) -> Result { + match s { + "none" => Ok(Self::None), + "eat" => Ok(Self::Eat), + "drink" => Ok(Self::Drink), + "block" => Ok(Self::Block), + "bow" => Ok(Self::Bow), + "spear" => Ok(Self::Spear), + "crossbow" => Ok(Self::Crossbow), + "spyglass" => Ok(Self::Spyglass), + "horn" => Ok(Self::Horn), + "brush" => Ok(Self::Brush), + _ => Err(()), + } + } +} + +#[derive(Clone, Debug, PartialEq)] +pub enum ConsumeEffect { + ApplyEffects((Cow<'static, [StatusEffectInstance]>, f32)), + RemoveEffects(IDSet), + ClearAllEffects, + TeleportRandomly(f32), + PlaySound(IdOr), +} +impl Hash for ConsumeEffect { + fn hash(&self, state: &mut H) { + self.to_str().hash(state); + match self { + ConsumeEffect::ApplyEffects(tuple) => { + tuple.0.hash(state); + unsafe { (*(&raw const tuple.1).cast::()).hash(state) }; + } + ConsumeEffect::RemoveEffects(status_effect_instances) => { + status_effect_instances.hash(state) + } + ConsumeEffect::ClearAllEffects => (), + ConsumeEffect::TeleportRandomly(dst) => unsafe { + (*(&raw const dst).cast::()).hash(state) + }, + ConsumeEffect::PlaySound(id_or) => id_or.hash(state), + } + } +} +impl ConsumeEffect { + pub fn to_str(&self) -> &str { + match self { + ConsumeEffect::ApplyEffects(_) => "apply_effects", + ConsumeEffect::RemoveEffects(_) => "remove_effects", + ConsumeEffect::ClearAllEffects => "clear_all_effects", + ConsumeEffect::TeleportRandomly(_) => "teleport_randomly", + ConsumeEffect::PlaySound(_) => "play_sound", + } + } + pub fn registry_id(&self) -> u8 { + match self { + ConsumeEffect::ApplyEffects(_) => 0, + ConsumeEffect::RemoveEffects(_) => 1, + ConsumeEffect::ClearAllEffects => 2, + ConsumeEffect::TeleportRandomly(_) => 3, + ConsumeEffect::PlaySound(_) => 4, + } + } + pub fn read_data(nbt: &NbtTag) -> Option { + let compound = nbt.extract_compound()?; + let r#type = compound.get_string("type")?; + match r#type { + "remove_effects" => { + let idset = IDSet::read(compound.get("effects")?)?; + Some(Self::RemoveEffects(idset)) + } + "clear_all_effects" => Some(Self::ClearAllEffects), + "teleport_randomly" => { + let dst = compound.get_float("diameter")?; + Some(Self::TeleportRandomly(dst)) + } + "play_sound" => { + let sound = get_idor(compound, "sound", Sound::EntityGenericEat); + Some(Self::PlaySound(sound)) + } + "apply_effects" => { + let probability = compound.get_float("probability")?; + let effects_vec: Vec = compound + .get_list("effects")? + .iter() + .filter_map(StatusEffectInstance::read_data) + .collect(); + let effects: Cow<'static, [StatusEffectInstance]> = Cow::Owned(effects_vec); + Some(Self::ApplyEffects((effects, probability))) + } + _ => None, + } + } + pub fn as_nbt(&self) -> NbtTag { + let mut compound = NbtCompound::new(); + compound.put_string("type", self.to_str().to_string()); + match self { + ConsumeEffect::ApplyEffects(data) => { + let nbt_arr = data.0.iter().map(|x| x.as_nbt()).collect(); + compound.put_list("effects", nbt_arr); + compound.put_float("probability", data.1); + } + ConsumeEffect::RemoveEffects(idset) => idset.write(&mut compound, "effects"), + ConsumeEffect::ClearAllEffects => (), + ConsumeEffect::TeleportRandomly(dst) => compound.put_float("diameter", *dst), + ConsumeEffect::PlaySound(id_or) => { + put_idor(&mut compound, "sound", id_or); + } + } + NbtTag::Compound(compound) + } + pub fn get_hash(&self) -> i32 { + let mut digest = Digest::new(Crc32Iscsi); + match self { + ConsumeEffect::ApplyEffects((effects, probability)) => { + digest.update(&[1u8]); + for effect in effects.iter() { + digest.update(&effect.get_hash().to_le_bytes()); + } + digest.update(&[13u8]); + digest.update(&get_f32_hash(*probability).to_le_bytes()); + } + ConsumeEffect::RemoveEffects(idset) => { + digest.update(&[2u8]); + digest.update(&get_idset_hash(idset).to_le_bytes()); + } + ConsumeEffect::ClearAllEffects => { + digest.update(&[3u8]); + } + ConsumeEffect::TeleportRandomly(dst) => { + digest.update(&[4u8]); + digest.update(&get_f32_hash(*dst).to_le_bytes()); + } + ConsumeEffect::PlaySound(id_or) => { + digest.update(&[5u8]); + digest.update(&get_idor_hash(id_or).to_le_bytes()); + } + } + digest.finalize() as i32 + } +} + +#[derive(Clone, Debug, PartialEq)] +pub struct ConsumableImpl { + pub consume_seconds: f32, + pub animation: ConsumeAnimation, + pub sound_event: IdOr, + pub consume_particles: bool, + pub effects: Cow<'static, [ConsumeEffect]>, +} +impl ConsumableImpl { + pub const fn new( + consume_seconds: f32, + animation: ConsumeAnimation, + sound_event: IdOr, + consume_particles: bool, + effects: Cow<'static, [ConsumeEffect]>, + ) -> Self { + Self { + consume_seconds, + animation, + sound_event, + consume_particles, + effects, + } + } + #[must_use] + pub fn consume_ticks(&self) -> i32 { + (self.consume_seconds * 20.0) as i32 + } + pub fn read_data(data: &NbtTag) -> Option { + let compound = data.extract_compound()?; + let consume_seconds = compound.get_float("consume_seconds")?; + let animation = compound + .get_string("animation")? + .parse::() + .ok()?; + let sound_event = get_idor(compound, "sound", Sound::EntityGenericEat); + let consume_particles = compound.get_bool("has_consume_particles").unwrap_or(false); + let opt_list = compound.get_list("on_consume_effects"); + let effects: Cow<'static, [ConsumeEffect]> = if let Some(effect_list) = opt_list { + effect_list + .iter() + .filter_map(ConsumeEffect::read_data) + .collect() + } else { + Cow::Borrowed(&[]) + }; + Some(Self { + consume_seconds, + animation, + sound_event, + consume_particles, + effects, + }) + } +} +impl DataComponentImpl for ConsumableImpl { + fn write_data(&self) -> NbtTag { + let mut compound = NbtCompound::new(); + compound.put_float("consume_seconds", self.consume_seconds); + compound.put_string("animation", self.animation.to_str().to_string()); + put_idor(&mut compound, "sound", &self.sound_event); + compound.put_bool("has_consume_particles", self.consume_particles); + let nbt_vec = self.effects.iter().map(|x| x.as_nbt()).collect(); + compound.put_list("on_consume_effects", nbt_vec); + NbtTag::Compound(compound) + } + fn get_hash(&self) -> i32 { + let mut digest = Digest::new(Crc32Iscsi); + digest.update(&[2u8]); + digest.update(&get_f32_hash(self.consume_seconds).to_le_bytes()); + digest.update(&get_i32_hash(self.animation as i32).to_le_bytes()); + digest.update(&get_idor_hash(&self.sound_event).to_be_bytes()); + digest.update(&[self.consume_particles as u8]); + for effect in self.effects.iter() { + digest.update(&effect.get_hash().to_le_bytes()); + } + digest.update(&[3u8]); + digest.finalize() as i32 + } + default_impl!(Consumable); +} +impl Hash for ConsumableImpl { + fn hash(&self, state: &mut H) { + unsafe { (*(&raw const self.consume_seconds).cast::()).hash(state) }; + } +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct UseEffectsImpl; +impl DataComponentImpl for UseEffectsImpl { + default_impl!(UseEffects); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct UseRemainderImpl; +impl DataComponentImpl for UseRemainderImpl { + default_impl!(UseRemainder); +} + +#[derive(Clone, Debug, PartialEq, serde::Serialize, serde::Deserialize)] +pub struct UseCooldownImpl { + pub seconds: f32, + pub cooldown_group: Option, +} +impl UseCooldownImpl { + pub fn new(seconds: f32, cooldown_group: Option) -> Self { + Self { + seconds, + cooldown_group, + } + } + pub fn read_data(data: &NbtTag) -> Option { + let compound = data.extract_compound()?; + let seconds = compound.get_float("seconds")?; + let cooldown_group = compound.get_string("cooldown_group").map(|s| s.to_string()); + Some(Self { + seconds, + cooldown_group, + }) + } +} +impl DataComponentImpl for UseCooldownImpl { + fn write_data(&self) -> NbtTag { + let mut compound = NbtCompound::new(); + compound.put_float("seconds", self.seconds); + if let Some(group) = &self.cooldown_group { + compound.put_string("cooldown_group", group.clone()); + } + NbtTag::Compound(compound) + } + fn get_hash(&self) -> i32 { + let mut digest = Digest::new(Crc32Iscsi); + digest.update(&get_f32_hash(self.seconds).to_le_bytes()); + if let Some(group) = &self.cooldown_group { + digest.update(&get_str_hash(group).to_le_bytes()); + } + digest.finalize() as i32 + } + default_impl!(UseCooldown); +} +impl Eq for UseCooldownImpl {} +impl Hash for UseCooldownImpl { + fn hash(&self, state: &mut H) { + self.seconds.to_bits().hash(state); + self.cooldown_group.hash(state); + } +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct PotionContentsImpl { + pub potion_id: Option, + pub custom_color: Option, + pub custom_effects: Vec, + pub custom_name: Option, +} +impl PotionContentsImpl { + pub fn read_data(tag: &NbtTag) -> Option { + let compound = tag.extract_compound()?; + let potion_id = if let Some(id) = compound.get_int("potion") { + Some(id) + } else if let Some(name) = compound.get_string("potion") { + let name = name.strip_prefix("minecraft:").unwrap_or(name); + crate::potion::Potion::from_name(name).map(|p| p.id as i32) + } else { + None + }; + let custom_color = compound.get_int("custom_color"); + let custom_name = compound.get_string("custom_name").map(|s| s.to_string()); + let custom_effects = compound + .get_list("custom_effects") + .map(|list| { + list.iter() + .filter_map(|item| { + let effect_tag = item.extract_compound()?; + let id: Cow<'static, str> = + Cow::Owned(effect_tag.get_string("id")?.to_string()); + let amplifier = effect_tag + .get_int("amplifier") + .or_else(|| effect_tag.get_byte("amplifier").map(i32::from)) + .unwrap_or(0); + let duration = effect_tag + .get_int("duration") + .or_else(|| effect_tag.get_byte("duration").map(i32::from)) + .unwrap_or(0); + let ambient = effect_tag.get_bool("ambient").unwrap_or(false); + let show_particles = effect_tag.get_bool("show_particles").unwrap_or(true); + let show_icon = effect_tag.get_bool("show_icon").unwrap_or(true); + Some(StatusEffectInstance { + effect_id: id, + amplifier, + duration, + ambient, + show_particles, + show_icon, + }) + }) + .collect::>() + }) + .unwrap_or_default(); + Some(Self { + potion_id, + custom_color, + custom_effects, + custom_name, + }) + } +} +impl DataComponentImpl for PotionContentsImpl { + fn write_data(&self) -> NbtTag { + let mut compound = NbtCompound::new(); + if let Some(potion_id) = self.potion_id { + compound.put_int("potion", potion_id); + } + if let Some(color) = self.custom_color { + compound.put_int("custom_color", color); + } + if !self.custom_effects.is_empty() { + let mut effects_list = Vec::new(); + for effect in &self.custom_effects { + let mut effect_compound = NbtCompound::new(); + effect_compound.put_string("id", effect.effect_id.to_string()); + effect_compound.put_int("amplifier", effect.amplifier); + effect_compound.put_int("duration", effect.duration); + effect_compound.put_byte("ambient", effect.ambient as i8); + effect_compound.put_byte("show_particles", effect.show_particles as i8); + effect_compound.put_byte("show_icon", effect.show_icon as i8); + effects_list.push(NbtTag::Compound(effect_compound)); + } + compound.put("custom_effects", NbtTag::List(effects_list)); + } + if let Some(name) = &self.custom_name { + compound.put_string("custom_name", name.clone()); + } + NbtTag::Compound(compound) + } + fn get_hash(&self) -> i32 { + let mut digest = Digest::new(Crc32Iscsi); + if let Some(id) = self.potion_id { + digest.update(&[1u8]); + digest.update(&get_i32_hash(id).to_le_bytes()); + } + if let Some(color) = self.custom_color { + digest.update(&[2u8]); + digest.update(&get_i32_hash(color).to_le_bytes()); + } + if let Some(name) = &self.custom_name { + digest.update(&[3u8]); + digest.update(&get_str_hash(name).to_le_bytes()); + } + if !self.custom_effects.is_empty() { + digest.update(&[4u8]); + for effect in &self.custom_effects { + digest.update(&effect.get_hash().to_le_bytes()); + } + } + digest.finalize() as i32 + } + default_impl!(PotionContents); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct PotionDurationScaleImpl; +impl DataComponentImpl for PotionDurationScaleImpl { + default_impl!(PotionDurationScale); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct SuspiciousStewEffectsImpl; +impl DataComponentImpl for SuspiciousStewEffectsImpl { + default_impl!(SuspiciousStewEffects); +} diff --git a/pumpkin-data/src/data_component_impl/mod.rs b/pumpkin-data/src/data_component_impl/mod.rs new file mode 100644 index 000000000..cbfdc8d01 --- /dev/null +++ b/pumpkin-data/src/data_component_impl/mod.rs @@ -0,0 +1,607 @@ +#![allow(dead_code)] + +use crate::Block; +use crate::BlockId; +use crate::data_component::DataComponent; +use crate::effect::StatusEffect; +use crate::entity_type::EntityType; +use crate::sound::Sound; +use crate::tag::Taggable; +use crc_fast::CrcAlgorithm::Crc32Iscsi; +use crc_fast::Digest; +use pumpkin_nbt::compound::NbtCompound; +use pumpkin_nbt::tag::NbtTag; +use std::any::Any; +use std::borrow::Cow; + +pub trait DataComponentImpl: Send + Sync { + fn write_data(&self) -> NbtTag { + NbtTag::End + } + fn get_hash(&self) -> i32 { + 0 + } + /// make sure other is the same type component, or it will panic + fn equal(&self, other: &dyn DataComponentImpl) -> bool; + fn get_enum() -> DataComponent + where + Self: Sized; + fn get_self_enum(&self) -> DataComponent; // only for debugging + fn to_dyn(self) -> Box; + fn clone_dyn(&self) -> Box; + fn as_any(&self) -> &dyn Any; + fn as_mut_any(&mut self) -> &mut dyn Any; +} + +impl Clone for Box { + fn clone(&self) -> Self { + self.clone_dyn() + } +} + +#[inline] +pub fn get(value: &dyn DataComponentImpl) -> &T { + value.as_any().downcast_ref::().unwrap_or_else(|| { + panic!( + "you are trying to cast {} to {}", + value.get_self_enum().to_name(), + T::get_enum().to_name() + ) + }) +} + +#[inline] +pub fn get_mut(value: &mut dyn DataComponentImpl) -> &mut T { + value.as_mut_any().downcast_mut::().unwrap() +} + +macro_rules! default_impl { + ($t: ident) => { + fn equal(&self, other: &dyn crate::data_component_impl::DataComponentImpl) -> bool { + self == crate::data_component_impl::get::(other) + } + #[inline] + fn get_enum() -> crate::data_component::DataComponent + where + Self: Sized, + { + crate::data_component::DataComponent::$t + } + fn get_self_enum(&self) -> crate::data_component::DataComponent { + crate::data_component::DataComponent::$t + } + fn to_dyn(self) -> Box { + Box::new(self) + } + fn clone_dyn(&self) -> Box { + Box::new(self.clone()) + } + fn as_any(&self) -> &dyn std::any::Any { + self + } + fn as_mut_any(&mut self) -> &mut dyn std::any::Any { + self + } + }; +} + +pub(crate) use default_impl; + +pub fn get_str_hash(val: &str) -> u32 { + let mut digest = Digest::new(Crc32Iscsi); + digest.update(&[12u8]); + digest.update(&(val.len() as u32).to_le_bytes()); + let byte = val.as_bytes(); + for i in byte { + digest.update(&[*i, 0u8]); + } + digest.finalize() as u32 +} + +pub fn get_i32_hash(val: i32) -> u32 { + let mut digest = Digest::new(Crc32Iscsi); + digest.update(&[8u8]); + digest.update(&val.to_le_bytes()); + digest.finalize() as u32 +} + +pub fn get_f32_hash(val: f32) -> u32 { + let mut digest = Digest::new(Crc32Iscsi); + digest.update(&[7u8]); + digest.update(&val.to_bits().to_le_bytes()); + digest.finalize() as u32 +} + +pub fn get_idor_hash(val: &IdOr) -> u32 { + let mut digest = Digest::new(Crc32Iscsi); + digest.update(&[6u8]); + match val { + IdOr::Id(sound) => { + digest.update(&[1u8]); + digest.update(&get_str_hash(sound.to_name()).to_le_bytes()); + } + IdOr::Value(sound) => { + digest.update(&[2u8]); + digest.update(&get_str_hash(sound.sound_name.as_str()).to_le_bytes()); + if let Some(range) = sound.range { + digest.update(&[1u8]); + digest.update(&get_f32_hash(range).to_le_bytes()); + } else { + digest.update(&[0u8]); + } + } + } + digest.finalize() as u32 +} + +pub fn put_idor(nbt: &mut NbtCompound, key: &str, val: &IdOr) { + match val { + IdOr::Id(id) => nbt.put_string(key, format!("minecraft:{}", id.to_name())), + IdOr::Value(sound) => { + let mut sound_compound = NbtCompound::new(); + + sound_compound.put_string("sound_id", sound.sound_name.clone()); + if let Some(range) = sound.range { + sound_compound.put_float("range", range); + } + nbt.put(key, NbtTag::Compound(sound_compound)); + } + } +} + +pub fn get_idor(nbt: &NbtCompound, key: &str, default: Sound) -> IdOr { + if let Some(sound) = nbt.get_string(key) { + let sound = sound.strip_prefix("minecraft:").unwrap_or(sound); + IdOr::Id(Sound::from_name(sound).unwrap_or(default)) + } else if let Some(sound_compound) = nbt.get_compound(key) { + let sound_name = sound_compound + .get_string("sound_id") + .expect("SoundEvent compound must have a 'sound_id' field"); + let range = sound_compound.get_float("range"); + IdOr::Value(basic::SoundEvent { + sound_name: sound_name.to_string(), + range, + }) + } else { + IdOr::Id(default) + } +} + +pub fn get_idset_hash(val: &IDSet) -> u32 { + let mut digest = Digest::new(Crc32Iscsi); + match val { + IDSet::Tag(tag) => { + digest.update(&[1u8]); + digest.update(&get_str_hash(tag).to_le_bytes()); + } + IDSet::IDs(ids) => { + digest.update(&[2u8]); + for id in ids.iter() { + digest.update(&[3u8]); + digest.update(&get_i32_hash(id.registry_id() as i32).to_le_bytes()); + } + } + } + digest.finalize() as u32 +} + +pub trait IDSetContent { + fn registry_id(&self) -> u16; + fn to_string(&self) -> String; + fn from_id(id: u16) -> Option<&'static Self>; + fn from_str(name: &str) -> Option<&'static Self>; +} + +impl IDSetContent for Block { + fn registry_id(&self) -> u16 { + Taggable::registry_id(self) + } + + fn from_id(id: u16) -> Option<&'static Self> { + BlockId::new(id).map(Self::from_id) + } + + fn from_str(name: &str) -> Option<&'static Self> { + Block::from_name(name) + } + + fn to_string(&self) -> String { + self.name.to_string() + } +} + +#[derive(Clone, Hash, PartialEq, Debug)] +pub enum IDSet { + Tag(Cow<'static, str>), + IDs(Cow<'static, [&'static T]>), +} + +impl IDSet { + pub fn read(data: &NbtTag) -> Option { + match data.clone() { + NbtTag::String(tag) => { + if tag.starts_with("#") { + Some(Self::Tag(Cow::Owned(tag.strip_prefix("#")?.to_string()))) + } else { + Some(Self::IDs(Cow::Owned([T::from_str(tag.as_ref())?].to_vec()))) + } + } + NbtTag::List(nbt_tags) => { + let mut ids = Vec::<&T>::new(); + for nbt in nbt_tags { + if let NbtTag::String(id) = nbt + && let Some(instance) = T::from_str(id.as_ref()) + { + ids.push(instance); + } + } + Some(Self::IDs(Cow::Owned(ids))) + } + _ => None, + } + } + + pub fn write(&self, compound: &mut NbtCompound, key: &str) { + match self { + Self::Tag(cow) => { + let mut tag = cow.to_string(); + tag.insert(0, '#'); + compound.put_string(key, tag); + } + Self::IDs(arr) => { + let id_vec: Vec = arr + .iter() + .map(|x| NbtTag::String(x.to_string().into())) + .collect(); + compound.put_list(key, id_vec); + } + } + } +} + +#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +pub enum EquipmentType { + Hand, + HumanoidArmor, + AnimalArmor, + Saddle, +} + +#[derive(Clone, Hash, Eq, PartialEq)] +pub struct EquipmentSlotData { + pub slot_type: EquipmentType, + pub entity_id: i32, + pub max_count: i32, + pub index: i32, + pub name: Cow<'static, str>, +} + +#[derive(Clone, Hash, Eq, PartialEq)] +#[repr(i8)] +pub enum EquipmentSlot { + MainHand(EquipmentSlotData), + OffHand(EquipmentSlotData), + Feet(EquipmentSlotData), + Legs(EquipmentSlotData), + Chest(EquipmentSlotData), + Head(EquipmentSlotData), + Body(EquipmentSlotData), + Saddle(EquipmentSlotData), +} + +impl EquipmentSlot { + pub const MAIN_HAND: Self = Self::MainHand(EquipmentSlotData { + slot_type: EquipmentType::Hand, + entity_id: 0, + index: 0, + max_count: 0, + name: Cow::Borrowed("mainhand"), + }); + pub const OFF_HAND: Self = Self::OffHand(EquipmentSlotData { + slot_type: EquipmentType::Hand, + entity_id: 1, + index: 5, + max_count: 0, + name: Cow::Borrowed("offhand"), + }); + pub const FEET: Self = Self::Feet(EquipmentSlotData { + slot_type: EquipmentType::HumanoidArmor, + entity_id: 0, + index: 1, + max_count: 1, + name: Cow::Borrowed("feet"), + }); + pub const LEGS: Self = Self::Legs(EquipmentSlotData { + slot_type: EquipmentType::HumanoidArmor, + entity_id: 1, + index: 2, + max_count: 1, + name: Cow::Borrowed("legs"), + }); + pub const CHEST: Self = Self::Chest(EquipmentSlotData { + slot_type: EquipmentType::HumanoidArmor, + entity_id: 2, + index: 3, + max_count: 1, + name: Cow::Borrowed("chest"), + }); + pub const HEAD: Self = Self::Head(EquipmentSlotData { + slot_type: EquipmentType::HumanoidArmor, + entity_id: 3, + index: 4, + max_count: 1, + name: Cow::Borrowed("head"), + }); + pub const BODY: Self = Self::Body(EquipmentSlotData { + slot_type: EquipmentType::AnimalArmor, + entity_id: 0, + index: 6, + max_count: 1, + name: Cow::Borrowed("body"), + }); + pub const SADDLE: Self = Self::Saddle(EquipmentSlotData { + slot_type: EquipmentType::Saddle, + entity_id: 0, + index: 7, + max_count: 1, + name: Cow::Borrowed("saddle"), + }); + + #[must_use] + pub const fn get_entity_slot_id(&self) -> i32 { + match self { + Self::MainHand(data) => data.entity_id, + Self::OffHand(data) => data.entity_id, + Self::Feet(data) => data.entity_id, + Self::Legs(data) => data.entity_id, + Self::Chest(data) => data.entity_id, + Self::Head(data) => data.entity_id, + Self::Body(data) => data.entity_id, + Self::Saddle(data) => data.entity_id, + } + } + + #[must_use] + pub const fn get_slot_index(&self) -> i32 { + match self { + Self::MainHand(data) => data.index, + Self::OffHand(data) => data.index, + Self::Feet(data) => data.index, + Self::Legs(data) => data.index, + Self::Chest(data) => data.index, + Self::Head(data) => data.index, + Self::Body(data) => data.index, + Self::Saddle(data) => data.index, + } + } + + #[must_use] + pub fn from_slot_index(name: i32) -> Option<&'static Self> { + match name { + 0 => Some(&Self::MAIN_HAND), + 1 => Some(&Self::FEET), + 2 => Some(&Self::LEGS), + 3 => Some(&Self::CHEST), + 4 => Some(&Self::HEAD), + 5 => Some(&Self::OFF_HAND), + 6 => Some(&Self::BODY), + 7 => Some(&Self::SADDLE), + _ => None, + } + } + + #[must_use] + pub fn get_from_name(name: &str) -> Option<&'static Self> { + match name { + "mainhand" => Some(&Self::MAIN_HAND), + "offhand" => Some(&Self::OFF_HAND), + "feet" => Some(&Self::FEET), + "legs" => Some(&Self::LEGS), + "chest" => Some(&Self::CHEST), + "head" => Some(&Self::HEAD), + "body" => Some(&Self::BODY), + "saddle" => Some(&Self::SADDLE), + _ => None, + } + } + + #[must_use] + pub fn to_name(&self) -> &Cow<'static, str> { + match self { + Self::MainHand(data) => &data.name, + Self::OffHand(data) => &data.name, + Self::Feet(data) => &data.name, + Self::Legs(data) => &data.name, + Self::Chest(data) => &data.name, + Self::Head(data) => &data.name, + Self::Body(data) => &data.name, + Self::Saddle(data) => &data.name, + } + } + + #[must_use] + pub const fn get_offset_entity_slot_id(&self, offset: i32) -> i32 { + self.get_entity_slot_id() + offset + } + + #[must_use] + pub const fn slot_type(&self) -> EquipmentType { + match self { + Self::MainHand(data) => data.slot_type, + Self::OffHand(data) => data.slot_type, + Self::Feet(data) => data.slot_type, + Self::Legs(data) => data.slot_type, + Self::Chest(data) => data.slot_type, + Self::Head(data) => data.slot_type, + Self::Body(data) => data.slot_type, + Self::Saddle(data) => data.slot_type, + } + } + + #[must_use] + pub const fn is_armor_slot(&self) -> bool { + matches!( + self.slot_type(), + EquipmentType::HumanoidArmor | EquipmentType::AnimalArmor + ) + } + + #[must_use] + pub const fn discriminant(&self) -> i8 { + match self { + Self::MainHand(_) => 0, + Self::OffHand(_) => 1, + Self::Feet(_) => 2, + Self::Legs(_) => 3, + Self::Chest(_) => 4, + Self::Head(_) => 5, + Self::Body(_) => 6, + Self::Saddle(_) => 7, + } + } +} + +#[derive(Clone, PartialEq, Eq)] +pub enum EntityTypeOrTag { + Tag(&'static crate::tag::Tag), + Single(&'static EntityType), +} + +impl std::hash::Hash for EntityTypeOrTag { + fn hash(&self, state: &mut H) { + match self { + Self::Tag(tag) => { + for x in tag.0 { + x.hash(state); + } + } + Self::Single(entity_type) => { + entity_type.id.hash(state); + } + } + } +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub enum IdOr { + Id(Sound), + Value(T), +} + +pub mod basic; +pub mod block_entity; +pub mod book; +pub mod combat; +pub mod entity_variant; +pub mod food; +pub mod utility; + +// Re-export all component implementations +pub use basic::*; +pub use block_entity::*; +pub use book::*; +pub use combat::*; +pub use entity_variant::*; +pub use food::*; +pub use utility::*; + +#[must_use] +pub fn read_data(id: DataComponent, data: &NbtTag) -> Option> { + match id { + DataComponent::MaxStackSize => Some(MaxStackSizeImpl::read_data(data)?.to_dyn()), + DataComponent::CustomData => Some(CustomDataImpl::read_data(data)?.to_dyn()), + DataComponent::Enchantments => Some(EnchantmentsImpl::read_data(data)?.to_dyn()), + DataComponent::Damage => Some(DamageImpl::read_data(data)?.to_dyn()), + DataComponent::Unbreakable => Some(UnbreakableImpl::read_data(data)?.to_dyn()), + DataComponent::DamageResistant => Some(DamageResistantImpl::read_data(data)?.to_dyn()), + DataComponent::PotionContents => Some(PotionContentsImpl::read_data(data)?.to_dyn()), + DataComponent::Fireworks => Some(FireworksImpl::read_data(data)?.to_dyn()), + DataComponent::FireworkExplosion => Some(FireworkExplosionImpl::read_data(data)?.to_dyn()), + DataComponent::CustomName => Some(CustomNameImpl::read_data(data)?.to_dyn()), + DataComponent::ItemModel => Some(ItemModelImpl::read_data(data)?.to_dyn()), + DataComponent::Consumable => Some(ConsumableImpl::read_data(data)?.to_dyn()), + DataComponent::Equippable => Some(EquippableImpl::read_data(data)?.to_dyn()), + DataComponent::StoredEnchantments => { + Some(StoredEnchantmentsImpl::read_data(data)?.to_dyn()) + } + DataComponent::UseCooldown => Some(UseCooldownImpl::read_data(data)?.to_dyn()), + DataComponent::MapId => Some(MapIdImpl::read_data(data)?.to_dyn()), + DataComponent::ChargedProjectiles => { + Some(ChargedProjectilesImpl::read_data(data)?.to_dyn()) + } + DataComponent::BlockEntityData => Some(BlockEntityDataImpl::read_data(data)?.to_dyn()), + DataComponent::BundleContents => Some(BundleContentsImpl::read_data(data)?.to_dyn()), + DataComponent::Container => Some(ContainerImpl::read_data(data)?.to_dyn()), + DataComponent::WrittenBookContent => { + Some(WrittenBookContentImpl::read_data(data)?.to_dyn()) + } + DataComponent::WritableBookContent => { + Some(WritableBookContentImpl::read_data(data)?.to_dyn()) + } + DataComponent::OminousBottleAmplifier => { + Some(OminousBottleAmplifierImpl::read_data(data)?.to_dyn()) + } + DataComponent::BlockState => Some(BlockStateImpl::read_data(data)?.to_dyn()), + DataComponent::Profile => Some(ProfileImpl::read_data(data)?.to_dyn()), + DataComponent::ChickenVariant => Some(ChickenVariantImpl::read_data(data)?.to_dyn()), + DataComponent::VillagerVariant => Some(VillagerVariantImpl::read_data(data)?.to_dyn()), + DataComponent::WolfVariant => Some(WolfVariantImpl::read_data(data)?.to_dyn()), + DataComponent::WolfSoundVariant => Some(WolfSoundVariantImpl::read_data(data)?.to_dyn()), + DataComponent::WolfCollar => Some(WolfCollarImpl::read_data(data)?.to_dyn()), + DataComponent::FoxVariant => Some(FoxVariantImpl::read_data(data)?.to_dyn()), + DataComponent::SalmonSize => Some(SalmonSizeImpl::read_data(data)?.to_dyn()), + DataComponent::ParrotVariant => Some(ParrotVariantImpl::read_data(data)?.to_dyn()), + DataComponent::TropicalFishPattern => { + Some(TropicalFishPatternImpl::read_data(data)?.to_dyn()) + } + DataComponent::TropicalFishBaseColor => { + Some(TropicalFishBaseColorImpl::read_data(data)?.to_dyn()) + } + DataComponent::TropicalFishPatternColor => { + Some(TropicalFishPatternColorImpl::read_data(data)?.to_dyn()) + } + DataComponent::MooshroomVariant => Some(MooshroomVariantImpl::read_data(data)?.to_dyn()), + DataComponent::RabbitVariant => Some(RabbitVariantImpl::read_data(data)?.to_dyn()), + DataComponent::PigVariant => Some(PigVariantImpl::read_data(data)?.to_dyn()), + DataComponent::PigSoundVariant => Some(PigSoundVariantImpl::read_data(data)?.to_dyn()), + DataComponent::CowVariant => Some(CowVariantImpl::read_data(data)?.to_dyn()), + DataComponent::CowSoundVariant => Some(CowSoundVariantImpl::read_data(data)?.to_dyn()), + DataComponent::ChickenSoundVariant => { + Some(ChickenSoundVariantImpl::read_data(data)?.to_dyn()) + } + DataComponent::ZombieNautilusVariant => { + Some(ZombieNautilusVariantImpl::read_data(data)?.to_dyn()) + } + DataComponent::FrogVariant => Some(FrogVariantImpl::read_data(data)?.to_dyn()), + DataComponent::HorseVariant => Some(HorseVariantImpl::read_data(data)?.to_dyn()), + DataComponent::PaintingVariant => Some(PaintingVariantImpl::read_data(data)?.to_dyn()), + DataComponent::LlamaVariant => Some(LlamaVariantImpl::read_data(data)?.to_dyn()), + DataComponent::AxolotlVariant => Some(AxolotlVariantImpl::read_data(data)?.to_dyn()), + DataComponent::CatVariant => Some(CatVariantImpl::read_data(data)?.to_dyn()), + DataComponent::CatSoundVariant => Some(CatSoundVariantImpl::read_data(data)?.to_dyn()), + DataComponent::CatCollar => Some(CatCollarImpl::read_data(data)?.to_dyn()), + DataComponent::SheepColor => Some(SheepColorImpl::read_data(data)?.to_dyn()), + DataComponent::ShulkerColor => Some(ShulkerColorImpl::read_data(data)?.to_dyn()), + _ => None, + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn hash() { + assert_eq!(get_str_hash("minecraft:sharpness"), 2734053906u32); + assert_eq!(get_i32_hash(3), 3795317917u32); + assert_eq!( + EnchantmentsImpl { + enchantment: Cow::Borrowed(&[(&crate::Enchantment::SHARPNESS, 2)]), + } + .get_hash(), + -1580618251i32 + ); + assert_eq!(MaxStackSizeImpl { size: 99 }.get_hash(), -1632321551i32); + assert_eq!(MapIdImpl { id: 10 }.get_hash(), -919192125i32); + } +} diff --git a/pumpkin-data/src/data_component_impl/utility.rs b/pumpkin-data/src/data_component_impl/utility.rs new file mode 100644 index 000000000..50f5c5d04 --- /dev/null +++ b/pumpkin-data/src/data_component_impl/utility.rs @@ -0,0 +1,493 @@ +use crate::data_component_impl::{ + DataComponentImpl, default_impl, get_f32_hash, get_i32_hash, get_str_hash, +}; +use crc_fast::CrcAlgorithm::Crc32Iscsi; +use crc_fast::Digest; +use pumpkin_nbt::compound::NbtCompound; +use pumpkin_nbt::tag::NbtTag; + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct DyeImpl; +impl DataComponentImpl for DyeImpl { + default_impl!(Dye); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct DyedColorImpl; +impl DataComponentImpl for DyedColorImpl { + default_impl!(DyedColor); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct MapColorImpl; +impl DataComponentImpl for MapColorImpl { + default_impl!(MapColor); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct MapIdImpl { + pub id: i32, +} +impl MapIdImpl { + pub fn read_data(data: &NbtTag) -> Option { + data.extract_int().map(|id| Self { id }) + } +} +impl DataComponentImpl for MapIdImpl { + fn write_data(&self) -> NbtTag { + NbtTag::Int(self.id) + } + fn get_hash(&self) -> i32 { + get_i32_hash(self.id) as i32 + } + default_impl!(MapId); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct MapDecorationsImpl; +impl DataComponentImpl for MapDecorationsImpl { + default_impl!(MapDecorations); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct MapPostProcessingImpl; +impl DataComponentImpl for MapPostProcessingImpl { + default_impl!(MapPostProcessing); +} + +#[derive(Clone, Debug, PartialEq)] +pub struct ChargedProjectilesImpl { + pub projectiles: Vec, +} +impl ChargedProjectilesImpl { + pub fn read_data(data: &NbtTag) -> Option { + let list = data.extract_list()?; + let mut projectiles = Vec::new(); + for item in list { + projectiles.push(item.extract_compound()?.clone()); + } + Some(Self { projectiles }) + } +} +impl DataComponentImpl for ChargedProjectilesImpl { + fn write_data(&self) -> NbtTag { + let mut list = Vec::new(); + for item in &self.projectiles { + list.push(NbtTag::Compound(item.clone())); + } + NbtTag::List(list) + } + fn get_hash(&self) -> i32 { + 0 + } + default_impl!(ChargedProjectiles); +} + +#[derive(Clone)] +pub struct BundleContentsImpl { + pub items: Vec, +} +impl PartialEq for BundleContentsImpl { + fn eq(&self, _other: &Self) -> bool { + false + } +} +impl Eq for BundleContentsImpl {} +impl std::fmt::Debug for BundleContentsImpl { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "BundleContentsImpl") + } +} +impl BundleContentsImpl { + pub fn read_data(tag: &NbtTag) -> Option { + let mut items = Vec::new(); + if let NbtTag::List(l) = tag { + for item_tag in l { + if let NbtTag::Compound(c) = item_tag + && let Some(stack) = crate::item_stack::ItemStack::read_item_stack(c) + { + items.push(stack); + } + } + } + Some(Self { items }) + } + pub fn get_weight(&self) -> u32 { + self.items + .iter() + .map(|item| item.item_count as u32 * (64 / item.get_max_stack_size() as u32).max(1)) + .sum() + } + pub fn try_insert(&mut self, stack: &mut crate::item_stack::ItemStack) -> bool { + if stack.is_empty() || stack.get_data_component::().is_some() { + return false; + } + let weight_per_item = (64 / stack.get_max_stack_size() as u32).max(1); + let mut inserted_anything = false; + while stack.item_count > 0 && self.get_weight() + weight_per_item <= 64 { + if let Some(top) = self.items.first_mut() + && crate::item_stack::ItemStack::are_items_and_components_equal(top, stack) + && top.item_count < top.get_max_stack_size() + { + top.item_count += 1; + stack.item_count -= 1; + inserted_anything = true; + continue; + } + self.items.insert(0, stack.copy_with_count(1)); + stack.item_count -= 1; + inserted_anything = true; + } + inserted_anything + } + pub fn try_extract(&mut self) -> Option { + if self.items.is_empty() { + None + } else { + Some(self.items.remove(0)) + } + } +} +impl DataComponentImpl for BundleContentsImpl { + default_impl!(BundleContents); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct LodestoneTrackerImpl; +impl DataComponentImpl for LodestoneTrackerImpl { + default_impl!(LodestoneTracker); +} + +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] +pub enum FireworkExplosionShape { + SmallBall = 0, + LargeBall = 1, + Star = 2, + Creeper = 3, + Burst = 4, +} +impl FireworkExplosionShape { + pub fn from_id(id: i32) -> Option { + match id { + 0 => Some(Self::SmallBall), + 1 => Some(Self::LargeBall), + 2 => Some(Self::Star), + 3 => Some(Self::Creeper), + 4 => Some(Self::Burst), + _ => None, + } + } + pub fn to_id(&self) -> i32 { + *self as i32 + } + pub fn to_name(&self) -> &str { + match self { + Self::SmallBall => "small_ball", + Self::LargeBall => "large_ball", + Self::Star => "star", + Self::Creeper => "creeper", + Self::Burst => "burst", + } + } + pub fn from_name(name: &str) -> Option { + match name { + "small_ball" => Some(Self::SmallBall), + "large_ball" => Some(Self::LargeBall), + "star" => Some(Self::Star), + "creeper" => Some(Self::Creeper), + "burst" => Some(Self::Burst), + _ => None, + } + } +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct FireworkExplosionImpl { + pub shape: FireworkExplosionShape, + pub colors: Vec, + pub fade_colors: Vec, + pub has_trail: bool, + pub has_twinkle: bool, +} +impl FireworkExplosionImpl { + pub fn new( + shape: FireworkExplosionShape, + colors: Vec, + fade_colors: Vec, + has_trail: bool, + has_twinkle: bool, + ) -> Self { + Self { + shape, + colors, + fade_colors, + has_trail, + has_twinkle, + } + } + pub fn read_data(tag: &NbtTag) -> Option { + let compound = tag.extract_compound()?; + let shape = FireworkExplosionShape::from_name(compound.get_string("shape")?)?; + let colors = compound + .get_int_array("colors") + .map(|v| v.to_vec()) + .unwrap_or_default(); + let fade_colors = compound + .get_int_array("fade_colors") + .map(|v| v.to_vec()) + .unwrap_or_default(); + let has_trail = compound.get_bool("has_trail").unwrap_or(false); + let has_twinkle = compound.get_bool("has_twinkle").unwrap_or(false); + Some(Self { + shape, + colors, + fade_colors, + has_trail, + has_twinkle, + }) + } +} +impl DataComponentImpl for FireworkExplosionImpl { + fn write_data(&self) -> NbtTag { + let mut compound = NbtCompound::new(); + compound.put_string("shape", self.shape.to_name().to_string()); + compound.put("colors", NbtTag::IntArray(self.colors.clone())); + compound.put("fade_colors", NbtTag::IntArray(self.fade_colors.clone())); + compound.put_bool("has_trail", self.has_trail); + compound.put_bool("has_twinkle", self.has_twinkle); + NbtTag::Compound(compound) + } + fn get_hash(&self) -> i32 { + let mut digest = Digest::new(Crc32Iscsi); + digest.update(&[2u8]); + digest.update(&[self.shape.to_id() as u8]); + for color in &self.colors { + digest.update(&get_i32_hash(*color).to_le_bytes()); + } + digest.update(&[3u8]); + for color in &self.fade_colors { + digest.update(&get_i32_hash(*color).to_le_bytes()); + } + digest.update(&[4u8]); + digest.update(&[self.has_trail as u8]); + digest.update(&[self.has_twinkle as u8]); + digest.finalize() as i32 + } + default_impl!(FireworkExplosion); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct FireworksImpl { + pub flight_duration: i32, + pub explosions: Vec, +} +impl FireworksImpl { + pub fn new(flight_duration: i32, explosions: Vec) -> Self { + Self { + flight_duration, + explosions, + } + } + pub fn read_data(tag: &NbtTag) -> Option { + let compound = tag.extract_compound()?; + let flight_duration = compound + .get_byte("flight_duration") + .map(i32::from) + .or_else(|| compound.get_int("flight_duration")) + .unwrap_or(1); + let mut explosions = Vec::new(); + if let Some(list) = compound.get_list("explosions") { + for item in list { + if let Some(explosion) = FireworkExplosionImpl::read_data(item) { + explosions.push(explosion); + } + } + } + Some(Self { + flight_duration, + explosions, + }) + } +} +impl DataComponentImpl for FireworksImpl { + fn write_data(&self) -> NbtTag { + let mut compound = NbtCompound::new(); + compound.put_int("flight_duration", self.flight_duration); + let explosions_list: Vec = self.explosions.iter().map(|e| e.write_data()).collect(); + compound.put_list("explosions", explosions_list); + NbtTag::Compound(compound) + } + fn get_hash(&self) -> i32 { + let mut digest = Digest::new(Crc32Iscsi); + digest.update(&[2u8]); + digest.update(&get_i32_hash(self.flight_duration).to_le_bytes()); + for explosion in &self.explosions { + digest.update(&get_i32_hash(explosion.get_hash()).to_le_bytes()); + } + digest.update(&[3u8]); + digest.finalize() as i32 + } + default_impl!(Fireworks); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct ProfileProperty { + pub name: String, + pub value: String, + pub signature: Option, +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq, Default)] +pub struct ProfileImpl { + pub name: Option, + pub id: Option<[i32; 4]>, + pub properties: Vec, + pub texture: Option, + pub cape: Option, + pub elytra: Option, + pub model: Option, +} +impl ProfileImpl { + pub fn read_data(data: &NbtTag) -> Option { + match data { + NbtTag::String(name) => Some(Self { + name: Some(name.to_string()), + ..Default::default() + }), + NbtTag::Compound(compound) => { + let name = compound.get_string("name").map(String::from); + let id = compound.get_int_array("id").and_then(|arr| { + if arr.len() == 4 { + Some([arr[0], arr[1], arr[2], arr[3]]) + } else { + None + } + }); + let mut properties = Vec::new(); + if let Some(props_list) = compound.get_list("properties") { + for prop_tag in props_list { + if let Some(prop_comp) = prop_tag.extract_compound() + && let (Some(prop_name), Some(prop_value)) = + (prop_comp.get_string("name"), prop_comp.get_string("value")) + { + properties.push(ProfileProperty { + name: prop_name.to_string(), + value: prop_value.to_string(), + signature: prop_comp.get_string("signature").map(String::from), + }); + } + } + } + let texture = compound.get_string("texture").map(String::from); + let cape = compound.get_string("cape").map(String::from); + let elytra = compound.get_string("elytra").map(String::from); + let model = compound.get_string("model").map(String::from); + Some(Self { + name, + id, + properties, + texture, + cape, + elytra, + model, + }) + } + _ => None, + } + } +} +impl DataComponentImpl for ProfileImpl { + fn write_data(&self) -> NbtTag { + let mut compound = NbtCompound::new(); + if let Some(name) = &self.name { + compound.put_string("name", name.clone()); + } + if let Some(id) = &self.id { + compound.put("id", NbtTag::IntArray(id.to_vec())); + } + if !self.properties.is_empty() { + let mut props_list = Vec::new(); + for prop in &self.properties { + let mut prop_comp = NbtCompound::new(); + prop_comp.put_string("name", prop.name.clone()); + prop_comp.put_string("value", prop.value.clone()); + if let Some(sig) = &prop.signature { + prop_comp.put_string("signature", sig.clone()); + } + props_list.push(NbtTag::Compound(prop_comp)); + } + compound.put_list("properties", props_list); + } + if let Some(texture) = &self.texture { + compound.put_string("texture", texture.clone()); + } + if let Some(cape) = &self.cape { + compound.put_string("cape", cape.clone()); + } + if let Some(elytra) = &self.elytra { + compound.put_string("elytra", elytra.clone()); + } + if let Some(model) = &self.model { + compound.put_string("model", model.clone()); + } + NbtTag::Compound(compound) + } + fn get_hash(&self) -> i32 { + let mut digest = Digest::new(Crc32Iscsi); + if let Some(name) = &self.name { + digest.update(&[1u8]); + digest.update(&get_str_hash(name).to_le_bytes()); + } + if let Some(id) = &self.id { + digest.update(&[2u8]); + for val in id { + digest.update(&get_i32_hash(*val).to_le_bytes()); + } + } + if !self.properties.is_empty() { + digest.update(&[3u8]); + for prop in &self.properties { + digest.update(&get_str_hash(&prop.name).to_le_bytes()); + digest.update(&get_str_hash(&prop.value).to_le_bytes()); + if let Some(sig) = &prop.signature { + digest.update(&[1u8]); + digest.update(&get_str_hash(sig).to_le_bytes()); + } else { + digest.update(&[0u8]); + } + } + } + if let Some(texture) = &self.texture { + digest.update(&[4u8]); + digest.update(&get_str_hash(texture).to_le_bytes()); + } + if let Some(cape) = &self.cape { + digest.update(&[5u8]); + digest.update(&get_str_hash(cape).to_le_bytes()); + } + if let Some(elytra) = &self.elytra { + digest.update(&[6u8]); + digest.update(&get_str_hash(elytra).to_le_bytes()); + } + if let Some(model) = &self.model { + digest.update(&[7u8]); + digest.update(&get_str_hash(model).to_le_bytes()); + } + digest.finalize() as i32 + } + default_impl!(Profile); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct JukeboxPlayableImpl { + pub song: &'static str, +} +impl DataComponentImpl for JukeboxPlayableImpl { + default_impl!(JukeboxPlayable); +} + +#[derive(Clone, Debug, Hash, PartialEq, Eq)] +pub struct RecipesImpl; +impl DataComponentImpl for RecipesImpl { + default_impl!(Recipes); +} diff --git a/pumpkin-data/src/generated/item.rs b/pumpkin-data/src/generated/item.rs index 9bce024d3..82bc72e94 100644 --- a/pumpkin-data/src/generated/item.rs +++ b/pumpkin-data/src/generated/item.rs @@ -96,6 +96,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:acacia_boat"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ACACIA_BUTTON: Self = Self { @@ -115,6 +134,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:acacia_button"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ACACIA_CHEST_BOAT: Self = Self { @@ -134,6 +172,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:acacia_chest_boat"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ACACIA_DOOR: Self = Self { @@ -153,6 +210,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:acacia_door"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ACACIA_FENCE: Self = Self { @@ -172,6 +248,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:acacia_fence"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ACACIA_FENCE_GATE: Self = Self { @@ -191,6 +286,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:acacia_fence_gate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ACACIA_HANGING_SIGN: Self = Self { @@ -210,6 +324,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:acacia_hanging_sign"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ACACIA_LEAVES: Self = Self { @@ -229,6 +362,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:acacia_leaves"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ACACIA_LOG: Self = Self { @@ -248,6 +400,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:acacia_log"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ACACIA_PLANKS: Self = Self { @@ -267,6 +438,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:acacia_planks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ACACIA_PRESSURE_PLATE: Self = Self { @@ -286,6 +476,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:acacia_pressure_plate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ACACIA_SAPLING: Self = Self { @@ -305,6 +514,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:acacia_sapling"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ACACIA_SHELF: Self = Self { @@ -324,6 +552,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:acacia_shelf"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ACACIA_SIGN: Self = Self { @@ -343,6 +591,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:acacia_sign"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ACACIA_SLAB: Self = Self { @@ -362,6 +629,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:acacia_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ACACIA_STAIRS: Self = Self { @@ -381,6 +667,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:acacia_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ACACIA_TRAPDOOR: Self = Self { @@ -400,6 +705,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:acacia_trapdoor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ACACIA_WOOD: Self = Self { @@ -419,6 +743,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:acacia_wood"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ACTIVATOR_RAIL: Self = Self { @@ -438,6 +781,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:activator_rail"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const AIR: Self = Self { @@ -457,6 +819,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:air"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ALLAY_SPAWN_EGG: Self = Self { @@ -476,6 +857,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:allay_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ALLIUM: Self = Self { @@ -495,6 +896,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:allium"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const AMETHYST_BLOCK: Self = Self { @@ -514,6 +934,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:amethyst_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const AMETHYST_CLUSTER: Self = Self { @@ -533,6 +972,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:amethyst_cluster"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const AMETHYST_SHARD: Self = Self { @@ -552,6 +1010,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:amethyst_shard"), + }, + ), + (Lore, &LoreImpl), + (ProvidesTrimMaterial, &ProvidesTrimMaterialImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ANCIENT_DEBRIS: Self = Self { @@ -577,6 +1055,25 @@ impl Item { res_type: DamageResistantType::Fire, }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:ancient_debris"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ANDESITE: Self = Self { @@ -596,6 +1093,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:andesite"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ANDESITE_SLAB: Self = Self { @@ -615,6 +1131,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:andesite_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ANDESITE_STAIRS: Self = Self { @@ -634,6 +1169,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:andesite_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ANDESITE_WALL: Self = Self { @@ -653,6 +1207,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:andesite_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ANGLER_POTTERY_SHERD: Self = Self { @@ -672,6 +1245,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:angler_pottery_sherd"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ANVIL: Self = Self { @@ -691,6 +1283,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:anvil"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const APPLE: Self = Self { @@ -728,6 +1339,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:apple"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ARCHER_POTTERY_SHERD: Self = Self { @@ -747,6 +1377,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:archer_pottery_sherd"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ARMADILLO_SCUTE: Self = Self { @@ -766,6 +1415,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:armadillo_scute"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ARMADILLO_SPAWN_EGG: Self = Self { @@ -785,6 +1453,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:armadillo_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ARMOR_STAND: Self = Self { @@ -804,6 +1492,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:armor_stand"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ARMS_UP_POTTERY_SHERD: Self = Self { @@ -823,6 +1530,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:arms_up_pottery_sherd"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ARROW: Self = Self { @@ -842,6 +1568,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:arrow"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const AXOLOTL_BUCKET: Self = Self { @@ -861,6 +1606,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (BucketEntityData, &BucketEntityDataImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:axolotl_bucket"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const AXOLOTL_SPAWN_EGG: Self = Self { @@ -880,6 +1645,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:axolotl_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const AZALEA: Self = Self { @@ -899,6 +1684,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:azalea"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const AZALEA_LEAVES: Self = Self { @@ -918,6 +1722,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:azalea_leaves"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const AZURE_BLUET: Self = Self { @@ -937,6 +1760,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:azure_bluet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BAKED_POTATO: Self = Self { @@ -974,6 +1816,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:baked_potato"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BAMBOO: Self = Self { @@ -993,6 +1854,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bamboo"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BAMBOO_BLOCK: Self = Self { @@ -1012,6 +1892,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bamboo_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BAMBOO_BUTTON: Self = Self { @@ -1031,6 +1930,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bamboo_button"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BAMBOO_CHEST_RAFT: Self = Self { @@ -1050,6 +1968,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bamboo_chest_raft"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BAMBOO_DOOR: Self = Self { @@ -1069,6 +2006,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bamboo_door"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BAMBOO_FENCE: Self = Self { @@ -1088,6 +2044,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bamboo_fence"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BAMBOO_FENCE_GATE: Self = Self { @@ -1107,6 +2082,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bamboo_fence_gate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BAMBOO_HANGING_SIGN: Self = Self { @@ -1126,6 +2120,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bamboo_hanging_sign"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BAMBOO_MOSAIC: Self = Self { @@ -1145,6 +2158,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bamboo_mosaic"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BAMBOO_MOSAIC_SLAB: Self = Self { @@ -1164,6 +2196,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bamboo_mosaic_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BAMBOO_MOSAIC_STAIRS: Self = Self { @@ -1183,6 +2234,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bamboo_mosaic_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BAMBOO_PLANKS: Self = Self { @@ -1202,6 +2272,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bamboo_planks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BAMBOO_PRESSURE_PLATE: Self = Self { @@ -1221,6 +2310,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bamboo_pressure_plate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BAMBOO_RAFT: Self = Self { @@ -1240,6 +2348,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bamboo_raft"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BAMBOO_SHELF: Self = Self { @@ -1259,6 +2386,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bamboo_shelf"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BAMBOO_SIGN: Self = Self { @@ -1278,6 +2425,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bamboo_sign"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BAMBOO_SLAB: Self = Self { @@ -1297,6 +2463,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bamboo_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BAMBOO_STAIRS: Self = Self { @@ -1316,6 +2501,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bamboo_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BAMBOO_TRAPDOOR: Self = Self { @@ -1335,6 +2539,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bamboo_trapdoor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BARREL: Self = Self { @@ -1354,6 +2577,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:barrel"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BARRIER: Self = Self { @@ -1373,6 +2616,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:barrier"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BASALT: Self = Self { @@ -1392,6 +2654,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:basalt"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BAT_SPAWN_EGG: Self = Self { @@ -1411,6 +2692,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bat_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BEACON: Self = Self { @@ -1430,6 +2731,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:beacon"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BEDROCK: Self = Self { @@ -1449,6 +2769,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bedrock"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BEE_NEST: Self = Self { @@ -1468,6 +2807,35 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (Bees, &BeesImpl), + ( + BlockState, + &BlockStateImpl { + properties: Cow::Borrowed(&[( + Cow::Borrowed("honey_level"), + Cow::Borrowed("0"), + )]), + }, + ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bee_nest"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BEE_SPAWN_EGG: Self = Self { @@ -1487,6 +2855,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bee_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BEEF: Self = Self { @@ -1524,6 +2912,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:beef"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BEEHIVE: Self = Self { @@ -1543,6 +2950,35 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (Bees, &BeesImpl), + ( + BlockState, + &BlockStateImpl { + properties: Cow::Borrowed(&[( + Cow::Borrowed("honey_level"), + Cow::Borrowed("0"), + )]), + }, + ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:beehive"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BEETROOT: Self = Self { @@ -1580,6 +3016,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:beetroot"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BEETROOT_SEEDS: Self = Self { @@ -1599,6 +3054,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:beetroot_seeds"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BEETROOT_SOUP: Self = Self { @@ -1636,6 +3110,26 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:beetroot_soup"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), + (UseRemainder, &UseRemainderImpl), ], }; pub const BELL: Self = Self { @@ -1655,6 +3149,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bell"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BIG_DRIPLEAF: Self = Self { @@ -1674,6 +3187,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:big_dripleaf"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BIRCH_BOAT: Self = Self { @@ -1693,6 +3225,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:birch_boat"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BIRCH_BUTTON: Self = Self { @@ -1712,6 +3263,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:birch_button"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BIRCH_CHEST_BOAT: Self = Self { @@ -1731,6 +3301,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:birch_chest_boat"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BIRCH_DOOR: Self = Self { @@ -1750,6 +3339,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:birch_door"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BIRCH_FENCE: Self = Self { @@ -1769,6 +3377,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:birch_fence"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BIRCH_FENCE_GATE: Self = Self { @@ -1788,6 +3415,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:birch_fence_gate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BIRCH_HANGING_SIGN: Self = Self { @@ -1807,6 +3453,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:birch_hanging_sign"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BIRCH_LEAVES: Self = Self { @@ -1826,6 +3491,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:birch_leaves"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BIRCH_LOG: Self = Self { @@ -1845,6 +3529,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:birch_log"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BIRCH_PLANKS: Self = Self { @@ -1864,6 +3567,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:birch_planks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BIRCH_PRESSURE_PLATE: Self = Self { @@ -1883,6 +3605,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:birch_pressure_plate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BIRCH_SAPLING: Self = Self { @@ -1902,6 +3643,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:birch_sapling"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BIRCH_SHELF: Self = Self { @@ -1921,6 +3681,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:birch_shelf"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BIRCH_SIGN: Self = Self { @@ -1940,6 +3720,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:birch_sign"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BIRCH_SLAB: Self = Self { @@ -1959,6 +3758,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:birch_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BIRCH_STAIRS: Self = Self { @@ -1978,6 +3796,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:birch_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BIRCH_TRAPDOOR: Self = Self { @@ -1997,6 +3834,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:birch_trapdoor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BIRCH_WOOD: Self = Self { @@ -2016,6 +3872,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:birch_wood"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLACK_BANNER: Self = Self { @@ -2035,6 +3910,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BannerPatterns, &BannerPatternsImpl), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:black_banner"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLACK_BED: Self = Self { @@ -2054,6 +3949,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:black_bed"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLACK_BUNDLE: Self = Self { @@ -2073,6 +3987,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (BundleContents, &BundleContentsImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:black_bundle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLACK_CANDLE: Self = Self { @@ -2092,6 +4026,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:black_candle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLACK_CARPET: Self = Self { @@ -2130,6 +4083,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemLlamaCarpetUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:black_carpet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLACK_CONCRETE: Self = Self { @@ -2149,6 +4121,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:black_concrete"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLACK_CONCRETE_POWDER: Self = Self { @@ -2168,6 +4159,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:black_concrete_powder"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLACK_DYE: Self = Self { @@ -2187,6 +4197,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Dye, &DyeImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:black_dye"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLACK_GLAZED_TERRACOTTA: Self = Self { @@ -2206,6 +4236,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:black_glazed_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLACK_HARNESS: Self = Self { @@ -2241,6 +4290,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::EntityHappyGhastUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:black_harness"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLACK_SHULKER_BOX: Self = Self { @@ -2260,6 +4328,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:black_shulker_box"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLACK_STAINED_GLASS: Self = Self { @@ -2279,6 +4367,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:black_stained_glass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLACK_STAINED_GLASS_PANE: Self = Self { @@ -2298,6 +4405,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:black_stained_glass_pane"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLACK_TERRACOTTA: Self = Self { @@ -2317,6 +4443,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:black_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLACK_WOOL: Self = Self { @@ -2336,6 +4481,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:black_wool"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLACKSTONE: Self = Self { @@ -2355,6 +4519,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blackstone"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLACKSTONE_SLAB: Self = Self { @@ -2374,6 +4557,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blackstone_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLACKSTONE_STAIRS: Self = Self { @@ -2393,6 +4595,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blackstone_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLACKSTONE_WALL: Self = Self { @@ -2412,6 +4633,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blackstone_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLADE_POTTERY_SHERD: Self = Self { @@ -2431,6 +4671,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blade_pottery_sherd"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLAST_FURNACE: Self = Self { @@ -2450,6 +4709,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blast_furnace"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLAZE_POWDER: Self = Self { @@ -2469,6 +4748,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blaze_powder"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLAZE_ROD: Self = Self { @@ -2488,6 +4786,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blaze_rod"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLAZE_SPAWN_EGG: Self = Self { @@ -2507,6 +4824,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blaze_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLUE_BANNER: Self = Self { @@ -2526,6 +4863,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BannerPatterns, &BannerPatternsImpl), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blue_banner"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLUE_BED: Self = Self { @@ -2545,6 +4902,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blue_bed"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLUE_BUNDLE: Self = Self { @@ -2564,6 +4940,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (BundleContents, &BundleContentsImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blue_bundle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLUE_CANDLE: Self = Self { @@ -2583,6 +4979,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blue_candle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLUE_CARPET: Self = Self { @@ -2621,6 +5036,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemLlamaCarpetUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blue_carpet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLUE_CONCRETE: Self = Self { @@ -2640,6 +5074,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blue_concrete"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLUE_CONCRETE_POWDER: Self = Self { @@ -2659,6 +5112,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blue_concrete_powder"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLUE_DYE: Self = Self { @@ -2678,6 +5150,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Dye, &DyeImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blue_dye"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLUE_EGG: Self = Self { @@ -2697,6 +5189,31 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + ChickenVariant, + &ChickenVariantImpl { + value: Cow::Borrowed("minecraft:cold"), + }, + ), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blue_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLUE_GLAZED_TERRACOTTA: Self = Self { @@ -2716,6 +5233,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blue_glazed_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLUE_HARNESS: Self = Self { @@ -2751,6 +5287,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::EntityHappyGhastUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blue_harness"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLUE_ICE: Self = Self { @@ -2770,6 +5325,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blue_ice"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLUE_ORCHID: Self = Self { @@ -2789,6 +5363,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blue_orchid"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLUE_SHULKER_BOX: Self = Self { @@ -2808,6 +5401,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blue_shulker_box"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLUE_STAINED_GLASS: Self = Self { @@ -2827,6 +5440,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blue_stained_glass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLUE_STAINED_GLASS_PANE: Self = Self { @@ -2846,6 +5478,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blue_stained_glass_pane"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLUE_TERRACOTTA: Self = Self { @@ -2865,6 +5516,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blue_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BLUE_WOOL: Self = Self { @@ -2884,6 +5554,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:blue_wool"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BOGGED_SPAWN_EGG: Self = Self { @@ -2903,6 +5592,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bogged_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BOLT_ARMOR_TRIM_SMITHING_TEMPLATE: Self = Self { @@ -2922,6 +5631,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bolt_armor_trim_smithing_template"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BONE: Self = Self { @@ -2941,6 +5669,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bone"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BONE_BLOCK: Self = Self { @@ -2960,6 +5707,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bone_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BONE_MEAL: Self = Self { @@ -2979,6 +5745,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bone_meal"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BOOK: Self = Self { @@ -2999,6 +5784,25 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 1 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:book"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BOOKSHELF: Self = Self { @@ -3018,6 +5822,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bookshelf"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BORDURE_INDENTED_BANNER_PATTERN: Self = Self { @@ -3037,6 +5860,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bordure_indented_banner_pattern"), + }, + ), + (Lore, &LoreImpl), + (ProvidesBannerPatterns, &ProvidesBannerPatternsImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BOW: Self = Self { @@ -3059,6 +5902,25 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 1 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bow"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BOWL: Self = Self { @@ -3078,6 +5940,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bowl"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BRAIN_CORAL: Self = Self { @@ -3097,6 +5978,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brain_coral"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BRAIN_CORAL_BLOCK: Self = Self { @@ -3116,6 +6016,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brain_coral_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BRAIN_CORAL_FAN: Self = Self { @@ -3135,6 +6054,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brain_coral_fan"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BREAD: Self = Self { @@ -3172,6 +6110,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bread"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BREEZE_ROD: Self = Self { @@ -3191,6 +6148,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:breeze_rod"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BREEZE_SPAWN_EGG: Self = Self { @@ -3210,6 +6186,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:breeze_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BREWER_POTTERY_SHERD: Self = Self { @@ -3229,6 +6225,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brewer_pottery_sherd"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BREWING_STAND: Self = Self { @@ -3248,6 +6263,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brewing_stand"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BRICK: Self = Self { @@ -3267,6 +6302,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brick"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BRICK_SLAB: Self = Self { @@ -3286,6 +6340,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brick_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BRICK_STAIRS: Self = Self { @@ -3305,6 +6378,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brick_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BRICK_WALL: Self = Self { @@ -3324,6 +6416,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brick_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BRICKS: Self = Self { @@ -3343,6 +6454,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BROWN_BANNER: Self = Self { @@ -3362,6 +6492,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BannerPatterns, &BannerPatternsImpl), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brown_banner"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BROWN_BED: Self = Self { @@ -3381,6 +6531,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brown_bed"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BROWN_BUNDLE: Self = Self { @@ -3400,6 +6569,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (BundleContents, &BundleContentsImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brown_bundle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BROWN_CANDLE: Self = Self { @@ -3419,6 +6608,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brown_candle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BROWN_CARPET: Self = Self { @@ -3457,6 +6665,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemLlamaCarpetUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brown_carpet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BROWN_CONCRETE: Self = Self { @@ -3476,6 +6703,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brown_concrete"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BROWN_CONCRETE_POWDER: Self = Self { @@ -3495,6 +6741,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brown_concrete_powder"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BROWN_DYE: Self = Self { @@ -3514,6 +6779,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Dye, &DyeImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brown_dye"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BROWN_EGG: Self = Self { @@ -3533,6 +6818,31 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + ChickenVariant, + &ChickenVariantImpl { + value: Cow::Borrowed("minecraft:warm"), + }, + ), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brown_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BROWN_GLAZED_TERRACOTTA: Self = Self { @@ -3552,6 +6862,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brown_glazed_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BROWN_HARNESS: Self = Self { @@ -3587,6 +6916,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::EntityHappyGhastUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brown_harness"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BROWN_MUSHROOM: Self = Self { @@ -3606,6 +6954,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brown_mushroom"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BROWN_MUSHROOM_BLOCK: Self = Self { @@ -3625,6 +6992,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brown_mushroom_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BROWN_SHULKER_BOX: Self = Self { @@ -3644,6 +7030,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brown_shulker_box"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BROWN_STAINED_GLASS: Self = Self { @@ -3663,6 +7069,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brown_stained_glass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BROWN_STAINED_GLASS_PANE: Self = Self { @@ -3682,6 +7107,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brown_stained_glass_pane"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BROWN_TERRACOTTA: Self = Self { @@ -3701,6 +7145,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brown_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BROWN_WOOL: Self = Self { @@ -3720,6 +7183,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brown_wool"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BRUSH: Self = Self { @@ -3741,6 +7223,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:brush"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BUBBLE_CORAL: Self = Self { @@ -3760,6 +7261,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bubble_coral"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BUBBLE_CORAL_BLOCK: Self = Self { @@ -3779,6 +7299,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bubble_coral_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BUBBLE_CORAL_FAN: Self = Self { @@ -3798,6 +7337,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bubble_coral_fan"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BUCKET: Self = Self { @@ -3817,6 +7375,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bucket"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BUDDING_AMETHYST: Self = Self { @@ -3836,6 +7413,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:budding_amethyst"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BUNDLE: Self = Self { @@ -3855,6 +7451,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (BundleContents, &BundleContentsImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bundle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BURN_POTTERY_SHERD: Self = Self { @@ -3874,6 +7490,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:burn_pottery_sherd"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const BUSH: Self = Self { @@ -3893,6 +7528,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:bush"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CACTUS: Self = Self { @@ -3912,6 +7566,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cactus"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CACTUS_FLOWER: Self = Self { @@ -3931,6 +7604,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cactus_flower"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CAKE: Self = Self { @@ -3950,6 +7642,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cake"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CALCITE: Self = Self { @@ -3969,6 +7680,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:calcite"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CALIBRATED_SCULK_SENSOR: Self = Self { @@ -3988,6 +7718,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:calibrated_sculk_sensor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CAMEL_HUSK_SPAWN_EGG: Self = Self { @@ -4007,6 +7756,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:camel_husk_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CAMEL_SPAWN_EGG: Self = Self { @@ -4026,6 +7795,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:camel_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CAMPFIRE: Self = Self { @@ -4045,6 +7834,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:campfire"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CANDLE: Self = Self { @@ -4064,6 +7873,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:candle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CARROT: Self = Self { @@ -4101,6 +7929,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:carrot"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CARROT_ON_A_STICK: Self = Self { @@ -4122,6 +7969,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:carrot_on_a_stick"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CARTOGRAPHY_TABLE: Self = Self { @@ -4141,6 +8007,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cartography_table"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CARVED_PUMPKIN: Self = Self { @@ -4182,6 +8067,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemShearsSnip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:carved_pumpkin"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CAT_SPAWN_EGG: Self = Self { @@ -4201,6 +8105,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cat_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CAULDRON: Self = Self { @@ -4220,6 +8144,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cauldron"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CAVE_SPIDER_SPAWN_EGG: Self = Self { @@ -4239,6 +8182,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cave_spider_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHAIN_COMMAND_BLOCK: Self = Self { @@ -4258,6 +8221,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chain_command_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHAINMAIL_BOOTS: Self = Self { @@ -4311,6 +8293,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 12 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chainmail_boots"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHAINMAIL_CHESTPLATE: Self = Self { @@ -4364,6 +8366,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 12 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chainmail_chestplate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHAINMAIL_HELMET: Self = Self { @@ -4417,6 +8439,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 12 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chainmail_helmet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHAINMAIL_LEGGINGS: Self = Self { @@ -4470,6 +8512,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 12 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chainmail_leggings"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHARCOAL: Self = Self { @@ -4489,6 +8551,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:charcoal"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHERRY_BOAT: Self = Self { @@ -4508,6 +8589,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cherry_boat"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHERRY_BUTTON: Self = Self { @@ -4527,6 +8627,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cherry_button"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHERRY_CHEST_BOAT: Self = Self { @@ -4546,6 +8665,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cherry_chest_boat"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHERRY_DOOR: Self = Self { @@ -4565,6 +8703,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cherry_door"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHERRY_FENCE: Self = Self { @@ -4584,6 +8741,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cherry_fence"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHERRY_FENCE_GATE: Self = Self { @@ -4603,6 +8779,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cherry_fence_gate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHERRY_HANGING_SIGN: Self = Self { @@ -4622,6 +8817,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cherry_hanging_sign"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHERRY_LEAVES: Self = Self { @@ -4641,6 +8855,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cherry_leaves"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHERRY_LOG: Self = Self { @@ -4660,6 +8893,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cherry_log"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHERRY_PLANKS: Self = Self { @@ -4679,6 +8931,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cherry_planks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHERRY_PRESSURE_PLATE: Self = Self { @@ -4698,6 +8969,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cherry_pressure_plate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHERRY_SAPLING: Self = Self { @@ -4717,6 +9007,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cherry_sapling"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHERRY_SHELF: Self = Self { @@ -4736,6 +9045,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cherry_shelf"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHERRY_SIGN: Self = Self { @@ -4755,6 +9084,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cherry_sign"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHERRY_SLAB: Self = Self { @@ -4774,6 +9122,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cherry_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHERRY_STAIRS: Self = Self { @@ -4793,6 +9160,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cherry_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHERRY_TRAPDOOR: Self = Self { @@ -4812,6 +9198,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cherry_trapdoor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHERRY_WOOD: Self = Self { @@ -4831,6 +9236,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cherry_wood"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHEST: Self = Self { @@ -4850,6 +9274,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chest"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHEST_MINECART: Self = Self { @@ -4869,6 +9313,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chest_minecart"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHICKEN: Self = Self { @@ -4916,6 +9379,25 @@ impl Item { ))]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chicken"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHICKEN_SPAWN_EGG: Self = Self { @@ -4935,6 +9417,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chicken_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHIPPED_ANVIL: Self = Self { @@ -4954,6 +9456,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chipped_anvil"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHISELED_BOOKSHELF: Self = Self { @@ -4973,6 +9494,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chiseled_bookshelf"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHISELED_CINNABAR: Self = Self { @@ -4992,6 +9533,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chiseled_cinnabar"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHISELED_COPPER: Self = Self { @@ -5011,6 +9571,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chiseled_copper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHISELED_DEEPSLATE: Self = Self { @@ -5030,6 +9609,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chiseled_deepslate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHISELED_NETHER_BRICKS: Self = Self { @@ -5049,6 +9647,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chiseled_nether_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHISELED_POLISHED_BLACKSTONE: Self = Self { @@ -5068,6 +9685,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chiseled_polished_blackstone"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHISELED_QUARTZ_BLOCK: Self = Self { @@ -5087,6 +9723,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chiseled_quartz_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHISELED_RED_SANDSTONE: Self = Self { @@ -5106,6 +9761,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chiseled_red_sandstone"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHISELED_RESIN_BRICKS: Self = Self { @@ -5125,6 +9799,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chiseled_resin_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHISELED_SANDSTONE: Self = Self { @@ -5144,6 +9837,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chiseled_sandstone"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHISELED_STONE_BRICKS: Self = Self { @@ -5163,6 +9875,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chiseled_stone_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHISELED_SULFUR: Self = Self { @@ -5182,6 +9913,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chiseled_sulfur"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHISELED_TUFF: Self = Self { @@ -5201,6 +9951,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chiseled_tuff"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHISELED_TUFF_BRICKS: Self = Self { @@ -5220,6 +9989,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chiseled_tuff_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHORUS_FLOWER: Self = Self { @@ -5239,6 +10027,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chorus_flower"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHORUS_FRUIT: Self = Self { @@ -5283,6 +10090,25 @@ impl Item { effects: Cow::Borrowed(&[ConsumeEffect::TeleportRandomly(16f32)]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chorus_fruit"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CHORUS_PLANT: Self = Self { @@ -5302,6 +10128,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:chorus_plant"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CINNABAR: Self = Self { @@ -5321,6 +10166,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cinnabar"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CINNABAR_BRICK_SLAB: Self = Self { @@ -5340,6 +10204,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cinnabar_brick_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CINNABAR_BRICK_STAIRS: Self = Self { @@ -5359,6 +10242,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cinnabar_brick_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CINNABAR_BRICK_WALL: Self = Self { @@ -5378,6 +10280,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cinnabar_brick_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CINNABAR_BRICKS: Self = Self { @@ -5397,6 +10318,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cinnabar_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CINNABAR_SLAB: Self = Self { @@ -5416,6 +10356,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cinnabar_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CINNABAR_STAIRS: Self = Self { @@ -5435,6 +10394,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cinnabar_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CINNABAR_WALL: Self = Self { @@ -5454,6 +10432,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cinnabar_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CLAY: Self = Self { @@ -5473,6 +10470,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:clay"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CLAY_BALL: Self = Self { @@ -5492,6 +10508,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:clay_ball"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CLOCK: Self = Self { @@ -5511,6 +10546,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:clock"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CLOSED_EYEBLOSSOM: Self = Self { @@ -5530,6 +10584,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:closed_eyeblossom"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COAL: Self = Self { @@ -5549,6 +10622,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:coal"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COAL_BLOCK: Self = Self { @@ -5568,6 +10660,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:coal_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COAL_ORE: Self = Self { @@ -5587,6 +10698,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:coal_ore"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COARSE_DIRT: Self = Self { @@ -5606,6 +10736,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:coarse_dirt"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COAST_ARMOR_TRIM_SMITHING_TEMPLATE: Self = Self { @@ -5625,6 +10774,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:coast_armor_trim_smithing_template"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COBBLED_DEEPSLATE: Self = Self { @@ -5644,6 +10812,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cobbled_deepslate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COBBLED_DEEPSLATE_SLAB: Self = Self { @@ -5663,6 +10850,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cobbled_deepslate_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COBBLED_DEEPSLATE_STAIRS: Self = Self { @@ -5682,6 +10888,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cobbled_deepslate_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COBBLED_DEEPSLATE_WALL: Self = Self { @@ -5701,6 +10926,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cobbled_deepslate_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COBBLESTONE: Self = Self { @@ -5720,6 +10964,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cobblestone"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COBBLESTONE_SLAB: Self = Self { @@ -5739,6 +11002,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cobblestone_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COBBLESTONE_STAIRS: Self = Self { @@ -5758,6 +11040,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cobblestone_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COBBLESTONE_WALL: Self = Self { @@ -5777,6 +11078,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cobblestone_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COBWEB: Self = Self { @@ -5796,6 +11116,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cobweb"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COCOA_BEANS: Self = Self { @@ -5815,6 +11154,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cocoa_beans"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COD: Self = Self { @@ -5852,6 +11210,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cod"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COD_BUCKET: Self = Self { @@ -5879,6 +11256,26 @@ impl Item { can_always_eat: false, }, ), + (BreakSound, &BreakSoundImpl), + (BucketEntityData, &BucketEntityDataImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cod_bucket"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COD_SPAWN_EGG: Self = Self { @@ -5898,6 +11295,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cod_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COMMAND_BLOCK: Self = Self { @@ -5917,6 +11334,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:command_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COMMAND_BLOCK_MINECART: Self = Self { @@ -5936,6 +11372,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:command_block_minecart"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COMPARATOR: Self = Self { @@ -5955,6 +11410,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:comparator"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COMPASS: Self = Self { @@ -5974,6 +11448,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:compass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COMPOSTER: Self = Self { @@ -5993,6 +11486,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:composter"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CONDUIT: Self = Self { @@ -6012,6 +11524,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:conduit"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COOKED_BEEF: Self = Self { @@ -6049,6 +11580,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cooked_beef"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COOKED_CHICKEN: Self = Self { @@ -6086,6 +11636,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cooked_chicken"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COOKED_COD: Self = Self { @@ -6123,6 +11692,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cooked_cod"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COOKED_MUTTON: Self = Self { @@ -6160,6 +11748,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cooked_mutton"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COOKED_PORKCHOP: Self = Self { @@ -6197,6 +11804,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cooked_porkchop"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COOKED_RABBIT: Self = Self { @@ -6234,6 +11860,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cooked_rabbit"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COOKED_SALMON: Self = Self { @@ -6271,6 +11916,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cooked_salmon"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COOKIE: Self = Self { @@ -6308,6 +11972,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cookie"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_AXE: Self = Self { @@ -6371,6 +12054,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 13 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_axe"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_BARS: Self = Self { @@ -6390,6 +12093,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_bars"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_BLOCK: Self = Self { @@ -6409,6 +12131,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_BOOTS: Self = Self { @@ -6462,6 +12203,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 8 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_boots"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_BULB: Self = Self { @@ -6481,6 +12242,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_bulb"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_CHAIN: Self = Self { @@ -6500,6 +12280,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_chain"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_CHEST: Self = Self { @@ -6519,6 +12318,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_chest"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_CHESTPLATE: Self = Self { @@ -6572,6 +12390,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 8 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_chestplate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_DOOR: Self = Self { @@ -6591,6 +12429,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_door"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_GOLEM_SPAWN_EGG: Self = Self { @@ -6610,6 +12467,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_golem_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_GOLEM_STATUE: Self = Self { @@ -6629,6 +12506,34 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + ( + BlockState, + &BlockStateImpl { + properties: Cow::Borrowed(&[( + Cow::Borrowed("copper_golem_pose"), + Cow::Borrowed("standing"), + )]), + }, + ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_golem_statue"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_GRATE: Self = Self { @@ -6648,6 +12553,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_grate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_HELMET: Self = Self { @@ -6701,6 +12625,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 8 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_helmet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_HOE: Self = Self { @@ -6764,6 +12708,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 13 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_hoe"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_HORSE_ARMOR: Self = Self { @@ -6814,6 +12778,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemHorseArmorUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_horse_armor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_INGOT: Self = Self { @@ -6833,6 +12816,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_ingot"), + }, + ), + (Lore, &LoreImpl), + (ProvidesTrimMaterial, &ProvidesTrimMaterialImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_LANTERN: Self = Self { @@ -6852,6 +12855,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_lantern"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_LEGGINGS: Self = Self { @@ -6905,6 +12927,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 8 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_leggings"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_NAUTILUS_ARMOR: Self = Self { @@ -6955,6 +12997,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemArmorUnequipNautilus), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_nautilus_armor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_NUGGET: Self = Self { @@ -6974,6 +13035,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_nugget"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_ORE: Self = Self { @@ -6993,6 +13073,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_ore"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_PICKAXE: Self = Self { @@ -7056,6 +13155,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 13 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_pickaxe"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_SHOVEL: Self = Self { @@ -7119,6 +13238,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 13 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_shovel"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_SPEAR: Self = Self { @@ -7162,6 +13301,31 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 13 }), + (AttackRange, &AttackRangeImpl), + (BreakSound, &BreakSoundImpl), + (DamageType, &DamageTypeImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_spear"), + }, + ), + (KineticWeapon, &KineticWeaponImpl), + (Lore, &LoreImpl), + (MinimumAttackCharge, &MinimumAttackChargeImpl), + (PiercingWeapon, &PiercingWeaponImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_SWORD: Self = Self { @@ -7230,6 +13394,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 13 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_sword"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_TORCH: Self = Self { @@ -7249,6 +13433,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_torch"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COPPER_TRAPDOOR: Self = Self { @@ -7268,6 +13471,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:copper_trapdoor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CORNFLOWER: Self = Self { @@ -7287,6 +13509,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cornflower"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const COW_SPAWN_EGG: Self = Self { @@ -7306,6 +13547,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cow_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRACKED_DEEPSLATE_BRICKS: Self = Self { @@ -7325,6 +13586,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cracked_deepslate_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRACKED_DEEPSLATE_TILES: Self = Self { @@ -7344,6 +13624,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cracked_deepslate_tiles"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRACKED_NETHER_BRICKS: Self = Self { @@ -7363,6 +13662,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cracked_nether_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRACKED_POLISHED_BLACKSTONE_BRICKS: Self = Self { @@ -7382,6 +13700,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cracked_polished_blackstone_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRACKED_STONE_BRICKS: Self = Self { @@ -7401,6 +13738,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cracked_stone_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRAFTER: Self = Self { @@ -7420,6 +13776,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:crafter"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRAFTING_TABLE: Self = Self { @@ -7439,6 +13815,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:crafting_table"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CREAKING_HEART: Self = Self { @@ -7458,6 +13853,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:creaking_heart"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CREAKING_SPAWN_EGG: Self = Self { @@ -7477,6 +13891,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:creaking_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CREEPER_BANNER_PATTERN: Self = Self { @@ -7496,6 +13930,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:creeper_banner_pattern"), + }, + ), + (Lore, &LoreImpl), + (ProvidesBannerPatterns, &ProvidesBannerPatternsImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CREEPER_HEAD: Self = Self { @@ -7537,6 +13991,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemShearsSnip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:creeper_head"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CREEPER_SPAWN_EGG: Self = Self { @@ -7556,6 +14029,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:creeper_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRIMSON_BUTTON: Self = Self { @@ -7575,6 +14068,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:crimson_button"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRIMSON_DOOR: Self = Self { @@ -7594,6 +14106,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:crimson_door"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRIMSON_FENCE: Self = Self { @@ -7613,6 +14144,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:crimson_fence"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRIMSON_FENCE_GATE: Self = Self { @@ -7632,6 +14182,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:crimson_fence_gate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRIMSON_FUNGUS: Self = Self { @@ -7651,6 +14220,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:crimson_fungus"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRIMSON_HANGING_SIGN: Self = Self { @@ -7670,6 +14258,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:crimson_hanging_sign"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRIMSON_HYPHAE: Self = Self { @@ -7689,6 +14296,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:crimson_hyphae"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRIMSON_NYLIUM: Self = Self { @@ -7708,6 +14334,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:crimson_nylium"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRIMSON_PLANKS: Self = Self { @@ -7727,6 +14372,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:crimson_planks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRIMSON_PRESSURE_PLATE: Self = Self { @@ -7746,6 +14410,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:crimson_pressure_plate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRIMSON_ROOTS: Self = Self { @@ -7765,6 +14448,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:crimson_roots"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRIMSON_SHELF: Self = Self { @@ -7784,6 +14486,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:crimson_shelf"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRIMSON_SIGN: Self = Self { @@ -7803,6 +14525,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:crimson_sign"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRIMSON_SLAB: Self = Self { @@ -7822,6 +14563,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:crimson_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRIMSON_STAIRS: Self = Self { @@ -7841,6 +14601,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:crimson_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRIMSON_STEM: Self = Self { @@ -7860,6 +14639,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:crimson_stem"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRIMSON_TRAPDOOR: Self = Self { @@ -7879,6 +14677,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:crimson_trapdoor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CROSSBOW: Self = Self { @@ -7901,6 +14718,31 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 1 }), + (BreakSound, &BreakSoundImpl), + ( + ChargedProjectiles, + &ChargedProjectilesImpl { + projectiles: Vec::new(), + }, + ), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:crossbow"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CRYING_OBSIDIAN: Self = Self { @@ -7920,6 +14762,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:crying_obsidian"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CUT_COPPER: Self = Self { @@ -7939,6 +14800,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cut_copper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CUT_COPPER_SLAB: Self = Self { @@ -7958,6 +14838,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cut_copper_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CUT_COPPER_STAIRS: Self = Self { @@ -7977,6 +14876,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cut_copper_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CUT_RED_SANDSTONE: Self = Self { @@ -7996,6 +14914,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cut_red_sandstone"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CUT_RED_SANDSTONE_SLAB: Self = Self { @@ -8015,6 +14952,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cut_red_sandstone_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CUT_SANDSTONE: Self = Self { @@ -8034,6 +14990,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cut_sandstone"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CUT_SANDSTONE_SLAB: Self = Self { @@ -8053,6 +15028,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cut_sandstone_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CYAN_BANNER: Self = Self { @@ -8072,6 +15066,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BannerPatterns, &BannerPatternsImpl), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cyan_banner"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CYAN_BED: Self = Self { @@ -8091,6 +15105,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cyan_bed"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CYAN_BUNDLE: Self = Self { @@ -8110,6 +15143,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (BundleContents, &BundleContentsImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cyan_bundle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CYAN_CANDLE: Self = Self { @@ -8129,6 +15182,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cyan_candle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CYAN_CARPET: Self = Self { @@ -8167,6 +15239,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemLlamaCarpetUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cyan_carpet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CYAN_CONCRETE: Self = Self { @@ -8186,6 +15277,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cyan_concrete"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CYAN_CONCRETE_POWDER: Self = Self { @@ -8205,6 +15315,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cyan_concrete_powder"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CYAN_DYE: Self = Self { @@ -8224,6 +15353,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Dye, &DyeImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cyan_dye"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CYAN_GLAZED_TERRACOTTA: Self = Self { @@ -8243,6 +15392,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cyan_glazed_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CYAN_HARNESS: Self = Self { @@ -8278,6 +15446,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::EntityHappyGhastUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cyan_harness"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CYAN_SHULKER_BOX: Self = Self { @@ -8297,6 +15484,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cyan_shulker_box"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CYAN_STAINED_GLASS: Self = Self { @@ -8316,6 +15523,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cyan_stained_glass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CYAN_STAINED_GLASS_PANE: Self = Self { @@ -8335,6 +15561,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cyan_stained_glass_pane"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CYAN_TERRACOTTA: Self = Self { @@ -8354,6 +15599,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cyan_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const CYAN_WOOL: Self = Self { @@ -8373,6 +15637,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:cyan_wool"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DAMAGED_ANVIL: Self = Self { @@ -8392,6 +15675,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:damaged_anvil"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DANDELION: Self = Self { @@ -8411,6 +15713,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dandelion"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DANGER_POTTERY_SHERD: Self = Self { @@ -8430,6 +15751,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:danger_pottery_sherd"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DARK_OAK_BOAT: Self = Self { @@ -8449,6 +15789,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dark_oak_boat"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DARK_OAK_BUTTON: Self = Self { @@ -8468,6 +15827,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dark_oak_button"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DARK_OAK_CHEST_BOAT: Self = Self { @@ -8487,6 +15865,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dark_oak_chest_boat"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DARK_OAK_DOOR: Self = Self { @@ -8506,6 +15903,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dark_oak_door"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DARK_OAK_FENCE: Self = Self { @@ -8525,6 +15941,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dark_oak_fence"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DARK_OAK_FENCE_GATE: Self = Self { @@ -8544,6 +15979,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dark_oak_fence_gate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DARK_OAK_HANGING_SIGN: Self = Self { @@ -8563,6 +16017,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dark_oak_hanging_sign"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DARK_OAK_LEAVES: Self = Self { @@ -8582,6 +16055,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dark_oak_leaves"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DARK_OAK_LOG: Self = Self { @@ -8601,6 +16093,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dark_oak_log"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DARK_OAK_PLANKS: Self = Self { @@ -8620,6 +16131,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dark_oak_planks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DARK_OAK_PRESSURE_PLATE: Self = Self { @@ -8639,6 +16169,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dark_oak_pressure_plate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DARK_OAK_SAPLING: Self = Self { @@ -8658,6 +16207,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dark_oak_sapling"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DARK_OAK_SHELF: Self = Self { @@ -8677,6 +16245,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dark_oak_shelf"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DARK_OAK_SIGN: Self = Self { @@ -8696,6 +16284,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dark_oak_sign"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DARK_OAK_SLAB: Self = Self { @@ -8715,6 +16322,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dark_oak_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DARK_OAK_STAIRS: Self = Self { @@ -8734,6 +16360,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dark_oak_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DARK_OAK_TRAPDOOR: Self = Self { @@ -8753,6 +16398,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dark_oak_trapdoor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DARK_OAK_WOOD: Self = Self { @@ -8772,6 +16436,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dark_oak_wood"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DARK_PRISMARINE: Self = Self { @@ -8791,6 +16474,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dark_prismarine"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DARK_PRISMARINE_SLAB: Self = Self { @@ -8810,6 +16512,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dark_prismarine_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DARK_PRISMARINE_STAIRS: Self = Self { @@ -8829,6 +16550,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dark_prismarine_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DAYLIGHT_DETECTOR: Self = Self { @@ -8848,6 +16588,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:daylight_detector"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEAD_BRAIN_CORAL: Self = Self { @@ -8867,6 +16626,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dead_brain_coral"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEAD_BRAIN_CORAL_BLOCK: Self = Self { @@ -8886,6 +16664,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dead_brain_coral_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEAD_BRAIN_CORAL_FAN: Self = Self { @@ -8905,6 +16702,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dead_brain_coral_fan"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEAD_BUBBLE_CORAL: Self = Self { @@ -8924,6 +16740,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dead_bubble_coral"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEAD_BUBBLE_CORAL_BLOCK: Self = Self { @@ -8943,6 +16778,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dead_bubble_coral_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEAD_BUBBLE_CORAL_FAN: Self = Self { @@ -8962,6 +16816,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dead_bubble_coral_fan"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEAD_BUSH: Self = Self { @@ -8981,6 +16854,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dead_bush"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEAD_FIRE_CORAL: Self = Self { @@ -9000,6 +16892,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dead_fire_coral"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEAD_FIRE_CORAL_BLOCK: Self = Self { @@ -9019,6 +16930,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dead_fire_coral_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEAD_FIRE_CORAL_FAN: Self = Self { @@ -9038,6 +16968,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dead_fire_coral_fan"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEAD_HORN_CORAL: Self = Self { @@ -9057,6 +17006,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dead_horn_coral"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEAD_HORN_CORAL_BLOCK: Self = Self { @@ -9076,6 +17044,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dead_horn_coral_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEAD_HORN_CORAL_FAN: Self = Self { @@ -9095,6 +17082,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dead_horn_coral_fan"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEAD_TUBE_CORAL: Self = Self { @@ -9114,6 +17120,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dead_tube_coral"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEAD_TUBE_CORAL_BLOCK: Self = Self { @@ -9133,6 +17158,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dead_tube_coral_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEAD_TUBE_CORAL_FAN: Self = Self { @@ -9152,6 +17196,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dead_tube_coral_fan"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEBUG_STICK: Self = Self { @@ -9171,6 +17234,27 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (DebugStickState, &DebugStickStateImpl), + (EnchantmentGlintOverride, &EnchantmentGlintOverrideImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:debug_stick"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DECORATED_POT: Self = Self { @@ -9190,6 +17274,27 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:decorated_pot"), + }, + ), + (Lore, &LoreImpl), + (PotDecorations, &PotDecorationsImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEEPSLATE: Self = Self { @@ -9209,6 +17314,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:deepslate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEEPSLATE_BRICK_SLAB: Self = Self { @@ -9228,6 +17352,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:deepslate_brick_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEEPSLATE_BRICK_STAIRS: Self = Self { @@ -9247,6 +17390,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:deepslate_brick_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEEPSLATE_BRICK_WALL: Self = Self { @@ -9266,6 +17428,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:deepslate_brick_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEEPSLATE_BRICKS: Self = Self { @@ -9285,6 +17466,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:deepslate_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEEPSLATE_COAL_ORE: Self = Self { @@ -9304,6 +17504,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:deepslate_coal_ore"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEEPSLATE_COPPER_ORE: Self = Self { @@ -9323,6 +17542,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:deepslate_copper_ore"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEEPSLATE_DIAMOND_ORE: Self = Self { @@ -9342,6 +17580,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:deepslate_diamond_ore"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEEPSLATE_EMERALD_ORE: Self = Self { @@ -9361,6 +17618,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:deepslate_emerald_ore"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEEPSLATE_GOLD_ORE: Self = Self { @@ -9380,6 +17656,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:deepslate_gold_ore"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEEPSLATE_IRON_ORE: Self = Self { @@ -9399,6 +17694,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:deepslate_iron_ore"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEEPSLATE_LAPIS_ORE: Self = Self { @@ -9418,6 +17732,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:deepslate_lapis_ore"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEEPSLATE_REDSTONE_ORE: Self = Self { @@ -9437,6 +17770,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:deepslate_redstone_ore"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEEPSLATE_TILE_SLAB: Self = Self { @@ -9456,6 +17808,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:deepslate_tile_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEEPSLATE_TILE_STAIRS: Self = Self { @@ -9475,6 +17846,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:deepslate_tile_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEEPSLATE_TILE_WALL: Self = Self { @@ -9494,6 +17884,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:deepslate_tile_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DEEPSLATE_TILES: Self = Self { @@ -9513,6 +17922,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:deepslate_tiles"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DETECTOR_RAIL: Self = Self { @@ -9532,6 +17960,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:detector_rail"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DIAMOND: Self = Self { @@ -9551,6 +17998,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:diamond"), + }, + ), + (Lore, &LoreImpl), + (ProvidesTrimMaterial, &ProvidesTrimMaterialImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DIAMOND_AXE: Self = Self { @@ -9614,6 +18081,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 10 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:diamond_axe"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DIAMOND_BLOCK: Self = Self { @@ -9633,6 +18120,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:diamond_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DIAMOND_BOOTS: Self = Self { @@ -9686,6 +18192,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 10 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:diamond_boots"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DIAMOND_CHESTPLATE: Self = Self { @@ -9739,6 +18265,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 10 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:diamond_chestplate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DIAMOND_HELMET: Self = Self { @@ -9792,6 +18338,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 10 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:diamond_helmet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DIAMOND_HOE: Self = Self { @@ -9855,6 +18421,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 10 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:diamond_hoe"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DIAMOND_HORSE_ARMOR: Self = Self { @@ -9905,6 +18491,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemHorseArmorUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:diamond_horse_armor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DIAMOND_LEGGINGS: Self = Self { @@ -9958,6 +18563,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 10 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:diamond_leggings"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DIAMOND_NAUTILUS_ARMOR: Self = Self { @@ -10008,6 +18633,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemArmorUnequipNautilus), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:diamond_nautilus_armor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DIAMOND_ORE: Self = Self { @@ -10027,6 +18671,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:diamond_ore"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DIAMOND_PICKAXE: Self = Self { @@ -10090,6 +18753,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 10 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:diamond_pickaxe"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DIAMOND_SHOVEL: Self = Self { @@ -10153,6 +18836,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 10 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:diamond_shovel"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DIAMOND_SPEAR: Self = Self { @@ -10196,6 +18899,31 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 10 }), + (AttackRange, &AttackRangeImpl), + (BreakSound, &BreakSoundImpl), + (DamageType, &DamageTypeImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:diamond_spear"), + }, + ), + (KineticWeapon, &KineticWeaponImpl), + (Lore, &LoreImpl), + (MinimumAttackCharge, &MinimumAttackChargeImpl), + (PiercingWeapon, &PiercingWeaponImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DIAMOND_SWORD: Self = Self { @@ -10264,6 +18992,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 10 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:diamond_sword"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DIORITE: Self = Self { @@ -10283,6 +19031,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:diorite"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DIORITE_SLAB: Self = Self { @@ -10302,6 +19069,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:diorite_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DIORITE_STAIRS: Self = Self { @@ -10321,6 +19107,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:diorite_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DIORITE_WALL: Self = Self { @@ -10340,6 +19145,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:diorite_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DIRT: Self = Self { @@ -10359,6 +19183,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dirt"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DIRT_PATH: Self = Self { @@ -10378,6 +19221,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dirt_path"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DISC_FRAGMENT_5: Self = Self { @@ -10397,6 +19259,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:disc_fragment_5"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DISPENSER: Self = Self { @@ -10416,6 +19297,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dispenser"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DOLPHIN_SPAWN_EGG: Self = Self { @@ -10435,6 +19336,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dolphin_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DONKEY_SPAWN_EGG: Self = Self { @@ -10454,6 +19375,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:donkey_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DRAGON_BREATH: Self = Self { @@ -10473,6 +19414,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dragon_breath"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DRAGON_EGG: Self = Self { @@ -10492,6 +19452,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dragon_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DRAGON_HEAD: Self = Self { @@ -10533,6 +19512,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemShearsSnip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dragon_head"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DRIED_GHAST: Self = Self { @@ -10552,6 +19550,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dried_ghast"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DRIED_KELP: Self = Self { @@ -10589,6 +19606,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dried_kelp"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DRIED_KELP_BLOCK: Self = Self { @@ -10608,6 +19644,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dried_kelp_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DRIPSTONE_BLOCK: Self = Self { @@ -10627,6 +19682,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dripstone_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DROPPER: Self = Self { @@ -10646,6 +19720,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dropper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DROWNED_SPAWN_EGG: Self = Self { @@ -10665,6 +19759,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:drowned_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const DUNE_ARMOR_TRIM_SMITHING_TEMPLATE: Self = Self { @@ -10684,6 +19798,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:dune_armor_trim_smithing_template"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ECHO_SHARD: Self = Self { @@ -10703,6 +19836,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:echo_shard"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const EGG: Self = Self { @@ -10722,6 +19874,31 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + ChickenVariant, + &ChickenVariantImpl { + value: Cow::Borrowed("minecraft:temperate"), + }, + ), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ELDER_GUARDIAN_SPAWN_EGG: Self = Self { @@ -10741,6 +19918,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:elder_guardian_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ELYTRA: Self = Self { @@ -10778,6 +19975,27 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemShearsSnip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (Glider, &GliderImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:elytra"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const EMERALD: Self = Self { @@ -10797,6 +20015,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:emerald"), + }, + ), + (Lore, &LoreImpl), + (ProvidesTrimMaterial, &ProvidesTrimMaterialImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const EMERALD_BLOCK: Self = Self { @@ -10816,6 +20054,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:emerald_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const EMERALD_ORE: Self = Self { @@ -10835,6 +20092,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:emerald_ore"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ENCHANTED_BOOK: Self = Self { @@ -10854,6 +20130,32 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (EnchantmentGlintOverride, &EnchantmentGlintOverrideImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:enchanted_book"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + ( + StoredEnchantments, + &StoredEnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ENCHANTED_GOLDEN_APPLE: Self = Self { @@ -10927,6 +20229,26 @@ impl Item { ))]), }, ), + (BreakSound, &BreakSoundImpl), + (EnchantmentGlintOverride, &EnchantmentGlintOverrideImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:enchanted_golden_apple"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ENCHANTING_TABLE: Self = Self { @@ -10946,6 +20268,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:enchanting_table"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const END_CRYSTAL: Self = Self { @@ -10965,6 +20306,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (EnchantmentGlintOverride, &EnchantmentGlintOverrideImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:end_crystal"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const END_PORTAL_FRAME: Self = Self { @@ -10984,6 +20345,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:end_portal_frame"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const END_ROD: Self = Self { @@ -11003,6 +20383,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:end_rod"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const END_STONE: Self = Self { @@ -11022,6 +20421,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:end_stone"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const END_STONE_BRICK_SLAB: Self = Self { @@ -11041,6 +20459,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:end_stone_brick_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const END_STONE_BRICK_STAIRS: Self = Self { @@ -11060,6 +20497,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:end_stone_brick_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const END_STONE_BRICK_WALL: Self = Self { @@ -11079,6 +20535,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:end_stone_brick_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const END_STONE_BRICKS: Self = Self { @@ -11098,6 +20573,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:end_stone_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ENDER_CHEST: Self = Self { @@ -11117,6 +20611,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:ender_chest"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ENDER_DRAGON_SPAWN_EGG: Self = Self { @@ -11136,6 +20649,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:ender_dragon_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ENDER_EYE: Self = Self { @@ -11155,6 +20688,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:ender_eye"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ENDER_PEARL: Self = Self { @@ -11181,6 +20733,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:ender_pearl"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ENDERMAN_SPAWN_EGG: Self = Self { @@ -11200,6 +20771,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:enderman_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ENDERMITE_SPAWN_EGG: Self = Self { @@ -11219,6 +20810,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:endermite_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const EVOKER_SPAWN_EGG: Self = Self { @@ -11238,6 +20849,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:evoker_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const EXPERIENCE_BOTTLE: Self = Self { @@ -11257,6 +20888,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (EnchantmentGlintOverride, &EnchantmentGlintOverrideImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:experience_bottle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const EXPLORER_POTTERY_SHERD: Self = Self { @@ -11276,6 +20927,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:explorer_pottery_sherd"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const EXPOSED_CHISELED_COPPER: Self = Self { @@ -11295,6 +20965,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:exposed_chiseled_copper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const EXPOSED_COPPER: Self = Self { @@ -11314,6 +21003,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:exposed_copper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const EXPOSED_COPPER_BARS: Self = Self { @@ -11333,6 +21041,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:exposed_copper_bars"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const EXPOSED_COPPER_BULB: Self = Self { @@ -11352,6 +21079,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:exposed_copper_bulb"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const EXPOSED_COPPER_CHAIN: Self = Self { @@ -11371,6 +21117,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:exposed_copper_chain"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const EXPOSED_COPPER_CHEST: Self = Self { @@ -11390,6 +21155,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:exposed_copper_chest"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const EXPOSED_COPPER_DOOR: Self = Self { @@ -11409,6 +21193,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:exposed_copper_door"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const EXPOSED_COPPER_GOLEM_STATUE: Self = Self { @@ -11428,6 +21231,34 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + ( + BlockState, + &BlockStateImpl { + properties: Cow::Borrowed(&[( + Cow::Borrowed("copper_golem_pose"), + Cow::Borrowed("standing"), + )]), + }, + ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:exposed_copper_golem_statue"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const EXPOSED_COPPER_GRATE: Self = Self { @@ -11447,6 +21278,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:exposed_copper_grate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const EXPOSED_COPPER_LANTERN: Self = Self { @@ -11466,6 +21316,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:exposed_copper_lantern"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const EXPOSED_COPPER_TRAPDOOR: Self = Self { @@ -11485,6 +21354,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:exposed_copper_trapdoor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const EXPOSED_CUT_COPPER: Self = Self { @@ -11504,6 +21392,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:exposed_cut_copper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const EXPOSED_CUT_COPPER_SLAB: Self = Self { @@ -11523,6 +21430,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:exposed_cut_copper_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const EXPOSED_CUT_COPPER_STAIRS: Self = Self { @@ -11542,6 +21468,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:exposed_cut_copper_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const EXPOSED_LIGHTNING_ROD: Self = Self { @@ -11561,6 +21506,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:exposed_lightning_rod"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const EYE_ARMOR_TRIM_SMITHING_TEMPLATE: Self = Self { @@ -11580,6 +21544,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:eye_armor_trim_smithing_template"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FARMLAND: Self = Self { @@ -11599,6 +21582,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:farmland"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FEATHER: Self = Self { @@ -11618,6 +21620,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:feather"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FERMENTED_SPIDER_EYE: Self = Self { @@ -11637,6 +21658,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:fermented_spider_eye"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FERN: Self = Self { @@ -11656,6 +21696,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:fern"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FIELD_MASONED_BANNER_PATTERN: Self = Self { @@ -11675,6 +21734,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:field_masoned_banner_pattern"), + }, + ), + (Lore, &LoreImpl), + (ProvidesBannerPatterns, &ProvidesBannerPatternsImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FILLED_MAP: Self = Self { @@ -11694,6 +21773,27 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:filled_map"), + }, + ), + (Lore, &LoreImpl), + (MapColor, &MapColorImpl), + (MapDecorations, &MapDecorationsImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FIRE_CHARGE: Self = Self { @@ -11713,6 +21813,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:fire_charge"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FIRE_CORAL: Self = Self { @@ -11732,6 +21851,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:fire_coral"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FIRE_CORAL_BLOCK: Self = Self { @@ -11751,6 +21889,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:fire_coral_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FIRE_CORAL_FAN: Self = Self { @@ -11770,6 +21927,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:fire_coral_fan"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FIREFLY_BUSH: Self = Self { @@ -11789,6 +21965,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:firefly_bush"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FIREWORK_ROCKET: Self = Self { @@ -11808,6 +22003,32 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + Fireworks, + &FireworksImpl { + flight_duration: 1i32, + explosions: Vec::new(), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:firework_rocket"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FIREWORK_STAR: Self = Self { @@ -11827,6 +22048,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:firework_star"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FISHING_ROD: Self = Self { @@ -11849,6 +22089,25 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 1 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:fishing_rod"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FLETCHING_TABLE: Self = Self { @@ -11868,6 +22127,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:fletching_table"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FLINT: Self = Self { @@ -11887,6 +22165,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:flint"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FLINT_AND_STEEL: Self = Self { @@ -11908,6 +22205,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:flint_and_steel"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FLOW_ARMOR_TRIM_SMITHING_TEMPLATE: Self = Self { @@ -11927,6 +22243,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:flow_armor_trim_smithing_template"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FLOW_BANNER_PATTERN: Self = Self { @@ -11946,6 +22281,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:flow_banner_pattern"), + }, + ), + (Lore, &LoreImpl), + (ProvidesBannerPatterns, &ProvidesBannerPatternsImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FLOW_POTTERY_SHERD: Self = Self { @@ -11965,6 +22320,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:flow_pottery_sherd"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FLOWER_BANNER_PATTERN: Self = Self { @@ -11984,6 +22358,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:flower_banner_pattern"), + }, + ), + (Lore, &LoreImpl), + (ProvidesBannerPatterns, &ProvidesBannerPatternsImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FLOWER_POT: Self = Self { @@ -12003,6 +22397,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:flower_pot"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FLOWERING_AZALEA: Self = Self { @@ -12022,6 +22435,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:flowering_azalea"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FLOWERING_AZALEA_LEAVES: Self = Self { @@ -12041,6 +22473,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:flowering_azalea_leaves"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FOX_SPAWN_EGG: Self = Self { @@ -12060,6 +22511,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:fox_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FRIEND_POTTERY_SHERD: Self = Self { @@ -12079,6 +22550,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:friend_pottery_sherd"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FROG_SPAWN_EGG: Self = Self { @@ -12098,6 +22588,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:frog_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FROGSPAWN: Self = Self { @@ -12117,6 +22627,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:frogspawn"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FURNACE: Self = Self { @@ -12136,6 +22665,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:furnace"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const FURNACE_MINECART: Self = Self { @@ -12155,6 +22704,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:furnace_minecart"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GHAST_SPAWN_EGG: Self = Self { @@ -12174,6 +22742,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:ghast_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GHAST_TEAR: Self = Self { @@ -12193,6 +22781,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:ghast_tear"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GILDED_BLACKSTONE: Self = Self { @@ -12212,6 +22819,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:gilded_blackstone"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GLASS: Self = Self { @@ -12231,6 +22857,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:glass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GLASS_BOTTLE: Self = Self { @@ -12250,6 +22895,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:glass_bottle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GLASS_PANE: Self = Self { @@ -12269,6 +22933,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:glass_pane"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GLISTERING_MELON_SLICE: Self = Self { @@ -12288,6 +22971,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:glistering_melon_slice"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GLOBE_BANNER_PATTERN: Self = Self { @@ -12307,6 +23009,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:globe_banner_pattern"), + }, + ), + (Lore, &LoreImpl), + (ProvidesBannerPatterns, &ProvidesBannerPatternsImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GLOW_BERRIES: Self = Self { @@ -12344,6 +23066,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:glow_berries"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GLOW_INK_SAC: Self = Self { @@ -12363,6 +23104,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:glow_ink_sac"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GLOW_ITEM_FRAME: Self = Self { @@ -12382,6 +23142,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:glow_item_frame"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GLOW_LICHEN: Self = Self { @@ -12401,6 +23180,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:glow_lichen"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GLOW_SQUID_SPAWN_EGG: Self = Self { @@ -12420,6 +23218,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:glow_squid_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GLOWSTONE: Self = Self { @@ -12439,6 +23257,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:glowstone"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GLOWSTONE_DUST: Self = Self { @@ -12458,6 +23295,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:glowstone_dust"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GOAT_HORN: Self = Self { @@ -12477,6 +23333,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (Instrument, &InstrumentImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:goat_horn"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GOAT_SPAWN_EGG: Self = Self { @@ -12496,6 +23372,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:goat_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GOLD_BLOCK: Self = Self { @@ -12515,6 +23411,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:gold_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GOLD_INGOT: Self = Self { @@ -12534,6 +23449,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:gold_ingot"), + }, + ), + (Lore, &LoreImpl), + (ProvidesTrimMaterial, &ProvidesTrimMaterialImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GOLD_NUGGET: Self = Self { @@ -12553,6 +23488,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:gold_nugget"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GOLD_ORE: Self = Self { @@ -12572,6 +23526,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:gold_ore"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GOLDEN_APPLE: Self = Self { @@ -12629,6 +23602,25 @@ impl Item { ))]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:golden_apple"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GOLDEN_AXE: Self = Self { @@ -12692,6 +23684,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 22 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:golden_axe"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GOLDEN_BOOTS: Self = Self { @@ -12745,6 +23757,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 25 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:golden_boots"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GOLDEN_CARROT: Self = Self { @@ -12782,6 +23814,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:golden_carrot"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GOLDEN_CHESTPLATE: Self = Self { @@ -12835,6 +23886,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 25 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:golden_chestplate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GOLDEN_DANDELION: Self = Self { @@ -12854,6 +23925,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:golden_dandelion"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GOLDEN_HELMET: Self = Self { @@ -12907,6 +23997,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 25 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:golden_helmet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GOLDEN_HOE: Self = Self { @@ -12970,6 +24080,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 22 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:golden_hoe"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GOLDEN_HORSE_ARMOR: Self = Self { @@ -13020,6 +24150,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemHorseArmorUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:golden_horse_armor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GOLDEN_LEGGINGS: Self = Self { @@ -13073,6 +24222,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 25 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:golden_leggings"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GOLDEN_NAUTILUS_ARMOR: Self = Self { @@ -13123,6 +24292,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemArmorUnequipNautilus), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:golden_nautilus_armor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GOLDEN_PICKAXE: Self = Self { @@ -13186,6 +24374,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 22 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:golden_pickaxe"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GOLDEN_SHOVEL: Self = Self { @@ -13249,6 +24457,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 22 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:golden_shovel"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GOLDEN_SPEAR: Self = Self { @@ -13292,6 +24520,31 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 22 }), + (AttackRange, &AttackRangeImpl), + (BreakSound, &BreakSoundImpl), + (DamageType, &DamageTypeImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:golden_spear"), + }, + ), + (KineticWeapon, &KineticWeaponImpl), + (Lore, &LoreImpl), + (MinimumAttackCharge, &MinimumAttackChargeImpl), + (PiercingWeapon, &PiercingWeaponImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GOLDEN_SWORD: Self = Self { @@ -13360,6 +24613,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 22 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:golden_sword"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GRANITE: Self = Self { @@ -13379,6 +24652,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:granite"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GRANITE_SLAB: Self = Self { @@ -13398,6 +24690,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:granite_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GRANITE_STAIRS: Self = Self { @@ -13417,6 +24728,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:granite_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GRANITE_WALL: Self = Self { @@ -13436,6 +24766,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:granite_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GRASS_BLOCK: Self = Self { @@ -13455,6 +24804,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:grass_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GRAVEL: Self = Self { @@ -13474,6 +24842,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:gravel"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GRAY_BANNER: Self = Self { @@ -13493,6 +24880,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BannerPatterns, &BannerPatternsImpl), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:gray_banner"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GRAY_BED: Self = Self { @@ -13512,6 +24919,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:gray_bed"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GRAY_BUNDLE: Self = Self { @@ -13531,6 +24957,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (BundleContents, &BundleContentsImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:gray_bundle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GRAY_CANDLE: Self = Self { @@ -13550,6 +24996,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:gray_candle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GRAY_CARPET: Self = Self { @@ -13588,6 +25053,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemLlamaCarpetUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:gray_carpet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GRAY_CONCRETE: Self = Self { @@ -13607,6 +25091,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:gray_concrete"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GRAY_CONCRETE_POWDER: Self = Self { @@ -13626,6 +25129,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:gray_concrete_powder"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GRAY_DYE: Self = Self { @@ -13645,6 +25167,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Dye, &DyeImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:gray_dye"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GRAY_GLAZED_TERRACOTTA: Self = Self { @@ -13664,6 +25206,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:gray_glazed_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GRAY_HARNESS: Self = Self { @@ -13699,6 +25260,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::EntityHappyGhastUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:gray_harness"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GRAY_SHULKER_BOX: Self = Self { @@ -13718,6 +25298,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:gray_shulker_box"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GRAY_STAINED_GLASS: Self = Self { @@ -13737,6 +25337,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:gray_stained_glass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GRAY_STAINED_GLASS_PANE: Self = Self { @@ -13756,6 +25375,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:gray_stained_glass_pane"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GRAY_TERRACOTTA: Self = Self { @@ -13775,6 +25413,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:gray_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GRAY_WOOL: Self = Self { @@ -13794,6 +25451,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:gray_wool"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GREEN_BANNER: Self = Self { @@ -13813,6 +25489,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BannerPatterns, &BannerPatternsImpl), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:green_banner"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GREEN_BED: Self = Self { @@ -13832,6 +25528,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:green_bed"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GREEN_BUNDLE: Self = Self { @@ -13851,6 +25566,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (BundleContents, &BundleContentsImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:green_bundle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GREEN_CANDLE: Self = Self { @@ -13870,6 +25605,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:green_candle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GREEN_CARPET: Self = Self { @@ -13908,6 +25662,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemLlamaCarpetUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:green_carpet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GREEN_CONCRETE: Self = Self { @@ -13927,6 +25700,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:green_concrete"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GREEN_CONCRETE_POWDER: Self = Self { @@ -13946,6 +25738,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:green_concrete_powder"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GREEN_DYE: Self = Self { @@ -13965,6 +25776,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Dye, &DyeImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:green_dye"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GREEN_GLAZED_TERRACOTTA: Self = Self { @@ -13984,6 +25815,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:green_glazed_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GREEN_HARNESS: Self = Self { @@ -14019,6 +25869,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::EntityHappyGhastUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:green_harness"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GREEN_SHULKER_BOX: Self = Self { @@ -14038,6 +25907,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:green_shulker_box"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GREEN_STAINED_GLASS: Self = Self { @@ -14057,6 +25946,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:green_stained_glass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GREEN_STAINED_GLASS_PANE: Self = Self { @@ -14076,6 +25984,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:green_stained_glass_pane"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GREEN_TERRACOTTA: Self = Self { @@ -14095,6 +26022,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:green_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GREEN_WOOL: Self = Self { @@ -14114,6 +26060,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:green_wool"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GRINDSTONE: Self = Self { @@ -14133,6 +26098,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:grindstone"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GUARDIAN_SPAWN_EGG: Self = Self { @@ -14152,6 +26136,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:guardian_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GUNPOWDER: Self = Self { @@ -14171,6 +26175,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:gunpowder"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GUSTER_BANNER_PATTERN: Self = Self { @@ -14190,6 +26213,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:guster_banner_pattern"), + }, + ), + (Lore, &LoreImpl), + (ProvidesBannerPatterns, &ProvidesBannerPatternsImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const GUSTER_POTTERY_SHERD: Self = Self { @@ -14209,6 +26252,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:guster_pottery_sherd"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const HANGING_ROOTS: Self = Self { @@ -14228,6 +26290,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:hanging_roots"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const HAPPY_GHAST_SPAWN_EGG: Self = Self { @@ -14247,6 +26328,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:happy_ghast_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const HAY_BLOCK: Self = Self { @@ -14266,6 +26367,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:hay_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const HEART_OF_THE_SEA: Self = Self { @@ -14285,6 +26405,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:heart_of_the_sea"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const HEART_POTTERY_SHERD: Self = Self { @@ -14304,6 +26443,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:heart_pottery_sherd"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const HEARTBREAK_POTTERY_SHERD: Self = Self { @@ -14323,6 +26481,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:heartbreak_pottery_sherd"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const HEAVY_CORE: Self = Self { @@ -14342,6 +26519,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:heavy_core"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const HEAVY_WEIGHTED_PRESSURE_PLATE: Self = Self { @@ -14361,6 +26557,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:heavy_weighted_pressure_plate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const HOGLIN_SPAWN_EGG: Self = Self { @@ -14380,6 +26595,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:hoglin_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const HONEY_BLOCK: Self = Self { @@ -14399,6 +26634,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:honey_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const HONEY_BOTTLE: Self = Self { @@ -14438,6 +26692,26 @@ impl Item { ))]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:honey_bottle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), + (UseRemainder, &UseRemainderImpl), ], }; pub const HONEYCOMB: Self = Self { @@ -14457,6 +26731,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:honeycomb"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const HONEYCOMB_BLOCK: Self = Self { @@ -14476,6 +26769,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:honeycomb_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const HOPPER: Self = Self { @@ -14495,6 +26807,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:hopper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const HOPPER_MINECART: Self = Self { @@ -14514,6 +26846,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:hopper_minecart"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const HORN_CORAL: Self = Self { @@ -14533,6 +26884,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:horn_coral"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const HORN_CORAL_BLOCK: Self = Self { @@ -14552,6 +26922,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:horn_coral_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const HORN_CORAL_FAN: Self = Self { @@ -14571,6 +26960,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:horn_coral_fan"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const HORSE_SPAWN_EGG: Self = Self { @@ -14590,6 +26998,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:horse_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const HOST_ARMOR_TRIM_SMITHING_TEMPLATE: Self = Self { @@ -14609,6 +27037,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:host_armor_trim_smithing_template"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const HOWL_POTTERY_SHERD: Self = Self { @@ -14628,6 +27075,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:howl_pottery_sherd"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const HUSK_SPAWN_EGG: Self = Self { @@ -14647,6 +27113,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:husk_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ICE: Self = Self { @@ -14666,6 +27152,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:ice"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const INFESTED_CHISELED_STONE_BRICKS: Self = Self { @@ -14685,6 +27190,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:infested_chiseled_stone_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const INFESTED_COBBLESTONE: Self = Self { @@ -14704,6 +27228,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:infested_cobblestone"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const INFESTED_CRACKED_STONE_BRICKS: Self = Self { @@ -14723,6 +27266,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:infested_cracked_stone_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const INFESTED_DEEPSLATE: Self = Self { @@ -14742,6 +27304,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:infested_deepslate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const INFESTED_MOSSY_STONE_BRICKS: Self = Self { @@ -14761,6 +27342,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:infested_mossy_stone_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const INFESTED_STONE: Self = Self { @@ -14780,6 +27380,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:infested_stone"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const INFESTED_STONE_BRICKS: Self = Self { @@ -14799,6 +27418,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:infested_stone_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const INK_SAC: Self = Self { @@ -14818,6 +27456,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:ink_sac"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const IRON_AXE: Self = Self { @@ -14881,6 +27538,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 14 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:iron_axe"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const IRON_BARS: Self = Self { @@ -14900,6 +27577,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:iron_bars"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const IRON_BLOCK: Self = Self { @@ -14919,6 +27615,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:iron_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const IRON_BOOTS: Self = Self { @@ -14972,6 +27687,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 9 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:iron_boots"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const IRON_CHAIN: Self = Self { @@ -14991,6 +27726,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:iron_chain"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const IRON_CHESTPLATE: Self = Self { @@ -15044,6 +27798,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 9 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:iron_chestplate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const IRON_DOOR: Self = Self { @@ -15063,6 +27837,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:iron_door"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const IRON_GOLEM_SPAWN_EGG: Self = Self { @@ -15082,6 +27875,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:iron_golem_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const IRON_HELMET: Self = Self { @@ -15135,6 +27948,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 9 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:iron_helmet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const IRON_HOE: Self = Self { @@ -15198,6 +28031,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 14 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:iron_hoe"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const IRON_HORSE_ARMOR: Self = Self { @@ -15248,6 +28101,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemHorseArmorUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:iron_horse_armor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const IRON_INGOT: Self = Self { @@ -15267,6 +28139,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:iron_ingot"), + }, + ), + (Lore, &LoreImpl), + (ProvidesTrimMaterial, &ProvidesTrimMaterialImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const IRON_LEGGINGS: Self = Self { @@ -15320,6 +28212,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 9 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:iron_leggings"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const IRON_NAUTILUS_ARMOR: Self = Self { @@ -15370,6 +28282,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemArmorUnequipNautilus), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:iron_nautilus_armor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const IRON_NUGGET: Self = Self { @@ -15389,6 +28320,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:iron_nugget"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const IRON_ORE: Self = Self { @@ -15408,6 +28358,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:iron_ore"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const IRON_PICKAXE: Self = Self { @@ -15471,6 +28440,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 14 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:iron_pickaxe"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const IRON_SHOVEL: Self = Self { @@ -15534,6 +28523,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 14 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:iron_shovel"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const IRON_SPEAR: Self = Self { @@ -15577,6 +28586,31 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 14 }), + (AttackRange, &AttackRangeImpl), + (BreakSound, &BreakSoundImpl), + (DamageType, &DamageTypeImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:iron_spear"), + }, + ), + (KineticWeapon, &KineticWeaponImpl), + (Lore, &LoreImpl), + (MinimumAttackCharge, &MinimumAttackChargeImpl), + (PiercingWeapon, &PiercingWeaponImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const IRON_SWORD: Self = Self { @@ -15645,6 +28679,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 14 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:iron_sword"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const IRON_TRAPDOOR: Self = Self { @@ -15664,6 +28718,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:iron_trapdoor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ITEM_FRAME: Self = Self { @@ -15683,6 +28756,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:item_frame"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const JACK_O_LANTERN: Self = Self { @@ -15702,6 +28794,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:jack_o_lantern"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const JIGSAW: Self = Self { @@ -15721,6 +28832,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:jigsaw"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const JUKEBOX: Self = Self { @@ -15740,6 +28870,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:jukebox"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const JUNGLE_BOAT: Self = Self { @@ -15759,6 +28908,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:jungle_boat"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const JUNGLE_BUTTON: Self = Self { @@ -15778,6 +28946,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:jungle_button"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const JUNGLE_CHEST_BOAT: Self = Self { @@ -15797,6 +28984,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:jungle_chest_boat"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const JUNGLE_DOOR: Self = Self { @@ -15816,6 +29022,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:jungle_door"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const JUNGLE_FENCE: Self = Self { @@ -15835,6 +29060,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:jungle_fence"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const JUNGLE_FENCE_GATE: Self = Self { @@ -15854,6 +29098,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:jungle_fence_gate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const JUNGLE_HANGING_SIGN: Self = Self { @@ -15873,6 +29136,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:jungle_hanging_sign"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const JUNGLE_LEAVES: Self = Self { @@ -15892,6 +29174,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:jungle_leaves"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const JUNGLE_LOG: Self = Self { @@ -15911,6 +29212,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:jungle_log"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const JUNGLE_PLANKS: Self = Self { @@ -15930,6 +29250,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:jungle_planks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const JUNGLE_PRESSURE_PLATE: Self = Self { @@ -15949,6 +29288,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:jungle_pressure_plate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const JUNGLE_SAPLING: Self = Self { @@ -15968,6 +29326,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:jungle_sapling"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const JUNGLE_SHELF: Self = Self { @@ -15987,6 +29364,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:jungle_shelf"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const JUNGLE_SIGN: Self = Self { @@ -16006,6 +29403,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:jungle_sign"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const JUNGLE_SLAB: Self = Self { @@ -16025,6 +29441,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:jungle_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const JUNGLE_STAIRS: Self = Self { @@ -16044,6 +29479,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:jungle_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const JUNGLE_TRAPDOOR: Self = Self { @@ -16063,6 +29517,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:jungle_trapdoor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const JUNGLE_WOOD: Self = Self { @@ -16082,6 +29555,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:jungle_wood"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const KELP: Self = Self { @@ -16101,6 +29593,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:kelp"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const KNOWLEDGE_BOOK: Self = Self { @@ -16120,6 +29631,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:knowledge_book"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (Recipes, &RecipesImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LADDER: Self = Self { @@ -16139,6 +29670,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:ladder"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LANTERN: Self = Self { @@ -16158,6 +29708,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lantern"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LAPIS_BLOCK: Self = Self { @@ -16177,6 +29746,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lapis_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LAPIS_LAZULI: Self = Self { @@ -16196,6 +29784,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lapis_lazuli"), + }, + ), + (Lore, &LoreImpl), + (ProvidesTrimMaterial, &ProvidesTrimMaterialImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LAPIS_ORE: Self = Self { @@ -16215,6 +29823,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lapis_ore"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LARGE_AMETHYST_BUD: Self = Self { @@ -16234,6 +29861,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:large_amethyst_bud"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LARGE_FERN: Self = Self { @@ -16253,6 +29899,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:large_fern"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LAVA_BUCKET: Self = Self { @@ -16272,6 +29937,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lava_bucket"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LEAD: Self = Self { @@ -16291,6 +29975,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lead"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LEAF_LITTER: Self = Self { @@ -16310,6 +30013,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:leaf_litter"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LEATHER: Self = Self { @@ -16329,6 +30051,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:leather"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LEATHER_BOOTS: Self = Self { @@ -16382,6 +30123,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 15 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:leather_boots"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LEATHER_CHESTPLATE: Self = Self { @@ -16435,6 +30196,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 15 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:leather_chestplate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LEATHER_HELMET: Self = Self { @@ -16488,6 +30269,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 15 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:leather_helmet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LEATHER_HORSE_ARMOR: Self = Self { @@ -16538,6 +30339,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemHorseArmorUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:leather_horse_armor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LEATHER_LEGGINGS: Self = Self { @@ -16591,6 +30411,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 15 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:leather_leggings"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LECTERN: Self = Self { @@ -16610,6 +30450,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lectern"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LEVER: Self = Self { @@ -16629,6 +30488,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lever"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT: Self = Self { @@ -16648,6 +30526,31 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + ( + BlockState, + &BlockStateImpl { + properties: Cow::Borrowed(&[(Cow::Borrowed("level"), Cow::Borrowed("15"))]), + }, + ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_BLUE_BANNER: Self = Self { @@ -16667,6 +30570,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BannerPatterns, &BannerPatternsImpl), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_blue_banner"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_BLUE_BED: Self = Self { @@ -16686,6 +30609,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_blue_bed"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_BLUE_BUNDLE: Self = Self { @@ -16705,6 +30647,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (BundleContents, &BundleContentsImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_blue_bundle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_BLUE_CANDLE: Self = Self { @@ -16724,6 +30686,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_blue_candle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_BLUE_CARPET: Self = Self { @@ -16762,6 +30743,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemLlamaCarpetUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_blue_carpet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_BLUE_CONCRETE: Self = Self { @@ -16781,6 +30781,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_blue_concrete"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_BLUE_CONCRETE_POWDER: Self = Self { @@ -16800,6 +30819,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_blue_concrete_powder"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_BLUE_DYE: Self = Self { @@ -16819,6 +30857,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Dye, &DyeImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_blue_dye"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_BLUE_GLAZED_TERRACOTTA: Self = Self { @@ -16838,6 +30896,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_blue_glazed_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_BLUE_HARNESS: Self = Self { @@ -16873,6 +30950,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::EntityHappyGhastUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_blue_harness"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_BLUE_SHULKER_BOX: Self = Self { @@ -16892,6 +30988,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_blue_shulker_box"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_BLUE_STAINED_GLASS: Self = Self { @@ -16911,6 +31027,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_blue_stained_glass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_BLUE_STAINED_GLASS_PANE: Self = Self { @@ -16930,6 +31065,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_blue_stained_glass_pane"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_BLUE_TERRACOTTA: Self = Self { @@ -16949,6 +31103,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_blue_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_BLUE_WOOL: Self = Self { @@ -16968,6 +31141,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_blue_wool"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_GRAY_BANNER: Self = Self { @@ -16987,6 +31179,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BannerPatterns, &BannerPatternsImpl), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_gray_banner"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_GRAY_BED: Self = Self { @@ -17006,6 +31218,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_gray_bed"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_GRAY_BUNDLE: Self = Self { @@ -17025,6 +31256,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (BundleContents, &BundleContentsImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_gray_bundle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_GRAY_CANDLE: Self = Self { @@ -17044,6 +31295,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_gray_candle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_GRAY_CARPET: Self = Self { @@ -17082,6 +31352,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemLlamaCarpetUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_gray_carpet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_GRAY_CONCRETE: Self = Self { @@ -17101,6 +31390,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_gray_concrete"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_GRAY_CONCRETE_POWDER: Self = Self { @@ -17120,6 +31428,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_gray_concrete_powder"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_GRAY_DYE: Self = Self { @@ -17139,6 +31466,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Dye, &DyeImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_gray_dye"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_GRAY_GLAZED_TERRACOTTA: Self = Self { @@ -17158,6 +31505,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_gray_glazed_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_GRAY_HARNESS: Self = Self { @@ -17193,6 +31559,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::EntityHappyGhastUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_gray_harness"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_GRAY_SHULKER_BOX: Self = Self { @@ -17212,6 +31597,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_gray_shulker_box"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_GRAY_STAINED_GLASS: Self = Self { @@ -17231,6 +31636,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_gray_stained_glass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_GRAY_STAINED_GLASS_PANE: Self = Self { @@ -17250,6 +31674,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_gray_stained_glass_pane"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_GRAY_TERRACOTTA: Self = Self { @@ -17269,6 +31712,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_gray_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_GRAY_WOOL: Self = Self { @@ -17288,6 +31750,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_gray_wool"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHT_WEIGHTED_PRESSURE_PLATE: Self = Self { @@ -17307,6 +31788,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:light_weighted_pressure_plate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIGHTNING_ROD: Self = Self { @@ -17326,6 +31826,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lightning_rod"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LILAC: Self = Self { @@ -17345,6 +31864,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lilac"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LILY_OF_THE_VALLEY: Self = Self { @@ -17364,6 +31902,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lily_of_the_valley"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LILY_PAD: Self = Self { @@ -17383,6 +31940,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lily_pad"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIME_BANNER: Self = Self { @@ -17402,6 +31978,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BannerPatterns, &BannerPatternsImpl), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lime_banner"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIME_BED: Self = Self { @@ -17421,6 +32017,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lime_bed"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIME_BUNDLE: Self = Self { @@ -17440,6 +32055,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (BundleContents, &BundleContentsImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lime_bundle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIME_CANDLE: Self = Self { @@ -17459,6 +32094,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lime_candle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIME_CARPET: Self = Self { @@ -17497,6 +32151,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemLlamaCarpetUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lime_carpet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIME_CONCRETE: Self = Self { @@ -17516,6 +32189,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lime_concrete"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIME_CONCRETE_POWDER: Self = Self { @@ -17535,6 +32227,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lime_concrete_powder"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIME_DYE: Self = Self { @@ -17554,6 +32265,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Dye, &DyeImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lime_dye"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIME_GLAZED_TERRACOTTA: Self = Self { @@ -17573,6 +32304,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lime_glazed_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIME_HARNESS: Self = Self { @@ -17608,6 +32358,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::EntityHappyGhastUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lime_harness"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIME_SHULKER_BOX: Self = Self { @@ -17627,6 +32396,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lime_shulker_box"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIME_STAINED_GLASS: Self = Self { @@ -17646,6 +32435,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lime_stained_glass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIME_STAINED_GLASS_PANE: Self = Self { @@ -17665,6 +32473,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lime_stained_glass_pane"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIME_TERRACOTTA: Self = Self { @@ -17684,6 +32511,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lime_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LIME_WOOL: Self = Self { @@ -17703,6 +32549,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lime_wool"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LINGERING_POTION: Self = Self { @@ -17722,6 +32587,35 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lingering_potion"), + }, + ), + (Lore, &LoreImpl), + ( + PotionContents, + &PotionContentsImpl { + potion_id: None, + custom_color: None, + custom_effects: Vec::new(), + custom_name: None, + }, + ), + (PotionDurationScale, &PotionDurationScaleImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LLAMA_SPAWN_EGG: Self = Self { @@ -17741,6 +32635,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:llama_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LODESTONE: Self = Self { @@ -17760,6 +32674,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:lodestone"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const LOOM: Self = Self { @@ -17779,6 +32712,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:loom"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MACE: Self = Self { @@ -17831,6 +32783,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 15 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mace"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MAGENTA_BANNER: Self = Self { @@ -17850,6 +32822,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BannerPatterns, &BannerPatternsImpl), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:magenta_banner"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MAGENTA_BED: Self = Self { @@ -17869,6 +32861,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:magenta_bed"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MAGENTA_BUNDLE: Self = Self { @@ -17888,6 +32899,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (BundleContents, &BundleContentsImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:magenta_bundle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MAGENTA_CANDLE: Self = Self { @@ -17907,6 +32938,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:magenta_candle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MAGENTA_CARPET: Self = Self { @@ -17945,6 +32995,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemLlamaCarpetUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:magenta_carpet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MAGENTA_CONCRETE: Self = Self { @@ -17964,6 +33033,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:magenta_concrete"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MAGENTA_CONCRETE_POWDER: Self = Self { @@ -17983,6 +33071,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:magenta_concrete_powder"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MAGENTA_DYE: Self = Self { @@ -18002,6 +33109,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Dye, &DyeImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:magenta_dye"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MAGENTA_GLAZED_TERRACOTTA: Self = Self { @@ -18021,6 +33148,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:magenta_glazed_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MAGENTA_HARNESS: Self = Self { @@ -18056,6 +33202,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::EntityHappyGhastUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:magenta_harness"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MAGENTA_SHULKER_BOX: Self = Self { @@ -18075,6 +33240,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:magenta_shulker_box"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MAGENTA_STAINED_GLASS: Self = Self { @@ -18094,6 +33279,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:magenta_stained_glass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MAGENTA_STAINED_GLASS_PANE: Self = Self { @@ -18113,6 +33317,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:magenta_stained_glass_pane"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MAGENTA_TERRACOTTA: Self = Self { @@ -18132,6 +33355,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:magenta_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MAGENTA_WOOL: Self = Self { @@ -18151,6 +33393,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:magenta_wool"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MAGMA_BLOCK: Self = Self { @@ -18170,6 +33431,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:magma_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MAGMA_CREAM: Self = Self { @@ -18189,6 +33469,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:magma_cream"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MAGMA_CUBE_SPAWN_EGG: Self = Self { @@ -18208,6 +33507,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:magma_cube_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MANGROVE_BOAT: Self = Self { @@ -18227,6 +33546,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mangrove_boat"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MANGROVE_BUTTON: Self = Self { @@ -18246,6 +33584,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mangrove_button"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MANGROVE_CHEST_BOAT: Self = Self { @@ -18265,6 +33622,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mangrove_chest_boat"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MANGROVE_DOOR: Self = Self { @@ -18284,6 +33660,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mangrove_door"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MANGROVE_FENCE: Self = Self { @@ -18303,6 +33698,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mangrove_fence"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MANGROVE_FENCE_GATE: Self = Self { @@ -18322,6 +33736,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mangrove_fence_gate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MANGROVE_HANGING_SIGN: Self = Self { @@ -18341,6 +33774,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mangrove_hanging_sign"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MANGROVE_LEAVES: Self = Self { @@ -18360,6 +33812,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mangrove_leaves"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MANGROVE_LOG: Self = Self { @@ -18379,6 +33850,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mangrove_log"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MANGROVE_PLANKS: Self = Self { @@ -18398,6 +33888,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mangrove_planks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MANGROVE_PRESSURE_PLATE: Self = Self { @@ -18417,6 +33926,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mangrove_pressure_plate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MANGROVE_PROPAGULE: Self = Self { @@ -18436,6 +33964,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mangrove_propagule"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MANGROVE_ROOTS: Self = Self { @@ -18455,6 +34002,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mangrove_roots"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MANGROVE_SHELF: Self = Self { @@ -18474,6 +34040,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mangrove_shelf"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MANGROVE_SIGN: Self = Self { @@ -18493,6 +34079,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mangrove_sign"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MANGROVE_SLAB: Self = Self { @@ -18512,6 +34117,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mangrove_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MANGROVE_STAIRS: Self = Self { @@ -18531,6 +34155,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mangrove_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MANGROVE_TRAPDOOR: Self = Self { @@ -18550,6 +34193,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mangrove_trapdoor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MANGROVE_WOOD: Self = Self { @@ -18569,6 +34231,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mangrove_wood"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MAP: Self = Self { @@ -18588,6 +34269,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:map"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MEDIUM_AMETHYST_BUD: Self = Self { @@ -18607,6 +34307,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:medium_amethyst_bud"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MELON: Self = Self { @@ -18626,6 +34345,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:melon"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MELON_SEEDS: Self = Self { @@ -18645,6 +34383,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:melon_seeds"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MELON_SLICE: Self = Self { @@ -18682,6 +34439,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:melon_slice"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MILK_BUCKET: Self = Self { @@ -18711,6 +34487,26 @@ impl Item { effects: Cow::Borrowed(&[ConsumeEffect::ClearAllEffects]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:milk_bucket"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), + (UseRemainder, &UseRemainderImpl), ], }; pub const MINECART: Self = Self { @@ -18730,6 +34526,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:minecart"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MINER_POTTERY_SHERD: Self = Self { @@ -18749,6 +34564,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:miner_pottery_sherd"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MOJANG_BANNER_PATTERN: Self = Self { @@ -18768,6 +34602,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mojang_banner_pattern"), + }, + ), + (Lore, &LoreImpl), + (ProvidesBannerPatterns, &ProvidesBannerPatternsImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MOOSHROOM_SPAWN_EGG: Self = Self { @@ -18787,6 +34641,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mooshroom_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MOSS_BLOCK: Self = Self { @@ -18806,6 +34680,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:moss_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MOSS_CARPET: Self = Self { @@ -18825,6 +34718,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:moss_carpet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MOSSY_COBBLESTONE: Self = Self { @@ -18844,6 +34756,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mossy_cobblestone"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MOSSY_COBBLESTONE_SLAB: Self = Self { @@ -18863,6 +34794,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mossy_cobblestone_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MOSSY_COBBLESTONE_STAIRS: Self = Self { @@ -18882,6 +34832,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mossy_cobblestone_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MOSSY_COBBLESTONE_WALL: Self = Self { @@ -18901,6 +34870,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mossy_cobblestone_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MOSSY_STONE_BRICK_SLAB: Self = Self { @@ -18920,6 +34908,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mossy_stone_brick_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MOSSY_STONE_BRICK_STAIRS: Self = Self { @@ -18939,6 +34946,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mossy_stone_brick_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MOSSY_STONE_BRICK_WALL: Self = Self { @@ -18958,6 +34984,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mossy_stone_brick_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MOSSY_STONE_BRICKS: Self = Self { @@ -18977,6 +35022,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mossy_stone_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MOURNER_POTTERY_SHERD: Self = Self { @@ -18996,6 +35060,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mourner_pottery_sherd"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUD: Self = Self { @@ -19015,6 +35098,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mud"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUD_BRICK_SLAB: Self = Self { @@ -19034,6 +35136,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mud_brick_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUD_BRICK_STAIRS: Self = Self { @@ -19053,6 +35174,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mud_brick_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUD_BRICK_WALL: Self = Self { @@ -19072,6 +35212,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mud_brick_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUD_BRICKS: Self = Self { @@ -19091,6 +35250,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mud_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUDDY_MANGROVE_ROOTS: Self = Self { @@ -19110,6 +35288,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:muddy_mangrove_roots"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MULE_SPAWN_EGG: Self = Self { @@ -19129,6 +35326,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mule_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUSHROOM_STEM: Self = Self { @@ -19148,6 +35365,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mushroom_stem"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUSHROOM_STEW: Self = Self { @@ -19185,6 +35421,26 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mushroom_stew"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), + (UseRemainder, &UseRemainderImpl), ], }; pub const MUSIC_DISC_11: Self = Self { @@ -19210,6 +35466,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:music_disc_11"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUSIC_DISC_13: Self = Self { @@ -19235,6 +35510,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:music_disc_13"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUSIC_DISC_5: Self = Self { @@ -19260,6 +35554,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:music_disc_5"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUSIC_DISC_BLOCKS: Self = Self { @@ -19285,6 +35598,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:music_disc_blocks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUSIC_DISC_BOUNCE: Self = Self { @@ -19310,6 +35642,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:music_disc_bounce"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUSIC_DISC_CAT: Self = Self { @@ -19335,6 +35686,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:music_disc_cat"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUSIC_DISC_CHIRP: Self = Self { @@ -19360,6 +35730,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:music_disc_chirp"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUSIC_DISC_CREATOR: Self = Self { @@ -19385,6 +35774,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:music_disc_creator"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUSIC_DISC_CREATOR_MUSIC_BOX: Self = Self { @@ -19410,6 +35818,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:music_disc_creator_music_box"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUSIC_DISC_FAR: Self = Self { @@ -19435,6 +35862,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:music_disc_far"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUSIC_DISC_LAVA_CHICKEN: Self = Self { @@ -19460,6 +35906,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:music_disc_lava_chicken"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUSIC_DISC_MALL: Self = Self { @@ -19485,6 +35950,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:music_disc_mall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUSIC_DISC_MELLOHI: Self = Self { @@ -19510,6 +35994,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:music_disc_mellohi"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUSIC_DISC_OTHERSIDE: Self = Self { @@ -19535,6 +36038,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:music_disc_otherside"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUSIC_DISC_PIGSTEP: Self = Self { @@ -19560,6 +36082,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:music_disc_pigstep"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUSIC_DISC_PRECIPICE: Self = Self { @@ -19585,6 +36126,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:music_disc_precipice"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUSIC_DISC_RELIC: Self = Self { @@ -19610,6 +36170,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:music_disc_relic"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUSIC_DISC_STAL: Self = Self { @@ -19635,6 +36214,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:music_disc_stal"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUSIC_DISC_STRAD: Self = Self { @@ -19660,6 +36258,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:music_disc_strad"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUSIC_DISC_TEARS: Self = Self { @@ -19685,6 +36302,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:music_disc_tears"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUSIC_DISC_WAIT: Self = Self { @@ -19710,6 +36346,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:music_disc_wait"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUSIC_DISC_WARD: Self = Self { @@ -19735,6 +36390,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:music_disc_ward"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MUTTON: Self = Self { @@ -19772,6 +36446,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mutton"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const MYCELIUM: Self = Self { @@ -19791,6 +36484,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:mycelium"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NAME_TAG: Self = Self { @@ -19810,6 +36522,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:name_tag"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NAUTILUS_SHELL: Self = Self { @@ -19829,6 +36560,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:nautilus_shell"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NAUTILUS_SPAWN_EGG: Self = Self { @@ -19848,6 +36598,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:nautilus_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHER_BRICK: Self = Self { @@ -19867,6 +36637,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:nether_brick"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHER_BRICK_FENCE: Self = Self { @@ -19886,6 +36675,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:nether_brick_fence"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHER_BRICK_SLAB: Self = Self { @@ -19905,6 +36713,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:nether_brick_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHER_BRICK_STAIRS: Self = Self { @@ -19924,6 +36751,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:nether_brick_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHER_BRICK_WALL: Self = Self { @@ -19943,6 +36789,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:nether_brick_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHER_BRICKS: Self = Self { @@ -19962,6 +36827,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:nether_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHER_GOLD_ORE: Self = Self { @@ -19981,6 +36865,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:nether_gold_ore"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHER_QUARTZ_ORE: Self = Self { @@ -20000,6 +36903,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:nether_quartz_ore"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHER_SPROUTS: Self = Self { @@ -20019,6 +36941,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:nether_sprouts"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHER_STAR: Self = Self { @@ -20044,6 +36985,26 @@ impl Item { res_type: DamageResistantType::Explosion, }, ), + (BreakSound, &BreakSoundImpl), + (EnchantmentGlintOverride, &EnchantmentGlintOverrideImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:nether_star"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHER_WART: Self = Self { @@ -20063,6 +37024,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:nether_wart"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHER_WART_BLOCK: Self = Self { @@ -20082,6 +37062,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:nether_wart_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHERITE_AXE: Self = Self { @@ -20151,6 +37150,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 15 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:netherite_axe"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHERITE_BLOCK: Self = Self { @@ -20176,6 +37195,25 @@ impl Item { res_type: DamageResistantType::Fire, }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:netherite_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHERITE_BOOTS: Self = Self { @@ -20242,6 +37280,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 15 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:netherite_boots"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHERITE_CHESTPLATE: Self = Self { @@ -20308,6 +37366,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 15 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:netherite_chestplate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHERITE_HELMET: Self = Self { @@ -20374,6 +37452,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 15 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:netherite_helmet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHERITE_HOE: Self = Self { @@ -20443,6 +37541,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 15 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:netherite_hoe"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHERITE_HORSE_ARMOR: Self = Self { @@ -20506,6 +37624,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemHorseArmorUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:netherite_horse_armor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHERITE_INGOT: Self = Self { @@ -20531,6 +37668,26 @@ impl Item { res_type: DamageResistantType::Fire, }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:netherite_ingot"), + }, + ), + (Lore, &LoreImpl), + (ProvidesTrimMaterial, &ProvidesTrimMaterialImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHERITE_LEGGINGS: Self = Self { @@ -20597,6 +37754,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 15 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:netherite_leggings"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHERITE_NAUTILUS_ARMOR: Self = Self { @@ -20660,6 +37837,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemArmorUnequipNautilus), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:netherite_nautilus_armor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHERITE_PICKAXE: Self = Self { @@ -20729,6 +37925,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 15 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:netherite_pickaxe"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHERITE_SCRAP: Self = Self { @@ -20754,6 +37970,25 @@ impl Item { res_type: DamageResistantType::Fire, }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:netherite_scrap"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHERITE_SHOVEL: Self = Self { @@ -20823,6 +38058,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 15 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:netherite_shovel"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHERITE_SPEAR: Self = Self { @@ -20872,6 +38127,31 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 15 }), + (AttackRange, &AttackRangeImpl), + (BreakSound, &BreakSoundImpl), + (DamageType, &DamageTypeImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:netherite_spear"), + }, + ), + (KineticWeapon, &KineticWeaponImpl), + (Lore, &LoreImpl), + (MinimumAttackCharge, &MinimumAttackChargeImpl), + (PiercingWeapon, &PiercingWeaponImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHERITE_SWORD: Self = Self { @@ -20946,6 +38226,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 15 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:netherite_sword"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHERITE_UPGRADE_SMITHING_TEMPLATE: Self = Self { @@ -20965,6 +38265,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:netherite_upgrade_smithing_template"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NETHERRACK: Self = Self { @@ -20984,6 +38303,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:netherrack"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const NOTE_BLOCK: Self = Self { @@ -21003,6 +38341,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:note_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OAK_BOAT: Self = Self { @@ -21022,6 +38379,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oak_boat"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OAK_BUTTON: Self = Self { @@ -21041,6 +38417,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oak_button"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OAK_CHEST_BOAT: Self = Self { @@ -21060,6 +38455,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oak_chest_boat"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OAK_DOOR: Self = Self { @@ -21079,6 +38493,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oak_door"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OAK_FENCE: Self = Self { @@ -21098,6 +38531,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oak_fence"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OAK_FENCE_GATE: Self = Self { @@ -21117,6 +38569,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oak_fence_gate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OAK_HANGING_SIGN: Self = Self { @@ -21136,6 +38607,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oak_hanging_sign"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OAK_LEAVES: Self = Self { @@ -21155,6 +38645,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oak_leaves"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OAK_LOG: Self = Self { @@ -21174,6 +38683,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oak_log"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OAK_PLANKS: Self = Self { @@ -21193,6 +38721,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oak_planks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OAK_PRESSURE_PLATE: Self = Self { @@ -21212,6 +38759,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oak_pressure_plate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OAK_SAPLING: Self = Self { @@ -21231,6 +38797,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oak_sapling"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OAK_SHELF: Self = Self { @@ -21250,6 +38835,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oak_shelf"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OAK_SIGN: Self = Self { @@ -21269,6 +38874,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oak_sign"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OAK_SLAB: Self = Self { @@ -21288,6 +38912,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oak_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OAK_STAIRS: Self = Self { @@ -21307,6 +38950,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oak_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OAK_TRAPDOOR: Self = Self { @@ -21326,6 +38988,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oak_trapdoor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OAK_WOOD: Self = Self { @@ -21345,6 +39026,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oak_wood"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OBSERVER: Self = Self { @@ -21364,6 +39064,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:observer"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OBSIDIAN: Self = Self { @@ -21383,6 +39102,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:obsidian"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OCELOT_SPAWN_EGG: Self = Self { @@ -21402,6 +39140,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:ocelot_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OCHRE_FROGLIGHT: Self = Self { @@ -21421,6 +39179,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:ochre_froglight"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OMINOUS_BOTTLE: Self = Self { @@ -21452,6 +39229,29 @@ impl Item { ))]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:ominous_bottle"), + }, + ), + (Lore, &LoreImpl), + ( + OminousBottleAmplifier, + &OminousBottleAmplifierImpl { amplifier: 0 }, + ), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OMINOUS_TRIAL_KEY: Self = Self { @@ -21471,6 +39271,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:ominous_trial_key"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OPEN_EYEBLOSSOM: Self = Self { @@ -21490,6 +39309,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:open_eyeblossom"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ORANGE_BANNER: Self = Self { @@ -21509,6 +39347,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BannerPatterns, &BannerPatternsImpl), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:orange_banner"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ORANGE_BED: Self = Self { @@ -21528,6 +39386,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:orange_bed"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ORANGE_BUNDLE: Self = Self { @@ -21547,6 +39424,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (BundleContents, &BundleContentsImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:orange_bundle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ORANGE_CANDLE: Self = Self { @@ -21566,6 +39463,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:orange_candle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ORANGE_CARPET: Self = Self { @@ -21604,6 +39520,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemLlamaCarpetUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:orange_carpet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ORANGE_CONCRETE: Self = Self { @@ -21623,6 +39558,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:orange_concrete"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ORANGE_CONCRETE_POWDER: Self = Self { @@ -21642,6 +39596,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:orange_concrete_powder"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ORANGE_DYE: Self = Self { @@ -21661,6 +39634,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Dye, &DyeImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:orange_dye"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ORANGE_GLAZED_TERRACOTTA: Self = Self { @@ -21680,6 +39673,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:orange_glazed_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ORANGE_HARNESS: Self = Self { @@ -21715,6 +39727,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::EntityHappyGhastUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:orange_harness"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ORANGE_SHULKER_BOX: Self = Self { @@ -21734,6 +39765,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:orange_shulker_box"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ORANGE_STAINED_GLASS: Self = Self { @@ -21753,6 +39804,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:orange_stained_glass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ORANGE_STAINED_GLASS_PANE: Self = Self { @@ -21772,6 +39842,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:orange_stained_glass_pane"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ORANGE_TERRACOTTA: Self = Self { @@ -21791,6 +39880,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:orange_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ORANGE_TULIP: Self = Self { @@ -21810,6 +39918,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:orange_tulip"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ORANGE_WOOL: Self = Self { @@ -21829,6 +39956,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:orange_wool"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OXEYE_DAISY: Self = Self { @@ -21848,6 +39994,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oxeye_daisy"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OXIDIZED_CHISELED_COPPER: Self = Self { @@ -21867,6 +40032,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oxidized_chiseled_copper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OXIDIZED_COPPER: Self = Self { @@ -21886,6 +40070,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oxidized_copper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OXIDIZED_COPPER_BARS: Self = Self { @@ -21905,6 +40108,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oxidized_copper_bars"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OXIDIZED_COPPER_BULB: Self = Self { @@ -21924,6 +40146,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oxidized_copper_bulb"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OXIDIZED_COPPER_CHAIN: Self = Self { @@ -21943,6 +40184,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oxidized_copper_chain"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OXIDIZED_COPPER_CHEST: Self = Self { @@ -21962,6 +40222,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oxidized_copper_chest"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OXIDIZED_COPPER_DOOR: Self = Self { @@ -21981,6 +40260,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oxidized_copper_door"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OXIDIZED_COPPER_GOLEM_STATUE: Self = Self { @@ -22000,6 +40298,34 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + ( + BlockState, + &BlockStateImpl { + properties: Cow::Borrowed(&[( + Cow::Borrowed("copper_golem_pose"), + Cow::Borrowed("standing"), + )]), + }, + ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oxidized_copper_golem_statue"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OXIDIZED_COPPER_GRATE: Self = Self { @@ -22019,6 +40345,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oxidized_copper_grate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OXIDIZED_COPPER_LANTERN: Self = Self { @@ -22038,6 +40383,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oxidized_copper_lantern"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OXIDIZED_COPPER_TRAPDOOR: Self = Self { @@ -22057,6 +40421,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oxidized_copper_trapdoor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OXIDIZED_CUT_COPPER: Self = Self { @@ -22076,6 +40459,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oxidized_cut_copper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OXIDIZED_CUT_COPPER_SLAB: Self = Self { @@ -22095,6 +40497,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oxidized_cut_copper_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OXIDIZED_CUT_COPPER_STAIRS: Self = Self { @@ -22114,6 +40535,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oxidized_cut_copper_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const OXIDIZED_LIGHTNING_ROD: Self = Self { @@ -22133,6 +40573,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:oxidized_lightning_rod"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PACKED_ICE: Self = Self { @@ -22152,6 +40611,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:packed_ice"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PACKED_MUD: Self = Self { @@ -22171,6 +40649,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:packed_mud"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PAINTING: Self = Self { @@ -22190,6 +40687,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:painting"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PALE_HANGING_MOSS: Self = Self { @@ -22209,6 +40725,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pale_hanging_moss"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PALE_MOSS_BLOCK: Self = Self { @@ -22228,6 +40763,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pale_moss_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PALE_MOSS_CARPET: Self = Self { @@ -22247,6 +40801,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pale_moss_carpet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PALE_OAK_BOAT: Self = Self { @@ -22266,6 +40839,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pale_oak_boat"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PALE_OAK_BUTTON: Self = Self { @@ -22285,6 +40877,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pale_oak_button"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PALE_OAK_CHEST_BOAT: Self = Self { @@ -22304,6 +40915,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pale_oak_chest_boat"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PALE_OAK_DOOR: Self = Self { @@ -22323,6 +40953,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pale_oak_door"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PALE_OAK_FENCE: Self = Self { @@ -22342,6 +40991,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pale_oak_fence"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PALE_OAK_FENCE_GATE: Self = Self { @@ -22361,6 +41029,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pale_oak_fence_gate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PALE_OAK_HANGING_SIGN: Self = Self { @@ -22380,6 +41067,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pale_oak_hanging_sign"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PALE_OAK_LEAVES: Self = Self { @@ -22399,6 +41105,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pale_oak_leaves"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PALE_OAK_LOG: Self = Self { @@ -22418,6 +41143,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pale_oak_log"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PALE_OAK_PLANKS: Self = Self { @@ -22437,6 +41181,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pale_oak_planks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PALE_OAK_PRESSURE_PLATE: Self = Self { @@ -22456,6 +41219,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pale_oak_pressure_plate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PALE_OAK_SAPLING: Self = Self { @@ -22475,6 +41257,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pale_oak_sapling"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PALE_OAK_SHELF: Self = Self { @@ -22494,6 +41295,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pale_oak_shelf"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PALE_OAK_SIGN: Self = Self { @@ -22513,6 +41334,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pale_oak_sign"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PALE_OAK_SLAB: Self = Self { @@ -22532,6 +41372,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pale_oak_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PALE_OAK_STAIRS: Self = Self { @@ -22551,6 +41410,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pale_oak_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PALE_OAK_TRAPDOOR: Self = Self { @@ -22570,6 +41448,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pale_oak_trapdoor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PALE_OAK_WOOD: Self = Self { @@ -22589,6 +41486,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pale_oak_wood"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PANDA_SPAWN_EGG: Self = Self { @@ -22608,6 +41524,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:panda_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PAPER: Self = Self { @@ -22627,6 +41563,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:paper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PARCHED_SPAWN_EGG: Self = Self { @@ -22646,6 +41601,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:parched_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PARROT_SPAWN_EGG: Self = Self { @@ -22665,6 +41640,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:parrot_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PEARLESCENT_FROGLIGHT: Self = Self { @@ -22684,6 +41679,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pearlescent_froglight"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PEONY: Self = Self { @@ -22703,6 +41717,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:peony"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PETRIFIED_OAK_SLAB: Self = Self { @@ -22722,6 +41755,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:petrified_oak_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PHANTOM_MEMBRANE: Self = Self { @@ -22741,6 +41793,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:phantom_membrane"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PHANTOM_SPAWN_EGG: Self = Self { @@ -22760,6 +41831,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:phantom_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PIG_SPAWN_EGG: Self = Self { @@ -22779,6 +41870,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pig_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PIGLIN_BANNER_PATTERN: Self = Self { @@ -22798,6 +41909,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:piglin_banner_pattern"), + }, + ), + (Lore, &LoreImpl), + (ProvidesBannerPatterns, &ProvidesBannerPatternsImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PIGLIN_BRUTE_SPAWN_EGG: Self = Self { @@ -22817,6 +41948,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:piglin_brute_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PIGLIN_HEAD: Self = Self { @@ -22858,6 +42009,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemShearsSnip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:piglin_head"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PIGLIN_SPAWN_EGG: Self = Self { @@ -22877,6 +42047,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:piglin_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PILLAGER_SPAWN_EGG: Self = Self { @@ -22896,6 +42086,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pillager_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PINK_BANNER: Self = Self { @@ -22915,6 +42125,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BannerPatterns, &BannerPatternsImpl), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pink_banner"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PINK_BED: Self = Self { @@ -22934,6 +42164,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pink_bed"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PINK_BUNDLE: Self = Self { @@ -22953,6 +42202,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (BundleContents, &BundleContentsImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pink_bundle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PINK_CANDLE: Self = Self { @@ -22972,6 +42241,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pink_candle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PINK_CARPET: Self = Self { @@ -23010,6 +42298,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemLlamaCarpetUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pink_carpet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PINK_CONCRETE: Self = Self { @@ -23029,6 +42336,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pink_concrete"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PINK_CONCRETE_POWDER: Self = Self { @@ -23048,6 +42374,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pink_concrete_powder"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PINK_DYE: Self = Self { @@ -23067,6 +42412,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Dye, &DyeImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pink_dye"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PINK_GLAZED_TERRACOTTA: Self = Self { @@ -23086,6 +42451,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pink_glazed_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PINK_HARNESS: Self = Self { @@ -23121,6 +42505,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::EntityHappyGhastUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pink_harness"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PINK_PETALS: Self = Self { @@ -23140,6 +42543,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pink_petals"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PINK_SHULKER_BOX: Self = Self { @@ -23159,6 +42581,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pink_shulker_box"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PINK_STAINED_GLASS: Self = Self { @@ -23178,6 +42620,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pink_stained_glass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PINK_STAINED_GLASS_PANE: Self = Self { @@ -23197,6 +42658,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pink_stained_glass_pane"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PINK_TERRACOTTA: Self = Self { @@ -23216,6 +42696,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pink_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PINK_TULIP: Self = Self { @@ -23235,6 +42734,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pink_tulip"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PINK_WOOL: Self = Self { @@ -23254,6 +42772,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pink_wool"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PISTON: Self = Self { @@ -23273,6 +42810,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:piston"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PITCHER_PLANT: Self = Self { @@ -23292,6 +42848,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pitcher_plant"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PITCHER_POD: Self = Self { @@ -23311,6 +42886,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pitcher_pod"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PLAYER_HEAD: Self = Self { @@ -23352,6 +42946,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemShearsSnip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:player_head"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PLENTY_POTTERY_SHERD: Self = Self { @@ -23371,6 +42984,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:plenty_pottery_sherd"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PODZOL: Self = Self { @@ -23390,6 +43022,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:podzol"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POINTED_DRIPSTONE: Self = Self { @@ -23409,6 +43060,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pointed_dripstone"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POISONOUS_POTATO: Self = Self { @@ -23456,6 +43126,25 @@ impl Item { ))]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:poisonous_potato"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLAR_BEAR_SPAWN_EGG: Self = Self { @@ -23475,6 +43164,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polar_bear_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_ANDESITE: Self = Self { @@ -23494,6 +43203,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_andesite"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_ANDESITE_SLAB: Self = Self { @@ -23513,6 +43241,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_andesite_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_ANDESITE_STAIRS: Self = Self { @@ -23532,6 +43279,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_andesite_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_BASALT: Self = Self { @@ -23551,6 +43317,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_basalt"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_BLACKSTONE: Self = Self { @@ -23570,6 +43355,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_blackstone"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_BLACKSTONE_BRICK_SLAB: Self = Self { @@ -23589,6 +43393,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_blackstone_brick_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_BLACKSTONE_BRICK_STAIRS: Self = Self { @@ -23608,6 +43431,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_blackstone_brick_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_BLACKSTONE_BRICK_WALL: Self = Self { @@ -23627,6 +43469,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_blackstone_brick_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_BLACKSTONE_BRICKS: Self = Self { @@ -23646,6 +43507,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_blackstone_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_BLACKSTONE_BUTTON: Self = Self { @@ -23665,6 +43545,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_blackstone_button"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_BLACKSTONE_PRESSURE_PLATE: Self = Self { @@ -23684,6 +43583,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_blackstone_pressure_plate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_BLACKSTONE_SLAB: Self = Self { @@ -23703,6 +43621,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_blackstone_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_BLACKSTONE_STAIRS: Self = Self { @@ -23722,6 +43659,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_blackstone_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_BLACKSTONE_WALL: Self = Self { @@ -23741,6 +43697,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_blackstone_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_CINNABAR: Self = Self { @@ -23760,6 +43735,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_cinnabar"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_CINNABAR_SLAB: Self = Self { @@ -23779,6 +43773,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_cinnabar_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_CINNABAR_STAIRS: Self = Self { @@ -23798,6 +43811,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_cinnabar_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_CINNABAR_WALL: Self = Self { @@ -23817,6 +43849,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_cinnabar_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_DEEPSLATE: Self = Self { @@ -23836,6 +43887,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_deepslate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_DEEPSLATE_SLAB: Self = Self { @@ -23855,6 +43925,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_deepslate_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_DEEPSLATE_STAIRS: Self = Self { @@ -23874,6 +43963,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_deepslate_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_DEEPSLATE_WALL: Self = Self { @@ -23893,6 +44001,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_deepslate_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_DIORITE: Self = Self { @@ -23912,6 +44039,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_diorite"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_DIORITE_SLAB: Self = Self { @@ -23931,6 +44077,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_diorite_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_DIORITE_STAIRS: Self = Self { @@ -23950,6 +44115,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_diorite_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_GRANITE: Self = Self { @@ -23969,6 +44153,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_granite"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_GRANITE_SLAB: Self = Self { @@ -23988,6 +44191,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_granite_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_GRANITE_STAIRS: Self = Self { @@ -24007,6 +44229,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_granite_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_SULFUR: Self = Self { @@ -24026,6 +44267,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_sulfur"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_SULFUR_SLAB: Self = Self { @@ -24045,6 +44305,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_sulfur_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_SULFUR_STAIRS: Self = Self { @@ -24064,6 +44343,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_sulfur_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_SULFUR_WALL: Self = Self { @@ -24083,6 +44381,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_sulfur_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_TUFF: Self = Self { @@ -24102,6 +44419,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_tuff"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_TUFF_SLAB: Self = Self { @@ -24121,6 +44457,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_tuff_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_TUFF_STAIRS: Self = Self { @@ -24140,6 +44495,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_tuff_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POLISHED_TUFF_WALL: Self = Self { @@ -24159,6 +44533,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:polished_tuff_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POPPED_CHORUS_FRUIT: Self = Self { @@ -24178,6 +44571,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:popped_chorus_fruit"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POPPY: Self = Self { @@ -24197,6 +44609,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:poppy"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PORKCHOP: Self = Self { @@ -24234,6 +44665,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:porkchop"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POTATO: Self = Self { @@ -24271,6 +44721,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:potato"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POTENT_SULFUR: Self = Self { @@ -24290,6 +44759,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:potent_sulfur"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POTION: Self = Self { @@ -24319,6 +44807,35 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:potion"), + }, + ), + (Lore, &LoreImpl), + ( + PotionContents, + &PotionContentsImpl { + potion_id: None, + custom_color: None, + custom_effects: Vec::new(), + custom_name: None, + }, + ), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), + (UseRemainder, &UseRemainderImpl), ], }; pub const POWDER_SNOW_BUCKET: Self = Self { @@ -24338,6 +44855,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:powder_snow_bucket"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const POWERED_RAIL: Self = Self { @@ -24357,6 +44893,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:powered_rail"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PRISMARINE: Self = Self { @@ -24376,6 +44931,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:prismarine"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PRISMARINE_BRICK_SLAB: Self = Self { @@ -24395,6 +44969,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:prismarine_brick_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PRISMARINE_BRICK_STAIRS: Self = Self { @@ -24414,6 +45007,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:prismarine_brick_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PRISMARINE_BRICKS: Self = Self { @@ -24433,6 +45045,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:prismarine_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PRISMARINE_CRYSTALS: Self = Self { @@ -24452,6 +45083,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:prismarine_crystals"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PRISMARINE_SHARD: Self = Self { @@ -24471,6 +45121,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:prismarine_shard"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PRISMARINE_SLAB: Self = Self { @@ -24490,6 +45159,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:prismarine_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PRISMARINE_STAIRS: Self = Self { @@ -24509,6 +45197,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:prismarine_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PRISMARINE_WALL: Self = Self { @@ -24528,6 +45235,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:prismarine_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PRIZE_POTTERY_SHERD: Self = Self { @@ -24547,6 +45273,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:prize_pottery_sherd"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PUFFERFISH: Self = Self { @@ -24612,6 +45357,25 @@ impl Item { ))]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pufferfish"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PUFFERFISH_BUCKET: Self = Self { @@ -24639,6 +45403,26 @@ impl Item { can_always_eat: false, }, ), + (BreakSound, &BreakSoundImpl), + (BucketEntityData, &BucketEntityDataImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pufferfish_bucket"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PUFFERFISH_SPAWN_EGG: Self = Self { @@ -24658,6 +45442,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pufferfish_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PUMPKIN: Self = Self { @@ -24677,6 +45481,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pumpkin"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PUMPKIN_PIE: Self = Self { @@ -24714,6 +45537,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pumpkin_pie"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PUMPKIN_SEEDS: Self = Self { @@ -24733,6 +45575,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:pumpkin_seeds"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PURPLE_BANNER: Self = Self { @@ -24752,6 +45613,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BannerPatterns, &BannerPatternsImpl), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:purple_banner"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PURPLE_BED: Self = Self { @@ -24771,6 +45652,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:purple_bed"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PURPLE_BUNDLE: Self = Self { @@ -24790,6 +45690,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (BundleContents, &BundleContentsImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:purple_bundle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PURPLE_CANDLE: Self = Self { @@ -24809,6 +45729,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:purple_candle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PURPLE_CARPET: Self = Self { @@ -24847,6 +45786,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemLlamaCarpetUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:purple_carpet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PURPLE_CONCRETE: Self = Self { @@ -24866,6 +45824,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:purple_concrete"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PURPLE_CONCRETE_POWDER: Self = Self { @@ -24885,6 +45862,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:purple_concrete_powder"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PURPLE_DYE: Self = Self { @@ -24904,6 +45900,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Dye, &DyeImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:purple_dye"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PURPLE_GLAZED_TERRACOTTA: Self = Self { @@ -24923,6 +45939,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:purple_glazed_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PURPLE_HARNESS: Self = Self { @@ -24958,6 +45993,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::EntityHappyGhastUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:purple_harness"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PURPLE_SHULKER_BOX: Self = Self { @@ -24977,6 +46031,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:purple_shulker_box"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PURPLE_STAINED_GLASS: Self = Self { @@ -24996,6 +46070,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:purple_stained_glass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PURPLE_STAINED_GLASS_PANE: Self = Self { @@ -25015,6 +46108,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:purple_stained_glass_pane"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PURPLE_TERRACOTTA: Self = Self { @@ -25034,6 +46146,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:purple_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PURPLE_WOOL: Self = Self { @@ -25053,6 +46184,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:purple_wool"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PURPUR_BLOCK: Self = Self { @@ -25072,6 +46222,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:purpur_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PURPUR_PILLAR: Self = Self { @@ -25091,6 +46260,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:purpur_pillar"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PURPUR_SLAB: Self = Self { @@ -25110,6 +46298,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:purpur_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const PURPUR_STAIRS: Self = Self { @@ -25129,6 +46336,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:purpur_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const QUARTZ: Self = Self { @@ -25148,6 +46374,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:quartz"), + }, + ), + (Lore, &LoreImpl), + (ProvidesTrimMaterial, &ProvidesTrimMaterialImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const QUARTZ_BLOCK: Self = Self { @@ -25167,6 +46413,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:quartz_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const QUARTZ_BRICKS: Self = Self { @@ -25186,6 +46451,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:quartz_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const QUARTZ_PILLAR: Self = Self { @@ -25205,6 +46489,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:quartz_pillar"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const QUARTZ_SLAB: Self = Self { @@ -25224,6 +46527,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:quartz_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const QUARTZ_STAIRS: Self = Self { @@ -25243,6 +46565,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:quartz_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RABBIT: Self = Self { @@ -25280,6 +46621,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:rabbit"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RABBIT_FOOT: Self = Self { @@ -25299,6 +46659,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:rabbit_foot"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RABBIT_HIDE: Self = Self { @@ -25318,6 +46697,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:rabbit_hide"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RABBIT_SPAWN_EGG: Self = Self { @@ -25337,6 +46735,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:rabbit_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RABBIT_STEW: Self = Self { @@ -25374,6 +46792,26 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:rabbit_stew"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), + (UseRemainder, &UseRemainderImpl), ], }; pub const RAIL: Self = Self { @@ -25393,6 +46831,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:rail"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RAISER_ARMOR_TRIM_SMITHING_TEMPLATE: Self = Self { @@ -25412,6 +46869,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:raiser_armor_trim_smithing_template"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RAVAGER_SPAWN_EGG: Self = Self { @@ -25431,6 +46907,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:ravager_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RAW_COPPER: Self = Self { @@ -25450,6 +46946,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:raw_copper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RAW_COPPER_BLOCK: Self = Self { @@ -25469,6 +46984,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:raw_copper_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RAW_GOLD: Self = Self { @@ -25488,6 +47022,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:raw_gold"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RAW_GOLD_BLOCK: Self = Self { @@ -25507,6 +47060,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:raw_gold_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RAW_IRON: Self = Self { @@ -25526,6 +47098,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:raw_iron"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RAW_IRON_BLOCK: Self = Self { @@ -25545,6 +47136,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:raw_iron_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RECOVERY_COMPASS: Self = Self { @@ -25564,6 +47174,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:recovery_compass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_BANNER: Self = Self { @@ -25583,6 +47212,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BannerPatterns, &BannerPatternsImpl), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_banner"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_BED: Self = Self { @@ -25602,6 +47251,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_bed"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_BUNDLE: Self = Self { @@ -25621,6 +47289,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (BundleContents, &BundleContentsImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_bundle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_CANDLE: Self = Self { @@ -25640,6 +47328,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_candle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_CARPET: Self = Self { @@ -25678,6 +47385,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemLlamaCarpetUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_carpet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_CONCRETE: Self = Self { @@ -25697,6 +47423,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_concrete"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_CONCRETE_POWDER: Self = Self { @@ -25716,6 +47461,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_concrete_powder"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_DYE: Self = Self { @@ -25735,6 +47499,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Dye, &DyeImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_dye"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_GLAZED_TERRACOTTA: Self = Self { @@ -25754,6 +47538,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_glazed_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_HARNESS: Self = Self { @@ -25789,6 +47592,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::EntityHappyGhastUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_harness"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_MUSHROOM: Self = Self { @@ -25808,6 +47630,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_mushroom"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_MUSHROOM_BLOCK: Self = Self { @@ -25827,6 +47668,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_mushroom_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_NETHER_BRICK_SLAB: Self = Self { @@ -25846,6 +47706,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_nether_brick_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_NETHER_BRICK_STAIRS: Self = Self { @@ -25865,6 +47744,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_nether_brick_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_NETHER_BRICK_WALL: Self = Self { @@ -25884,6 +47782,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_nether_brick_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_NETHER_BRICKS: Self = Self { @@ -25903,6 +47820,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_nether_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_SAND: Self = Self { @@ -25922,6 +47858,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_sand"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_SANDSTONE: Self = Self { @@ -25941,6 +47896,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_sandstone"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_SANDSTONE_SLAB: Self = Self { @@ -25960,6 +47934,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_sandstone_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_SANDSTONE_STAIRS: Self = Self { @@ -25979,6 +47972,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_sandstone_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_SANDSTONE_WALL: Self = Self { @@ -25998,6 +48010,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_sandstone_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_SHULKER_BOX: Self = Self { @@ -26017,6 +48048,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_shulker_box"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_STAINED_GLASS: Self = Self { @@ -26036,6 +48087,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_stained_glass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_STAINED_GLASS_PANE: Self = Self { @@ -26055,6 +48125,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_stained_glass_pane"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_TERRACOTTA: Self = Self { @@ -26074,6 +48163,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_TULIP: Self = Self { @@ -26093,6 +48201,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_tulip"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RED_WOOL: Self = Self { @@ -26112,6 +48239,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:red_wool"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const REDSTONE: Self = Self { @@ -26131,6 +48277,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:redstone"), + }, + ), + (Lore, &LoreImpl), + (ProvidesTrimMaterial, &ProvidesTrimMaterialImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const REDSTONE_BLOCK: Self = Self { @@ -26150,6 +48316,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:redstone_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const REDSTONE_LAMP: Self = Self { @@ -26169,6 +48354,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:redstone_lamp"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const REDSTONE_ORE: Self = Self { @@ -26188,6 +48392,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:redstone_ore"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const REDSTONE_TORCH: Self = Self { @@ -26207,6 +48430,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:redstone_torch"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const REINFORCED_DEEPSLATE: Self = Self { @@ -26226,6 +48468,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:reinforced_deepslate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const REPEATER: Self = Self { @@ -26245,6 +48506,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:repeater"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const REPEATING_COMMAND_BLOCK: Self = Self { @@ -26264,6 +48544,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:repeating_command_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RESIN_BLOCK: Self = Self { @@ -26283,6 +48582,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:resin_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RESIN_BRICK: Self = Self { @@ -26302,6 +48620,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:resin_brick"), + }, + ), + (Lore, &LoreImpl), + (ProvidesTrimMaterial, &ProvidesTrimMaterialImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RESIN_BRICK_SLAB: Self = Self { @@ -26321,6 +48659,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:resin_brick_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RESIN_BRICK_STAIRS: Self = Self { @@ -26340,6 +48697,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:resin_brick_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RESIN_BRICK_WALL: Self = Self { @@ -26359,6 +48735,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:resin_brick_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RESIN_BRICKS: Self = Self { @@ -26378,6 +48773,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:resin_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RESIN_CLUMP: Self = Self { @@ -26397,6 +48811,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:resin_clump"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RESPAWN_ANCHOR: Self = Self { @@ -26416,6 +48849,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:respawn_anchor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const RIB_ARMOR_TRIM_SMITHING_TEMPLATE: Self = Self { @@ -26435,6 +48887,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:rib_armor_trim_smithing_template"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ROOTED_DIRT: Self = Self { @@ -26454,6 +48925,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:rooted_dirt"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ROSE_BUSH: Self = Self { @@ -26473,6 +48963,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:rose_bush"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ROTTEN_FLESH: Self = Self { @@ -26520,6 +49029,25 @@ impl Item { ))]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:rotten_flesh"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SADDLE: Self = Self { @@ -26555,6 +49083,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemSaddleUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:saddle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SALMON: Self = Self { @@ -26592,6 +49139,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:salmon"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SALMON_BUCKET: Self = Self { @@ -26619,6 +49185,26 @@ impl Item { can_always_eat: false, }, ), + (BreakSound, &BreakSoundImpl), + (BucketEntityData, &BucketEntityDataImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:salmon_bucket"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SALMON_SPAWN_EGG: Self = Self { @@ -26638,6 +49224,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:salmon_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SAND: Self = Self { @@ -26657,6 +49263,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sand"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SANDSTONE: Self = Self { @@ -26676,6 +49301,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sandstone"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SANDSTONE_SLAB: Self = Self { @@ -26695,6 +49339,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sandstone_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SANDSTONE_STAIRS: Self = Self { @@ -26714,6 +49377,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sandstone_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SANDSTONE_WALL: Self = Self { @@ -26733,6 +49415,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sandstone_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SCAFFOLDING: Self = Self { @@ -26752,6 +49453,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:scaffolding"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SCRAPE_POTTERY_SHERD: Self = Self { @@ -26771,6 +49491,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:scrape_pottery_sherd"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SCULK: Self = Self { @@ -26790,6 +49529,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sculk"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SCULK_CATALYST: Self = Self { @@ -26809,6 +49567,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sculk_catalyst"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SCULK_SENSOR: Self = Self { @@ -26828,6 +49605,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sculk_sensor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SCULK_SHRIEKER: Self = Self { @@ -26847,6 +49643,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sculk_shrieker"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SCULK_VEIN: Self = Self { @@ -26866,6 +49681,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sculk_vein"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SEA_LANTERN: Self = Self { @@ -26885,6 +49719,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sea_lantern"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SEA_PICKLE: Self = Self { @@ -26904,6 +49757,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sea_pickle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SEAGRASS: Self = Self { @@ -26923,6 +49795,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:seagrass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SENTRY_ARMOR_TRIM_SMITHING_TEMPLATE: Self = Self { @@ -26942,6 +49833,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sentry_armor_trim_smithing_template"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SHAPER_ARMOR_TRIM_SMITHING_TEMPLATE: Self = Self { @@ -26961,6 +49871,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:shaper_armor_trim_smithing_template"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SHEAF_POTTERY_SHERD: Self = Self { @@ -26980,6 +49909,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sheaf_pottery_sherd"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SHEARS: Self = Self { @@ -27031,6 +49979,25 @@ impl Item { can_destroy_blocks_in_creative: true, }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:shears"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SHEEP_SPAWN_EGG: Self = Self { @@ -27050,6 +50017,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sheep_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SHELTER_POTTERY_SHERD: Self = Self { @@ -27069,6 +50056,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:shelter_pottery_sherd"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SHIELD: Self = Self { @@ -27107,6 +50113,27 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemShearsSnip), }, ), + (BannerPatterns, &BannerPatternsImpl), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:shield"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SHORT_DRY_GRASS: Self = Self { @@ -27126,6 +50153,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:short_dry_grass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SHORT_GRASS: Self = Self { @@ -27145,6 +50191,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:short_grass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SHROOMLIGHT: Self = Self { @@ -27164,6 +50229,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:shroomlight"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SHULKER_BOX: Self = Self { @@ -27183,6 +50267,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:shulker_box"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SHULKER_SHELL: Self = Self { @@ -27202,6 +50306,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:shulker_shell"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SHULKER_SPAWN_EGG: Self = Self { @@ -27221,6 +50344,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:shulker_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SILENCE_ARMOR_TRIM_SMITHING_TEMPLATE: Self = Self { @@ -27240,6 +50383,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:silence_armor_trim_smithing_template"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SILVERFISH_SPAWN_EGG: Self = Self { @@ -27259,6 +50421,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:silverfish_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SKELETON_HORSE_SPAWN_EGG: Self = Self { @@ -27278,6 +50460,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:skeleton_horse_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SKELETON_SKULL: Self = Self { @@ -27319,6 +50521,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemShearsSnip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:skeleton_skull"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SKELETON_SPAWN_EGG: Self = Self { @@ -27338,6 +50559,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:skeleton_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SKULL_BANNER_PATTERN: Self = Self { @@ -27357,6 +50598,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:skull_banner_pattern"), + }, + ), + (Lore, &LoreImpl), + (ProvidesBannerPatterns, &ProvidesBannerPatternsImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SKULL_POTTERY_SHERD: Self = Self { @@ -27376,6 +50637,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:skull_pottery_sherd"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SLIME_BALL: Self = Self { @@ -27395,6 +50675,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:slime_ball"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SLIME_BLOCK: Self = Self { @@ -27414,6 +50713,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:slime_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SLIME_SPAWN_EGG: Self = Self { @@ -27433,6 +50751,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:slime_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SMALL_AMETHYST_BUD: Self = Self { @@ -27452,6 +50790,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:small_amethyst_bud"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SMALL_DRIPLEAF: Self = Self { @@ -27471,6 +50828,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:small_dripleaf"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SMITHING_TABLE: Self = Self { @@ -27490,6 +50866,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:smithing_table"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SMOKER: Self = Self { @@ -27509,6 +50904,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:smoker"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SMOOTH_BASALT: Self = Self { @@ -27528,6 +50943,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:smooth_basalt"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SMOOTH_QUARTZ: Self = Self { @@ -27547,6 +50981,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:smooth_quartz"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SMOOTH_QUARTZ_SLAB: Self = Self { @@ -27566,6 +51019,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:smooth_quartz_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SMOOTH_QUARTZ_STAIRS: Self = Self { @@ -27585,6 +51057,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:smooth_quartz_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SMOOTH_RED_SANDSTONE: Self = Self { @@ -27604,6 +51095,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:smooth_red_sandstone"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SMOOTH_RED_SANDSTONE_SLAB: Self = Self { @@ -27623,6 +51133,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:smooth_red_sandstone_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SMOOTH_RED_SANDSTONE_STAIRS: Self = Self { @@ -27642,6 +51171,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:smooth_red_sandstone_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SMOOTH_SANDSTONE: Self = Self { @@ -27661,6 +51209,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:smooth_sandstone"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SMOOTH_SANDSTONE_SLAB: Self = Self { @@ -27680,6 +51247,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:smooth_sandstone_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SMOOTH_SANDSTONE_STAIRS: Self = Self { @@ -27699,6 +51285,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:smooth_sandstone_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SMOOTH_STONE: Self = Self { @@ -27718,6 +51323,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:smooth_stone"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SMOOTH_STONE_SLAB: Self = Self { @@ -27737,6 +51361,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:smooth_stone_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SNIFFER_EGG: Self = Self { @@ -27756,6 +51399,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sniffer_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SNIFFER_SPAWN_EGG: Self = Self { @@ -27775,6 +51437,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sniffer_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SNORT_POTTERY_SHERD: Self = Self { @@ -27794,6 +51476,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:snort_pottery_sherd"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SNOUT_ARMOR_TRIM_SMITHING_TEMPLATE: Self = Self { @@ -27813,6 +51514,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:snout_armor_trim_smithing_template"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SNOW: Self = Self { @@ -27832,6 +51552,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:snow"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SNOW_BLOCK: Self = Self { @@ -27851,6 +51590,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:snow_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SNOW_GOLEM_SPAWN_EGG: Self = Self { @@ -27870,6 +51628,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:snow_golem_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SNOWBALL: Self = Self { @@ -27889,6 +51667,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:snowball"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SOUL_CAMPFIRE: Self = Self { @@ -27908,6 +51705,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:soul_campfire"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SOUL_LANTERN: Self = Self { @@ -27927,6 +51744,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:soul_lantern"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SOUL_SAND: Self = Self { @@ -27946,6 +51782,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:soul_sand"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SOUL_SOIL: Self = Self { @@ -27965,6 +51820,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:soul_soil"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SOUL_TORCH: Self = Self { @@ -27984,6 +51858,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:soul_torch"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPAWNER: Self = Self { @@ -28003,6 +51896,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spawner"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPECTRAL_ARROW: Self = Self { @@ -28022,6 +51934,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spectral_arrow"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPIDER_EYE: Self = Self { @@ -28069,6 +52000,25 @@ impl Item { ))]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spider_eye"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPIDER_SPAWN_EGG: Self = Self { @@ -28088,6 +52038,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spider_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPIRE_ARMOR_TRIM_SMITHING_TEMPLATE: Self = Self { @@ -28107,6 +52077,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spire_armor_trim_smithing_template"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPLASH_POTION: Self = Self { @@ -28126,6 +52115,34 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:splash_potion"), + }, + ), + (Lore, &LoreImpl), + ( + PotionContents, + &PotionContentsImpl { + potion_id: None, + custom_color: None, + custom_effects: Vec::new(), + custom_name: None, + }, + ), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPONGE: Self = Self { @@ -28145,6 +52162,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sponge"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPORE_BLOSSOM: Self = Self { @@ -28164,6 +52200,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spore_blossom"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPRUCE_BOAT: Self = Self { @@ -28183,6 +52238,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spruce_boat"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPRUCE_BUTTON: Self = Self { @@ -28202,6 +52276,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spruce_button"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPRUCE_CHEST_BOAT: Self = Self { @@ -28221,6 +52314,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spruce_chest_boat"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPRUCE_DOOR: Self = Self { @@ -28240,6 +52352,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spruce_door"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPRUCE_FENCE: Self = Self { @@ -28259,6 +52390,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spruce_fence"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPRUCE_FENCE_GATE: Self = Self { @@ -28278,6 +52428,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spruce_fence_gate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPRUCE_HANGING_SIGN: Self = Self { @@ -28297,6 +52466,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spruce_hanging_sign"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPRUCE_LEAVES: Self = Self { @@ -28316,6 +52504,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spruce_leaves"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPRUCE_LOG: Self = Self { @@ -28335,6 +52542,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spruce_log"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPRUCE_PLANKS: Self = Self { @@ -28354,6 +52580,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spruce_planks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPRUCE_PRESSURE_PLATE: Self = Self { @@ -28373,6 +52618,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spruce_pressure_plate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPRUCE_SAPLING: Self = Self { @@ -28392,6 +52656,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spruce_sapling"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPRUCE_SHELF: Self = Self { @@ -28411,6 +52694,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spruce_shelf"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPRUCE_SIGN: Self = Self { @@ -28430,6 +52733,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spruce_sign"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPRUCE_SLAB: Self = Self { @@ -28449,6 +52771,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spruce_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPRUCE_STAIRS: Self = Self { @@ -28468,6 +52809,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spruce_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPRUCE_TRAPDOOR: Self = Self { @@ -28487,6 +52847,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spruce_trapdoor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPRUCE_WOOD: Self = Self { @@ -28506,6 +52885,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spruce_wood"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SPYGLASS: Self = Self { @@ -28525,6 +52923,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:spyglass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SQUID_SPAWN_EGG: Self = Self { @@ -28544,6 +52961,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:squid_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STICK: Self = Self { @@ -28563,6 +53000,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stick"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STICKY_PISTON: Self = Self { @@ -28582,6 +53038,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sticky_piston"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STONE: Self = Self { @@ -28601,6 +53076,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stone"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STONE_AXE: Self = Self { @@ -28664,6 +53158,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 5 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stone_axe"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STONE_BRICK_SLAB: Self = Self { @@ -28683,6 +53197,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stone_brick_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STONE_BRICK_STAIRS: Self = Self { @@ -28702,6 +53235,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stone_brick_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STONE_BRICK_WALL: Self = Self { @@ -28721,6 +53273,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stone_brick_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STONE_BRICKS: Self = Self { @@ -28740,6 +53311,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stone_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STONE_BUTTON: Self = Self { @@ -28759,6 +53349,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stone_button"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STONE_HOE: Self = Self { @@ -28822,6 +53431,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 5 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stone_hoe"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STONE_PICKAXE: Self = Self { @@ -28885,6 +53514,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 5 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stone_pickaxe"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STONE_PRESSURE_PLATE: Self = Self { @@ -28904,6 +53553,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stone_pressure_plate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STONE_SHOVEL: Self = Self { @@ -28967,6 +53635,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 5 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stone_shovel"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STONE_SLAB: Self = Self { @@ -28986,6 +53674,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stone_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STONE_SPEAR: Self = Self { @@ -29029,6 +53736,31 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 5 }), + (AttackRange, &AttackRangeImpl), + (BreakSound, &BreakSoundImpl), + (DamageType, &DamageTypeImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stone_spear"), + }, + ), + (KineticWeapon, &KineticWeaponImpl), + (Lore, &LoreImpl), + (MinimumAttackCharge, &MinimumAttackChargeImpl), + (PiercingWeapon, &PiercingWeaponImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STONE_STAIRS: Self = Self { @@ -29048,6 +53780,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stone_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STONE_SWORD: Self = Self { @@ -29116,6 +53867,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 5 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stone_sword"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STONECUTTER: Self = Self { @@ -29135,6 +53906,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stonecutter"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRAY_SPAWN_EGG: Self = Self { @@ -29154,6 +53944,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stray_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRIDER_SPAWN_EGG: Self = Self { @@ -29173,6 +53983,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:strider_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRING: Self = Self { @@ -29192,6 +54022,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:string"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRIPPED_ACACIA_LOG: Self = Self { @@ -29211,6 +54060,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stripped_acacia_log"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRIPPED_ACACIA_WOOD: Self = Self { @@ -29230,6 +54098,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stripped_acacia_wood"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRIPPED_BAMBOO_BLOCK: Self = Self { @@ -29249,6 +54136,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stripped_bamboo_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRIPPED_BIRCH_LOG: Self = Self { @@ -29268,6 +54174,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stripped_birch_log"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRIPPED_BIRCH_WOOD: Self = Self { @@ -29287,6 +54212,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stripped_birch_wood"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRIPPED_CHERRY_LOG: Self = Self { @@ -29306,6 +54250,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stripped_cherry_log"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRIPPED_CHERRY_WOOD: Self = Self { @@ -29325,6 +54288,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stripped_cherry_wood"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRIPPED_CRIMSON_HYPHAE: Self = Self { @@ -29344,6 +54326,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stripped_crimson_hyphae"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRIPPED_CRIMSON_STEM: Self = Self { @@ -29363,6 +54364,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stripped_crimson_stem"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRIPPED_DARK_OAK_LOG: Self = Self { @@ -29382,6 +54402,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stripped_dark_oak_log"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRIPPED_DARK_OAK_WOOD: Self = Self { @@ -29401,6 +54440,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stripped_dark_oak_wood"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRIPPED_JUNGLE_LOG: Self = Self { @@ -29420,6 +54478,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stripped_jungle_log"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRIPPED_JUNGLE_WOOD: Self = Self { @@ -29439,6 +54516,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stripped_jungle_wood"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRIPPED_MANGROVE_LOG: Self = Self { @@ -29458,6 +54554,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stripped_mangrove_log"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRIPPED_MANGROVE_WOOD: Self = Self { @@ -29477,6 +54592,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stripped_mangrove_wood"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRIPPED_OAK_LOG: Self = Self { @@ -29496,6 +54630,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stripped_oak_log"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRIPPED_OAK_WOOD: Self = Self { @@ -29515,6 +54668,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stripped_oak_wood"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRIPPED_PALE_OAK_LOG: Self = Self { @@ -29534,6 +54706,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stripped_pale_oak_log"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRIPPED_PALE_OAK_WOOD: Self = Self { @@ -29553,6 +54744,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stripped_pale_oak_wood"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRIPPED_SPRUCE_LOG: Self = Self { @@ -29572,6 +54782,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stripped_spruce_log"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRIPPED_SPRUCE_WOOD: Self = Self { @@ -29591,6 +54820,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stripped_spruce_wood"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRIPPED_WARPED_HYPHAE: Self = Self { @@ -29610,6 +54858,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stripped_warped_hyphae"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRIPPED_WARPED_STEM: Self = Self { @@ -29629,6 +54896,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:stripped_warped_stem"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRUCTURE_BLOCK: Self = Self { @@ -29648,6 +54934,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:structure_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const STRUCTURE_VOID: Self = Self { @@ -29667,6 +54972,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:structure_void"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SUGAR: Self = Self { @@ -29686,6 +55010,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sugar"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SUGAR_CANE: Self = Self { @@ -29705,6 +55048,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sugar_cane"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SULFUR: Self = Self { @@ -29724,6 +55086,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sulfur"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SULFUR_BRICK_SLAB: Self = Self { @@ -29743,6 +55124,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sulfur_brick_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SULFUR_BRICK_STAIRS: Self = Self { @@ -29762,6 +55162,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sulfur_brick_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SULFUR_BRICK_WALL: Self = Self { @@ -29781,6 +55200,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sulfur_brick_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SULFUR_BRICKS: Self = Self { @@ -29800,6 +55238,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sulfur_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SULFUR_CUBE_BUCKET: Self = Self { @@ -29819,6 +55276,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (BucketEntityData, &BucketEntityDataImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sulfur_cube_bucket"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SULFUR_CUBE_SPAWN_EGG: Self = Self { @@ -29838,6 +55315,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sulfur_cube_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SULFUR_SLAB: Self = Self { @@ -29857,6 +55354,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sulfur_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SULFUR_SPIKE: Self = Self { @@ -29876,6 +55392,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sulfur_spike"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SULFUR_STAIRS: Self = Self { @@ -29895,6 +55430,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sulfur_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SULFUR_WALL: Self = Self { @@ -29914,6 +55468,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sulfur_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SUNFLOWER: Self = Self { @@ -29933,6 +55506,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sunflower"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SUSPICIOUS_GRAVEL: Self = Self { @@ -29952,6 +55544,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:suspicious_gravel"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SUSPICIOUS_SAND: Self = Self { @@ -29971,6 +55582,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:suspicious_sand"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const SUSPICIOUS_STEW: Self = Self { @@ -30008,6 +55638,27 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:suspicious_stew"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SuspiciousStewEffects, &SuspiciousStewEffectsImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), + (UseRemainder, &UseRemainderImpl), ], }; pub const SWEET_BERRIES: Self = Self { @@ -30045,6 +55696,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:sweet_berries"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TADPOLE_BUCKET: Self = Self { @@ -30064,6 +55734,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (BucketEntityData, &BucketEntityDataImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:tadpole_bucket"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TADPOLE_SPAWN_EGG: Self = Self { @@ -30083,6 +55773,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:tadpole_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TALL_DRY_GRASS: Self = Self { @@ -30102,6 +55812,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:tall_dry_grass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TALL_GRASS: Self = Self { @@ -30121,6 +55850,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:tall_grass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TARGET: Self = Self { @@ -30140,6 +55888,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:target"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TERRACOTTA: Self = Self { @@ -30159,6 +55926,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TEST_BLOCK: Self = Self { @@ -30178,6 +55964,31 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + ( + BlockState, + &BlockStateImpl { + properties: Cow::Borrowed(&[(Cow::Borrowed("mode"), Cow::Borrowed("start"))]), + }, + ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:test_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TEST_INSTANCE_BLOCK: Self = Self { @@ -30197,6 +56008,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:test_instance_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TIDE_ARMOR_TRIM_SMITHING_TEMPLATE: Self = Self { @@ -30216,6 +56046,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:tide_armor_trim_smithing_template"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TINTED_GLASS: Self = Self { @@ -30235,6 +56084,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:tinted_glass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TIPPED_ARROW: Self = Self { @@ -30254,6 +56122,35 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:tipped_arrow"), + }, + ), + (Lore, &LoreImpl), + ( + PotionContents, + &PotionContentsImpl { + potion_id: None, + custom_color: None, + custom_effects: Vec::new(), + custom_name: None, + }, + ), + (PotionDurationScale, &PotionDurationScaleImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TNT: Self = Self { @@ -30273,6 +56170,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:tnt"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TNT_MINECART: Self = Self { @@ -30292,6 +56208,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:tnt_minecart"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TORCH: Self = Self { @@ -30311,6 +56246,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:torch"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TORCHFLOWER: Self = Self { @@ -30330,6 +56284,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:torchflower"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TORCHFLOWER_SEEDS: Self = Self { @@ -30349,6 +56322,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:torchflower_seeds"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TOTEM_OF_UNDYING: Self = Self { @@ -30369,6 +56361,25 @@ impl Item { }, ), (DeathProtection, &DeathProtectionImpl), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:totem_of_undying"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TRADER_LLAMA_SPAWN_EGG: Self = Self { @@ -30388,6 +56399,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:trader_llama_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TRAPPED_CHEST: Self = Self { @@ -30407,6 +56438,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:trapped_chest"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TRIAL_KEY: Self = Self { @@ -30426,6 +56477,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:trial_key"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TRIAL_SPAWNER: Self = Self { @@ -30445,6 +56515,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:trial_spawner"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TRIDENT: Self = Self { @@ -30497,6 +56586,25 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 1 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:trident"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TRIPWIRE_HOOK: Self = Self { @@ -30516,6 +56624,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:tripwire_hook"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TROPICAL_FISH: Self = Self { @@ -30553,6 +56680,25 @@ impl Item { effects: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:tropical_fish"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TROPICAL_FISH_BUCKET: Self = Self { @@ -30580,6 +56726,26 @@ impl Item { can_always_eat: false, }, ), + (BreakSound, &BreakSoundImpl), + (BucketEntityData, &BucketEntityDataImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:tropical_fish_bucket"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TROPICAL_FISH_SPAWN_EGG: Self = Self { @@ -30599,6 +56765,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:tropical_fish_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TUBE_CORAL: Self = Self { @@ -30618,6 +56804,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:tube_coral"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TUBE_CORAL_BLOCK: Self = Self { @@ -30637,6 +56842,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:tube_coral_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TUBE_CORAL_FAN: Self = Self { @@ -30656,6 +56880,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:tube_coral_fan"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TUFF: Self = Self { @@ -30675,6 +56918,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:tuff"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TUFF_BRICK_SLAB: Self = Self { @@ -30694,6 +56956,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:tuff_brick_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TUFF_BRICK_STAIRS: Self = Self { @@ -30713,6 +56994,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:tuff_brick_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TUFF_BRICK_WALL: Self = Self { @@ -30732,6 +57032,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:tuff_brick_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TUFF_BRICKS: Self = Self { @@ -30751,6 +57070,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:tuff_bricks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TUFF_SLAB: Self = Self { @@ -30770,6 +57108,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:tuff_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TUFF_STAIRS: Self = Self { @@ -30789,6 +57146,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:tuff_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TUFF_WALL: Self = Self { @@ -30808,6 +57184,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:tuff_wall"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TURTLE_EGG: Self = Self { @@ -30827,6 +57222,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:turtle_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TURTLE_HELMET: Self = Self { @@ -30880,6 +57294,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 9 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:turtle_helmet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TURTLE_SCUTE: Self = Self { @@ -30899,6 +57333,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:turtle_scute"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TURTLE_SPAWN_EGG: Self = Self { @@ -30918,6 +57371,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:turtle_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const TWISTING_VINES: Self = Self { @@ -30937,6 +57410,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:twisting_vines"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const VAULT: Self = Self { @@ -30956,6 +57448,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:vault"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const VERDANT_FROGLIGHT: Self = Self { @@ -30975,6 +57486,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:verdant_froglight"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const VEX_ARMOR_TRIM_SMITHING_TEMPLATE: Self = Self { @@ -30994,6 +57524,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:vex_armor_trim_smithing_template"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const VEX_SPAWN_EGG: Self = Self { @@ -31013,6 +57562,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:vex_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const VILLAGER_SPAWN_EGG: Self = Self { @@ -31032,6 +57601,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:villager_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const VINDICATOR_SPAWN_EGG: Self = Self { @@ -31051,6 +57640,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:vindicator_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const VINE: Self = Self { @@ -31070,6 +57679,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:vine"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WANDERING_TRADER_SPAWN_EGG: Self = Self { @@ -31089,6 +57717,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:wandering_trader_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WARD_ARMOR_TRIM_SMITHING_TEMPLATE: Self = Self { @@ -31108,6 +57756,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:ward_armor_trim_smithing_template"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WARDEN_SPAWN_EGG: Self = Self { @@ -31127,6 +57794,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:warden_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WARPED_BUTTON: Self = Self { @@ -31146,6 +57833,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:warped_button"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WARPED_DOOR: Self = Self { @@ -31165,6 +57871,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:warped_door"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WARPED_FENCE: Self = Self { @@ -31184,6 +57909,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:warped_fence"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WARPED_FENCE_GATE: Self = Self { @@ -31203,6 +57947,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:warped_fence_gate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WARPED_FUNGUS: Self = Self { @@ -31222,6 +57985,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:warped_fungus"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WARPED_FUNGUS_ON_A_STICK: Self = Self { @@ -31243,6 +58025,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:warped_fungus_on_a_stick"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WARPED_HANGING_SIGN: Self = Self { @@ -31262,6 +58063,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:warped_hanging_sign"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WARPED_HYPHAE: Self = Self { @@ -31281,6 +58101,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:warped_hyphae"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WARPED_NYLIUM: Self = Self { @@ -31300,6 +58139,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:warped_nylium"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WARPED_PLANKS: Self = Self { @@ -31319,6 +58177,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:warped_planks"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WARPED_PRESSURE_PLATE: Self = Self { @@ -31338,6 +58215,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:warped_pressure_plate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WARPED_ROOTS: Self = Self { @@ -31357,6 +58253,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:warped_roots"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WARPED_SHELF: Self = Self { @@ -31376,6 +58291,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:warped_shelf"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WARPED_SIGN: Self = Self { @@ -31395,6 +58330,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:warped_sign"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WARPED_SLAB: Self = Self { @@ -31414,6 +58368,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:warped_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WARPED_STAIRS: Self = Self { @@ -31433,6 +58406,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:warped_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WARPED_STEM: Self = Self { @@ -31452,6 +58444,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:warped_stem"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WARPED_TRAPDOOR: Self = Self { @@ -31471,6 +58482,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:warped_trapdoor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WARPED_WART_BLOCK: Self = Self { @@ -31490,6 +58520,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:warped_wart_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WATER_BUCKET: Self = Self { @@ -31509,6 +58558,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:water_bucket"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_CHISELED_COPPER: Self = Self { @@ -31528,6 +58596,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_chiseled_copper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_COPPER_BARS: Self = Self { @@ -31547,6 +58634,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_copper_bars"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_COPPER_BLOCK: Self = Self { @@ -31566,6 +58672,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_copper_block"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_COPPER_BULB: Self = Self { @@ -31585,6 +58710,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_copper_bulb"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_COPPER_CHAIN: Self = Self { @@ -31604,6 +58748,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_copper_chain"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_COPPER_CHEST: Self = Self { @@ -31623,6 +58786,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_copper_chest"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_COPPER_DOOR: Self = Self { @@ -31642,6 +58824,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_copper_door"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_COPPER_GOLEM_STATUE: Self = Self { @@ -31661,6 +58862,34 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + ( + BlockState, + &BlockStateImpl { + properties: Cow::Borrowed(&[( + Cow::Borrowed("copper_golem_pose"), + Cow::Borrowed("standing"), + )]), + }, + ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_copper_golem_statue"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_COPPER_GRATE: Self = Self { @@ -31680,6 +58909,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_copper_grate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_COPPER_LANTERN: Self = Self { @@ -31699,6 +58947,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_copper_lantern"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_COPPER_TRAPDOOR: Self = Self { @@ -31718,6 +58985,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_copper_trapdoor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_CUT_COPPER: Self = Self { @@ -31737,6 +59023,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_cut_copper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_CUT_COPPER_SLAB: Self = Self { @@ -31756,6 +59061,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_cut_copper_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_CUT_COPPER_STAIRS: Self = Self { @@ -31775,6 +59099,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_cut_copper_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_EXPOSED_CHISELED_COPPER: Self = Self { @@ -31794,6 +59137,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_exposed_chiseled_copper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_EXPOSED_COPPER: Self = Self { @@ -31813,6 +59175,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_exposed_copper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_EXPOSED_COPPER_BARS: Self = Self { @@ -31832,6 +59213,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_exposed_copper_bars"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_EXPOSED_COPPER_BULB: Self = Self { @@ -31851,6 +59251,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_exposed_copper_bulb"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_EXPOSED_COPPER_CHAIN: Self = Self { @@ -31870,6 +59289,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_exposed_copper_chain"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_EXPOSED_COPPER_CHEST: Self = Self { @@ -31889,6 +59327,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_exposed_copper_chest"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_EXPOSED_COPPER_DOOR: Self = Self { @@ -31908,6 +59365,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_exposed_copper_door"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_EXPOSED_COPPER_GOLEM_STATUE: Self = Self { @@ -31927,6 +59403,34 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + ( + BlockState, + &BlockStateImpl { + properties: Cow::Borrowed(&[( + Cow::Borrowed("copper_golem_pose"), + Cow::Borrowed("standing"), + )]), + }, + ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_exposed_copper_golem_statue"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_EXPOSED_COPPER_GRATE: Self = Self { @@ -31946,6 +59450,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_exposed_copper_grate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_EXPOSED_COPPER_LANTERN: Self = Self { @@ -31965,6 +59488,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_exposed_copper_lantern"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_EXPOSED_COPPER_TRAPDOOR: Self = Self { @@ -31984,6 +59526,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_exposed_copper_trapdoor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_EXPOSED_CUT_COPPER: Self = Self { @@ -32003,6 +59564,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_exposed_cut_copper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_EXPOSED_CUT_COPPER_SLAB: Self = Self { @@ -32022,6 +59602,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_exposed_cut_copper_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_EXPOSED_CUT_COPPER_STAIRS: Self = Self { @@ -32041,6 +59640,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_exposed_cut_copper_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_EXPOSED_LIGHTNING_ROD: Self = Self { @@ -32060,6 +59678,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_exposed_lightning_rod"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_LIGHTNING_ROD: Self = Self { @@ -32079,6 +59716,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_lightning_rod"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_OXIDIZED_CHISELED_COPPER: Self = Self { @@ -32098,6 +59754,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_oxidized_chiseled_copper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_OXIDIZED_COPPER: Self = Self { @@ -32117,6 +59792,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_oxidized_copper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_OXIDIZED_COPPER_BARS: Self = Self { @@ -32136,6 +59830,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_oxidized_copper_bars"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_OXIDIZED_COPPER_BULB: Self = Self { @@ -32155,6 +59868,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_oxidized_copper_bulb"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_OXIDIZED_COPPER_CHAIN: Self = Self { @@ -32174,6 +59906,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_oxidized_copper_chain"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_OXIDIZED_COPPER_CHEST: Self = Self { @@ -32193,6 +59944,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_oxidized_copper_chest"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_OXIDIZED_COPPER_DOOR: Self = Self { @@ -32212,6 +59982,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_oxidized_copper_door"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_OXIDIZED_COPPER_GOLEM_STATUE: Self = Self { @@ -32231,6 +60020,34 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + ( + BlockState, + &BlockStateImpl { + properties: Cow::Borrowed(&[( + Cow::Borrowed("copper_golem_pose"), + Cow::Borrowed("standing"), + )]), + }, + ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_oxidized_copper_golem_statue"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_OXIDIZED_COPPER_GRATE: Self = Self { @@ -32250,6 +60067,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_oxidized_copper_grate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_OXIDIZED_COPPER_LANTERN: Self = Self { @@ -32269,6 +60105,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_oxidized_copper_lantern"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_OXIDIZED_COPPER_TRAPDOOR: Self = Self { @@ -32288,6 +60143,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_oxidized_copper_trapdoor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_OXIDIZED_CUT_COPPER: Self = Self { @@ -32307,6 +60181,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_oxidized_cut_copper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_OXIDIZED_CUT_COPPER_SLAB: Self = Self { @@ -32326,6 +60219,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_oxidized_cut_copper_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_OXIDIZED_CUT_COPPER_STAIRS: Self = Self { @@ -32345,6 +60257,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_oxidized_cut_copper_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_OXIDIZED_LIGHTNING_ROD: Self = Self { @@ -32364,6 +60295,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_oxidized_lightning_rod"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_WEATHERED_CHISELED_COPPER: Self = Self { @@ -32383,6 +60333,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_weathered_chiseled_copper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_WEATHERED_COPPER: Self = Self { @@ -32402,6 +60371,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_weathered_copper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_WEATHERED_COPPER_BARS: Self = Self { @@ -32421,6 +60409,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_weathered_copper_bars"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_WEATHERED_COPPER_BULB: Self = Self { @@ -32440,6 +60447,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_weathered_copper_bulb"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_WEATHERED_COPPER_CHAIN: Self = Self { @@ -32459,6 +60485,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_weathered_copper_chain"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_WEATHERED_COPPER_CHEST: Self = Self { @@ -32478,6 +60523,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_weathered_copper_chest"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_WEATHERED_COPPER_DOOR: Self = Self { @@ -32497,6 +60561,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_weathered_copper_door"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_WEATHERED_COPPER_GOLEM_STATUE: Self = Self { @@ -32516,6 +60599,34 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + ( + BlockState, + &BlockStateImpl { + properties: Cow::Borrowed(&[( + Cow::Borrowed("copper_golem_pose"), + Cow::Borrowed("standing"), + )]), + }, + ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_weathered_copper_golem_statue"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_WEATHERED_COPPER_GRATE: Self = Self { @@ -32535,6 +60646,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_weathered_copper_grate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_WEATHERED_COPPER_LANTERN: Self = Self { @@ -32554,6 +60684,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_weathered_copper_lantern"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_WEATHERED_COPPER_TRAPDOOR: Self = Self { @@ -32573,6 +60722,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_weathered_copper_trapdoor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_WEATHERED_CUT_COPPER: Self = Self { @@ -32592,6 +60760,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_weathered_cut_copper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_WEATHERED_CUT_COPPER_SLAB: Self = Self { @@ -32611,6 +60798,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_weathered_cut_copper_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_WEATHERED_CUT_COPPER_STAIRS: Self = Self { @@ -32630,6 +60836,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_weathered_cut_copper_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAXED_WEATHERED_LIGHTNING_ROD: Self = Self { @@ -32649,6 +60874,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:waxed_weathered_lightning_rod"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WAYFINDER_ARMOR_TRIM_SMITHING_TEMPLATE: Self = Self { @@ -32668,6 +60912,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:wayfinder_armor_trim_smithing_template"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WEATHERED_CHISELED_COPPER: Self = Self { @@ -32687,6 +60950,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:weathered_chiseled_copper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WEATHERED_COPPER: Self = Self { @@ -32706,6 +60988,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:weathered_copper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WEATHERED_COPPER_BARS: Self = Self { @@ -32725,6 +61026,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:weathered_copper_bars"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WEATHERED_COPPER_BULB: Self = Self { @@ -32744,6 +61064,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:weathered_copper_bulb"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WEATHERED_COPPER_CHAIN: Self = Self { @@ -32763,6 +61102,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:weathered_copper_chain"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WEATHERED_COPPER_CHEST: Self = Self { @@ -32782,6 +61140,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:weathered_copper_chest"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WEATHERED_COPPER_DOOR: Self = Self { @@ -32801,6 +61178,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:weathered_copper_door"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WEATHERED_COPPER_GOLEM_STATUE: Self = Self { @@ -32820,6 +61216,34 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + ( + BlockState, + &BlockStateImpl { + properties: Cow::Borrowed(&[( + Cow::Borrowed("copper_golem_pose"), + Cow::Borrowed("standing"), + )]), + }, + ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:weathered_copper_golem_statue"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WEATHERED_COPPER_GRATE: Self = Self { @@ -32839,6 +61263,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:weathered_copper_grate"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WEATHERED_COPPER_LANTERN: Self = Self { @@ -32858,6 +61301,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:weathered_copper_lantern"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WEATHERED_COPPER_TRAPDOOR: Self = Self { @@ -32877,6 +61339,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:weathered_copper_trapdoor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WEATHERED_CUT_COPPER: Self = Self { @@ -32896,6 +61377,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:weathered_cut_copper"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WEATHERED_CUT_COPPER_SLAB: Self = Self { @@ -32915,6 +61415,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:weathered_cut_copper_slab"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WEATHERED_CUT_COPPER_STAIRS: Self = Self { @@ -32934,6 +61453,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:weathered_cut_copper_stairs"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WEATHERED_LIGHTNING_ROD: Self = Self { @@ -32953,6 +61491,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:weathered_lightning_rod"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WEEPING_VINES: Self = Self { @@ -32972,6 +61529,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:weeping_vines"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WET_SPONGE: Self = Self { @@ -32991,6 +61567,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:wet_sponge"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WHEAT: Self = Self { @@ -33010,6 +61605,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:wheat"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WHEAT_SEEDS: Self = Self { @@ -33029,6 +61643,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:wheat_seeds"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WHITE_BANNER: Self = Self { @@ -33048,6 +61681,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BannerPatterns, &BannerPatternsImpl), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:white_banner"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WHITE_BED: Self = Self { @@ -33067,6 +61720,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:white_bed"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WHITE_BUNDLE: Self = Self { @@ -33086,6 +61758,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (BundleContents, &BundleContentsImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:white_bundle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WHITE_CANDLE: Self = Self { @@ -33105,6 +61797,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:white_candle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WHITE_CARPET: Self = Self { @@ -33143,6 +61854,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemLlamaCarpetUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:white_carpet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WHITE_CONCRETE: Self = Self { @@ -33162,6 +61892,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:white_concrete"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WHITE_CONCRETE_POWDER: Self = Self { @@ -33181,6 +61930,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:white_concrete_powder"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WHITE_DYE: Self = Self { @@ -33200,6 +61968,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Dye, &DyeImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:white_dye"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WHITE_GLAZED_TERRACOTTA: Self = Self { @@ -33219,6 +62007,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:white_glazed_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WHITE_HARNESS: Self = Self { @@ -33254,6 +62061,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::EntityHappyGhastUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:white_harness"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WHITE_SHULKER_BOX: Self = Self { @@ -33273,6 +62099,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:white_shulker_box"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WHITE_STAINED_GLASS: Self = Self { @@ -33292,6 +62138,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:white_stained_glass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WHITE_STAINED_GLASS_PANE: Self = Self { @@ -33311,6 +62176,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:white_stained_glass_pane"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WHITE_TERRACOTTA: Self = Self { @@ -33330,6 +62214,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:white_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WHITE_TULIP: Self = Self { @@ -33349,6 +62252,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:white_tulip"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WHITE_WOOL: Self = Self { @@ -33368,6 +62290,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:white_wool"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WILD_ARMOR_TRIM_SMITHING_TEMPLATE: Self = Self { @@ -33387,6 +62328,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:wild_armor_trim_smithing_template"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WILDFLOWERS: Self = Self { @@ -33406,6 +62366,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:wildflowers"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WIND_CHARGE: Self = Self { @@ -33432,6 +62411,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:wind_charge"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WITCH_SPAWN_EGG: Self = Self { @@ -33451,6 +62449,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:witch_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WITHER_ROSE: Self = Self { @@ -33470,6 +62488,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:wither_rose"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WITHER_SKELETON_SKULL: Self = Self { @@ -33511,6 +62548,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemShearsSnip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:wither_skeleton_skull"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WITHER_SKELETON_SPAWN_EGG: Self = Self { @@ -33530,6 +62586,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:wither_skeleton_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WITHER_SPAWN_EGG: Self = Self { @@ -33549,6 +62625,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:wither_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WOLF_ARMOR: Self = Self { @@ -33603,6 +62699,26 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemArmorUnequipWolf), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:wolf_armor"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WOLF_SPAWN_EGG: Self = Self { @@ -33622,6 +62738,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:wolf_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WOODEN_AXE: Self = Self { @@ -33685,6 +62821,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 15 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:wooden_axe"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WOODEN_HOE: Self = Self { @@ -33748,6 +62904,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 15 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:wooden_hoe"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WOODEN_PICKAXE: Self = Self { @@ -33811,6 +62987,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 15 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:wooden_pickaxe"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WOODEN_SHOVEL: Self = Self { @@ -33874,6 +63070,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 15 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:wooden_shovel"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WOODEN_SPEAR: Self = Self { @@ -33917,6 +63133,31 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 15 }), + (AttackRange, &AttackRangeImpl), + (BreakSound, &BreakSoundImpl), + (DamageType, &DamageTypeImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:wooden_spear"), + }, + ), + (KineticWeapon, &KineticWeaponImpl), + (Lore, &LoreImpl), + (MinimumAttackCharge, &MinimumAttackChargeImpl), + (PiercingWeapon, &PiercingWeaponImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WOODEN_SWORD: Self = Self { @@ -33985,6 +63226,26 @@ impl Item { }, ), (Enchantable, &EnchantableImpl { value: 15 }), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:wooden_sword"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (Repairable, &RepairableImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const WRITABLE_BOOK: Self = Self { @@ -34004,6 +63265,29 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:writable_book"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), + ( + WritableBookContent, + &WritableBookContentImpl { pages: Vec::new() }, + ), ], }; pub const WRITTEN_BOOK: Self = Self { @@ -34023,6 +63307,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (EnchantmentGlintOverride, &EnchantmentGlintOverrideImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:written_book"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const YELLOW_BANNER: Self = Self { @@ -34042,6 +63346,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BannerPatterns, &BannerPatternsImpl), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:yellow_banner"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const YELLOW_BED: Self = Self { @@ -34061,6 +63385,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:yellow_bed"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const YELLOW_BUNDLE: Self = Self { @@ -34080,6 +63423,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (BundleContents, &BundleContentsImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:yellow_bundle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const YELLOW_CANDLE: Self = Self { @@ -34099,6 +63462,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:yellow_candle"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const YELLOW_CARPET: Self = Self { @@ -34137,6 +63519,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemLlamaCarpetUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:yellow_carpet"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const YELLOW_CONCRETE: Self = Self { @@ -34156,6 +63557,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:yellow_concrete"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const YELLOW_CONCRETE_POWDER: Self = Self { @@ -34175,6 +63595,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:yellow_concrete_powder"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const YELLOW_DYE: Self = Self { @@ -34194,6 +63633,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Dye, &DyeImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:yellow_dye"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const YELLOW_GLAZED_TERRACOTTA: Self = Self { @@ -34213,6 +63672,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:yellow_glazed_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const YELLOW_HARNESS: Self = Self { @@ -34248,6 +63726,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::EntityHappyGhastUnequip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:yellow_harness"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const YELLOW_SHULKER_BOX: Self = Self { @@ -34267,6 +63764,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + (Container, &ContainerImpl { items: Vec::new() }), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:yellow_shulker_box"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const YELLOW_STAINED_GLASS: Self = Self { @@ -34286,6 +63803,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:yellow_stained_glass"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const YELLOW_STAINED_GLASS_PANE: Self = Self { @@ -34305,6 +63841,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:yellow_stained_glass_pane"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const YELLOW_TERRACOTTA: Self = Self { @@ -34324,6 +63879,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:yellow_terracotta"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const YELLOW_WOOL: Self = Self { @@ -34343,6 +63917,25 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:yellow_wool"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ZOGLIN_SPAWN_EGG: Self = Self { @@ -34362,6 +63955,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:zoglin_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ZOMBIE_HEAD: Self = Self { @@ -34403,6 +64016,25 @@ impl Item { shearing_sound: IdOr::Id(Sound::ItemShearsSnip), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:zombie_head"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ZOMBIE_HORSE_SPAWN_EGG: Self = Self { @@ -34422,6 +64054,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:zombie_horse_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ZOMBIE_NAUTILUS_SPAWN_EGG: Self = Self { @@ -34441,6 +64093,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:zombie_nautilus_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ZOMBIE_SPAWN_EGG: Self = Self { @@ -34460,6 +64132,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:zombie_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ZOMBIE_VILLAGER_SPAWN_EGG: Self = Self { @@ -34479,6 +64171,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:zombie_villager_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; pub const ZOMBIFIED_PIGLIN_SPAWN_EGG: Self = Self { @@ -34498,6 +64210,26 @@ impl Item { attribute_modifiers: Cow::Borrowed(&[]), }, ), + (BreakSound, &BreakSoundImpl), + ( + Enchantments, + &EnchantmentsImpl { + enchantment: Cow::Borrowed(&[]), + }, + ), + (EntityData, &EntityDataImpl), + ( + ItemModel, + &ItemModelImpl { + id: Cow::Borrowed("minecraft:zombified_piglin_spawn_egg"), + }, + ), + (Lore, &LoreImpl), + (Rarity, &RarityImpl), + (RepairCost, &RepairCostImpl), + (SwingAnimation, &SwingAnimationImpl), + (TooltipDisplay, &TooltipDisplayImpl), + (UseEffects, &UseEffectsImpl), ], }; #[must_use] @@ -37898,7 +67630,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const APPLE : Self = Self { id : 285 , registry_key : "minecraft:apple" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x05\x13saturation_modifier\x9A\x99\x99>\x03\tnutrition\x08\n\x11using_converts_to\0\0\n\x16minecraft:display_name\x08\x05value\x0Fitem.apple.name\0\n\x17minecraft:use_animation\x08\x05value\x03eat\0\n\x17minecraft:use_modifiers\x01\x0Femit_vibrations\x01\x08\x0Bstart_using\x06always\x05\x11movement_modifier33\xB3>\x05\x0Cuse_duration\xCD\xCC\xCC?\0\t\titem_tags\x08\x02\x11minecraft:is_food\n\x0Fitem_properties\x01\x04foil\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x05apple\0\0\x03\x0Emax_stack_size\x80\x01\x03\x06damage\0\x01\rhand_equipped\0\x01\x0Eliquid_clipped\0\x03\ruse_animation\x02\x08\x0Ecreative_group\0\x01\x0Eshould_despawn\x01\x03\x11creative_category\x04\x05\x0Cmining_speed\0\0\x80?\x03\x0Cuse_duration@\x03\x0Bframe_count\x02\x01\x0Eallow_off_hand\0\x01\x17can_destroy_in_creative\x01\x03\x11enchantable_value\0\x01\x0Fstacked_by_data\0\x08\x10enchantable_slot\x04none\x01\x12hidden_in_commands\x02\0\n\x0Eminecraft:tags\t\x04tags\x08\x02\x11minecraft:is_food\0\0" } ; + pub const APPLE : Self = Self { id : 285 , registry_key : "minecraft:apple" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\t\titem_tags\x08\x02\x11minecraft:is_food\n\x0Fitem_properties\x01\x0Eliquid_clipped\0\x08\x0Ecreative_group\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x05apple\0\0\x03\x11creative_category\x04\x01\x0Eshould_despawn\x01\x05\x0Cmining_speed\0\0\x80?\x01\x0Fstacked_by_data\0\x01\x0Eallow_off_hand\0\x03\x0Emax_stack_size\x80\x01\x03\x06damage\0\x08\x10enchantable_slot\x04none\x01\rhand_equipped\0\x01\x12hidden_in_commands\x02\x03\x0Cuse_duration@\x01\x17can_destroy_in_creative\x01\x03\x11enchantable_value\0\x03\x0Bframe_count\x02\x03\ruse_animation\x02\x01\x04foil\0\0\n\x0Eminecraft:food\n\x11using_converts_to\0\x03\tnutrition\x08\x05\x13saturation_modifier\x9A\x99\x99>\x01\x0Ecan_always_eat\0\0\n\x0Eminecraft:tags\t\x04tags\x08\x02\x11minecraft:is_food\0\n\x17minecraft:use_modifiers\x05\x11movement_modifier33\xB3>\x05\x0Cuse_duration\xCD\xCC\xCC?\x08\x0Bstart_using\x06always\x01\x0Femit_vibrations\x01\0\n\x17minecraft:use_animation\x08\x05value\x03eat\0\n\x16minecraft:display_name\x08\x05value\x0Fitem.apple.name\0\0" } ; pub const ARCHER_POTTERY_SHERD: Self = Self { id: 700, registry_key: "minecraft:archer_pottery_sherd", @@ -37983,7 +67715,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const BAKED_POTATO : Self = Self { id : 310 , registry_key : "minecraft:baked_potato" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x05\x13saturation_modifier\x9A\x99\x19?\x08\rcooldown_type\0\x08\x11using_converts_to\0\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x03\tnutrition\n\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\x03\x16minecraft:use_duration@\0" } ; + pub const BAKED_POTATO : Self = Self { id : 310 , registry_key : "minecraft:baked_potato" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x05\x13saturation_modifier\x9A\x99\x19?\x03\ron_use_action\x01\x03\rcooldown_time\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x01\x0Ecan_always_eat\0\x08\rcooldown_type\0\x03\tnutrition\n\x08\x11using_converts_to\0\0\0" } ; pub const BALLOON: Self = Self { id: 641, registry_key: "minecraft:balloon", @@ -38236,7 +67968,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const BEEF : Self = Self { id : 302 , registry_key : "minecraft:beef" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\ron_use_action\x01\x08\x11using_converts_to\0\x03\tnutrition\x06\x08\rcooldown_type\0\x03\rcooldown_time\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\x9A\x99\x99>\x01\x0Ecan_always_eat\0\0\0" } ; + pub const BEEF : Self = Self { id : 302 , registry_key : "minecraft:beef" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x08\x11using_converts_to\0\x03\rcooldown_time\0\x08\rcooldown_type\0\x03\tnutrition\x06\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\ron_use_action\x01\x05\x13saturation_modifier\x9A\x99\x99>\x01\x0Ecan_always_eat\0\0\x03\x16minecraft:use_duration@\0" } ; pub const BEEHIVE: Self = Self { id: -219, registry_key: "minecraft:beehive", @@ -38244,9 +67976,9 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const BEETROOT : Self = Self { id : 314 , registry_key : "minecraft:beetroot" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x03\tnutrition\x02\x03\rcooldown_time\0\x05\x13saturation_modifier\x9A\x99\x19?\x08\rcooldown_type\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\x03\ron_use_action\x01\0\0" } ; - pub const BEETROOT_SEEDS : Self = Self { id : 324 , registry_key : "minecraft:beetroot_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\t\x08plant_at\x08\x02\x12minecraft:farmland\x08\rplant_at_face\x02up\x08\x0Bcrop_result\x12minecraft:beetroot\x01\x1Aplant_at_any_solid_surface\0\0\0" } ; - pub const BEETROOT_SOUP : Self = Self { id : 315 , registry_key : "minecraft:beetroot_soup" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x18minecraft:max_stack_size\x02\n\x0Eminecraft:food\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\x08\x11using_converts_to\x04bowl\x03\ron_use_action\x01\x05\x13saturation_modifier\x9A\x99\x19?\x08\rcooldown_type\0\x03\tnutrition\x0C\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\x03\x16minecraft:use_duration@\0" } ; + pub const BEETROOT : Self = Self { id : 314 , registry_key : "minecraft:beetroot" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x05\x13saturation_modifier\x9A\x99\x19?\x03\rcooldown_time\0\x03\ron_use_action\x01\x01\x0Ecan_always_eat\0\x08\x11using_converts_to\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\tnutrition\x02\x08\rcooldown_type\0\0\x03\x16minecraft:use_duration@\0" } ; + pub const BEETROOT_SEEDS : Self = Self { id : 324 , registry_key : "minecraft:beetroot_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\t\x08plant_at\x08\x02\x12minecraft:farmland\x08\rplant_at_face\x02up\x01\x1Aplant_at_any_solid_surface\0\x08\x0Bcrop_result\x12minecraft:beetroot\0\0" } ; + pub const BEETROOT_SOUP : Self = Self { id : 315 , registry_key : "minecraft:beetroot_soup" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\x04bowl\x08\rcooldown_type\0\x03\tnutrition\x0C\x03\rcooldown_time\0\x03\ron_use_action\x01\x05\x13saturation_modifier\x9A\x99\x19?\0\x03\x16minecraft:use_duration@\x03\x18minecraft:max_stack_size\x02\0" } ; pub const BELL: Self = Self { id: -206, registry_key: "minecraft:bell", @@ -38408,7 +68140,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const BLACK_BUNDLE : Self = Self { id : 264 , registry_key : "minecraft:black_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x0Fitem_properties\x01\x17can_destroy_in_creative\x01\x05\x0Cmining_speed\0\0\x80?\x01\x0Eshould_despawn\x01\x01\x0Fstacked_by_data\0\x03\ruse_animation\0\x01\x04foil\0\x03\x0Bframe_count\x02\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Cbundle_black\x08\x11bundle_open_front\x17bundle_black_open_front\x08\x10bundle_open_back\x16bundle_black_open_back\0\0\x03\x0Cuse_duration\0\x03\x11enchantable_value\0\x03\x06damage\0\x03\x0Emax_stack_size\x02\x08\x10enchantable_slot\x04none\x01\x0Eallow_off_hand\0\x01\x0Eliquid_clipped\0\x01\x12hidden_in_commands\x02\x03\x11creative_category\x06\x08\x0Ecreative_group\0\x01\rhand_equipped\0\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\t\titem_tags\0\0\n\x16minecraft:storage_item\x01\x1Aallow_nested_storage_items\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\t\rallowed_items\0\0\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\0" } ; + pub const BLACK_BUNDLE : Self = Self { id : 264 , registry_key : "minecraft:black_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\t\titem_tags\0\0\n\x0Fitem_properties\x01\x17can_destroy_in_creative\x01\x01\x12hidden_in_commands\x02\x03\x11creative_category\x06\x05\x0Cmining_speed\0\0\x80?\x01\rhand_equipped\0\x03\x0Cuse_duration\0\x01\x0Fstacked_by_data\0\x03\x0Bframe_count\x02\x01\x0Eallow_off_hand\0\x03\ruse_animation\0\x01\x04foil\0\x03\x0Emax_stack_size\x02\x03\x06damage\0\x08\x10enchantable_slot\x04none\x03\x11enchantable_value\0\x01\x0Eliquid_clipped\0\x08\x0Ecreative_group\0\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x17bundle_black_open_front\x08\x10bundle_open_back\x16bundle_black_open_back\x08\x07default\x0Cbundle_black\0\0\x01\x0Eshould_despawn\x01\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:storage_item\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x01\x1Aallow_nested_storage_items\x01\t\rallowed_items\0\0\x03\tmax_slots\x80\x01\0\0" } ; pub const BLACK_CANDLE: Self = Self { id: -428, registry_key: "minecraft:black_candle", @@ -38577,7 +68309,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const BLUE_BUNDLE : Self = Self { id : 265 , registry_key : "minecraft:blue_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x0Fitem_properties\x03\x11creative_category\x06\x03\x0Cuse_duration\0\x08\x10enchantable_slot\x04none\x01\x04foil\0\x01\rhand_equipped\0\x01\x12hidden_in_commands\x02\x01\x0Eliquid_clipped\0\x03\x11enchantable_value\0\x03\x0Emax_stack_size\x02\x01\x0Eshould_despawn\x01\x01\x0Eallow_off_hand\0\x01\x0Fstacked_by_data\0\x03\ruse_animation\0\x08\x0Ecreative_group\0\x03\x06damage\0\x03\x0Bframe_count\x02\x05\x0Cmining_speed\0\0\x80?\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x15bundle_blue_open_back\x08\x11bundle_open_front\x16bundle_blue_open_front\x08\x07default\x0Bbundle_blue\0\0\x01\x17can_destroy_in_creative\x01\0\n\x16minecraft:storage_item\t\rallowed_items\0\0\x01\x1Aallow_nested_storage_items\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\t\titem_tags\0\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\0" } ; + pub const BLUE_BUNDLE : Self = Self { id : 265 , registry_key : "minecraft:blue_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\t\titem_tags\0\0\n\x0Fitem_properties\x03\ruse_animation\0\x01\x17can_destroy_in_creative\x01\x05\x0Cmining_speed\0\0\x80?\x03\x0Cuse_duration\0\x01\x12hidden_in_commands\x02\x01\x0Eallow_off_hand\0\x01\x04foil\0\x01\x0Fstacked_by_data\0\x01\rhand_equipped\0\x03\x11enchantable_value\0\x08\x0Ecreative_group\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x15bundle_blue_open_back\x08\x11bundle_open_front\x16bundle_blue_open_front\x08\x07default\x0Bbundle_blue\0\0\x08\x10enchantable_slot\x04none\x03\x0Emax_stack_size\x02\x03\x06damage\0\x03\x0Bframe_count\x02\x01\x0Eliquid_clipped\0\x01\x0Eshould_despawn\x01\x03\x11creative_category\x06\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:storage_item\x01\x1Aallow_nested_storage_items\x01\t\rallowed_items\0\0\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\0" } ; pub const BLUE_CANDLE: Self = Self { id: -424, registry_key: "minecraft:blue_candle", @@ -38809,8 +68541,8 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const BREAD : Self = Self { id : 290 , registry_key : "minecraft:bread" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\rcooldown_time\0\x03\ron_use_action\x01\x03\tnutrition\n\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\rcooldown_type\0\x05\x13saturation_modifier\x9A\x99\x19?\x08\x11using_converts_to\0\x01\x0Ecan_always_eat\0\0\x03\x16minecraft:use_duration@\0" } ; - pub const BREEZE_ROD : Self = Self { id : 281 , registry_key : "minecraft:breeze_rod" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x16minecraft:display_name\x08\x05value\x14item.breeze_rod.name\0\n\x0Fitem_properties\x03\ruse_animation\0\x01\x04foil\0\x08\x10enchantable_slot\x04none\x05\x0Cmining_speed\0\0\x80?\x01\x0Fstacked_by_data\0\x01\x0Eshould_despawn\x01\x03\x0Cuse_duration\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\nbreeze_rod\0\0\x08\x0Ecreative_group\0\x03\x11enchantable_value\0\x03\x0Bframe_count\x02\x03\x06damage\0\x01\rhand_equipped\x01\x01\x12hidden_in_commands\x02\x03\x0Emax_stack_size\x80\x01\x03\x11creative_category\x08\x01\x0Eallow_off_hand\0\x01\x17can_destroy_in_creative\x01\x01\x0Eliquid_clipped\0\0\t\titem_tags\0\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\0" } ; + pub const BREAD : Self = Self { id : 290 , registry_key : "minecraft:bread" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\ron_use_action\x01\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\x05\x13saturation_modifier\x9A\x99\x19?\x08\rcooldown_type\0\x08\x11using_converts_to\0\x03\tnutrition\n\0\0" } ; + pub const BREEZE_ROD : Self = Self { id : 281 , registry_key : "minecraft:breeze_rod" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x0Fitem_properties\x08\x0Ecreative_group\0\x01\x04foil\0\x01\x17can_destroy_in_creative\x01\x03\x0Cuse_duration\0\x01\x0Eallow_off_hand\0\x03\x11enchantable_value\0\x01\x0Eliquid_clipped\0\x08\x10enchantable_slot\x04none\x03\x11creative_category\x08\x01\x0Eshould_despawn\x01\x01\rhand_equipped\x01\x05\x0Cmining_speed\0\0\x80?\x01\x0Fstacked_by_data\0\x03\x0Emax_stack_size\x80\x01\x03\ruse_animation\0\x03\x0Bframe_count\x02\x01\x12hidden_in_commands\x02\n\x0Eminecraft:icon\n\x08textures\x08\x07default\nbreeze_rod\0\0\x03\x06damage\0\0\n\x16minecraft:display_name\x08\x05value\x14item.breeze_rod.name\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\t\titem_tags\0\0\0" } ; pub const BREEZE_SPAWN_EGG: Self = Self { id: 535, registry_key: "minecraft:breeze_spawn_egg", @@ -38874,7 +68606,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const BROWN_BUNDLE : Self = Self { id : 266 , registry_key : "minecraft:brown_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:storage_item\x01\x1Aallow_nested_storage_items\x01\t\rallowed_items\0\0\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x0Fitem_properties\x08\x10enchantable_slot\x04none\x01\x0Eallow_off_hand\0\x01\x0Eshould_despawn\x01\x05\x0Cmining_speed\0\0\x80?\x03\x11creative_category\x06\x01\x0Fstacked_by_data\0\x08\x0Ecreative_group\0\x03\x11enchantable_value\0\x01\rhand_equipped\0\x03\x0Cuse_duration\0\x03\ruse_animation\0\x01\x0Eliquid_clipped\0\x03\x0Bframe_count\x02\x03\x06damage\0\x01\x04foil\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Cbundle_brown\x08\x10bundle_open_back\x16bundle_brown_open_back\x08\x11bundle_open_front\x17bundle_brown_open_front\0\0\x01\x12hidden_in_commands\x02\x03\x0Emax_stack_size\x02\x01\x17can_destroy_in_creative\x01\0\t\titem_tags\0\0\0" } ; + pub const BROWN_BUNDLE : Self = Self { id : 266 , registry_key : "minecraft:brown_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x16minecraft:storage_item\t\rallowed_items\0\0\x01\x1Aallow_nested_storage_items\x01\x03\tmax_slots\x80\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\t\titem_tags\0\0\n\x0Fitem_properties\x01\x0Eliquid_clipped\0\x01\rhand_equipped\0\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x17bundle_brown_open_front\x08\x07default\x0Cbundle_brown\x08\x10bundle_open_back\x16bundle_brown_open_back\0\0\x01\x17can_destroy_in_creative\x01\x01\x0Eshould_despawn\x01\x03\ruse_animation\0\x03\x06damage\0\x01\x0Eallow_off_hand\0\x03\x0Cuse_duration\0\x03\x11creative_category\x06\x08\x10enchantable_slot\x04none\x03\x0Emax_stack_size\x02\x05\x0Cmining_speed\0\0\x80?\x01\x0Fstacked_by_data\0\x03\x11enchantable_value\0\x03\x0Bframe_count\x02\x08\x0Ecreative_group\0\x01\x12hidden_in_commands\x02\x01\x04foil\0\0\0" } ; pub const BROWN_CANDLE: Self = Self { id: -425, registry_key: "minecraft:brown_candle", @@ -39043,7 +68775,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const BUNDLE : Self = Self { id : 267 , registry_key : "minecraft:bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\t\titem_tags\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x0Fitem_properties\x01\x12hidden_in_commands\x02\x01\x0Eshould_despawn\x01\x01\x0Fstacked_by_data\0\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x11bundle_open_front\x08\x10bundle_open_back\x10bundle_open_back\x08\x07default\x06bundle\0\0\x05\x0Cmining_speed\0\0\x80?\x03\x11enchantable_value\0\x01\x0Eallow_off_hand\0\x03\ruse_animation\0\x03\x06damage\0\x08\x10enchantable_slot\x04none\x01\x04foil\0\x03\x0Cuse_duration\0\x08\x0Ecreative_group\0\x03\x0Bframe_count\x02\x01\x17can_destroy_in_creative\x01\x01\rhand_equipped\0\x03\x11creative_category\x06\x01\x0Eliquid_clipped\0\x03\x0Emax_stack_size\x02\0\n\x16minecraft:storage_item\x01\x1Aallow_nested_storage_items\x01\x03\tmax_slots\x80\x01\t\rallowed_items\0\0\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\0" } ; + pub const BUNDLE : Self = Self { id : 267 , registry_key : "minecraft:bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\t\titem_tags\0\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x0Fitem_properties\x03\x11creative_category\x06\x01\x04foil\0\x01\x0Eliquid_clipped\0\x05\x0Cmining_speed\0\0\x80?\x08\x10enchantable_slot\x04none\x01\x12hidden_in_commands\x02\x01\x0Fstacked_by_data\0\x03\x0Bframe_count\x02\x03\x0Cuse_duration\0\x01\rhand_equipped\0\x01\x0Eallow_off_hand\0\x03\x11enchantable_value\0\x08\x0Ecreative_group\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x06bundle\x08\x10bundle_open_back\x10bundle_open_back\x08\x11bundle_open_front\x11bundle_open_front\0\0\x01\x17can_destroy_in_creative\x01\x01\x0Eshould_despawn\x01\x03\x0Emax_stack_size\x02\x03\x06damage\0\x03\ruse_animation\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:storage_item\x03\tmax_slots\x80\x01\t\rallowed_items\0\0\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x01\x1Aallow_nested_storage_items\x01\0\0" } ; pub const BURN_POTTERY_SHERD: Self = Self { id: 704, registry_key: "minecraft:burn_pottery_sherd", @@ -39107,7 +68839,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const CAMERA : Self = Self { id : 636 , registry_key : "minecraft:camera" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x08\x0Fminecraft:block\x10minecraft:camera\x03\x16minecraft:use_duration\xC0\x9A\x0C\n\x10minecraft:camera\x05\x10shutter_duration\xCD\xCCL>\x05\x14shutter_screen_ratio\0\0\0?\x05\x13slide_away_duration\xCD\xCCL>\x05\x17black_bars_screen_ratio\n\xD7\xA3=\x05\x10picture_duration\0\0\x80?\x05\x13black_bars_duration\xCD\xCCL>\0\0" } ; + pub const CAMERA : Self = Self { id : 636 , registry_key : "minecraft:camera" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x08\x0Fminecraft:block\x10minecraft:camera\n\x10minecraft:camera\x05\x10picture_duration\0\0\x80?\x05\x10shutter_duration\xCD\xCCL>\x05\x13black_bars_duration\xCD\xCCL>\x05\x14shutter_screen_ratio\0\0\0?\x05\x13slide_away_duration\xCD\xCCL>\x05\x17black_bars_screen_ratio\n\xD7\xA3=\0\x03\x16minecraft:use_duration\xC0\x9A\x0C\0" } ; pub const CAMPFIRE: Self = Self { id: 630, registry_key: "minecraft:campfire", @@ -39136,7 +68868,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const CARROT : Self = Self { id : 308 , registry_key : "minecraft:carrot" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\ron_use_action\x01\x08\rcooldown_type\0\x03\rcooldown_time\0\x03\tnutrition\x06\x08\x11using_converts_to\0\x05\x13saturation_modifier\x9A\x99\x19?\x01\x0Ecan_always_eat\0\0\n\x0Eminecraft:seed\x08\x0Bcrop_result\x11minecraft:carrots\x08\rplant_at_face\x02up\t\x08plant_at\x08\x02\x12minecraft:farmland\x01\x1Aplant_at_any_solid_surface\0\0\0" } ; + pub const CARROT : Self = Self { id : 308 , registry_key : "minecraft:carrot" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\x08\x0Bcrop_result\x11minecraft:carrots\t\x08plant_at\x08\x02\x12minecraft:farmland\x01\x1Aplant_at_any_solid_surface\0\x08\rplant_at_face\x02up\0\n\x0Eminecraft:food\x08\rcooldown_type\0\x05\x13saturation_modifier\x9A\x99\x19?\x03\ron_use_action\x01\x03\tnutrition\x06\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\0\x03\x16minecraft:use_duration@\0" } ; pub const CARROT_ON_A_STICK: Self = Self { id: 556, registry_key: "minecraft:carrot_on_a_stick", @@ -39438,7 +69170,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const CHICKEN : Self = Self { id : 304 , registry_key : "minecraft:chicken" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\t\x07effects\n\x02\x03\tamplifier\0\x08\rdescriptionId\rpotion.hunger\x03\x08duration<\x03\x02id\"\x08\x04name\x06hunger\x05\x06chance\x9A\x99\x99>\0\x03\tnutrition\x04\x03\ron_use_action\x01\x01\x0Ecan_always_eat\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\x9A\x99\x99>\x03\rcooldown_time\0\x08\rcooldown_type\0\x08\x11using_converts_to\0\0\0" } ; + pub const CHICKEN : Self = Self { id : 304 , registry_key : "minecraft:chicken" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\tnutrition\x04\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\x08\rcooldown_type\0\x03\ron_use_action\x01\x05\x13saturation_modifier\x9A\x99\x99>\x08\x11using_converts_to\0\t\x07effects\n\x02\x05\x06chance\x9A\x99\x99>\x03\x02id\"\x03\x08duration<\x03\tamplifier\0\x08\rdescriptionId\rpotion.hunger\x08\x04name\x06hunger\0\0\x03\x16minecraft:use_duration@\0" } ; pub const CHICKEN_SPAWN_EGG: Self = Self { id: 468, registry_key: "minecraft:chicken_spawn_egg", @@ -39558,7 +69290,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const CHORUS_FRUIT : Self = Self { id : 597 , registry_key : "minecraft:chorus_fruit" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x05\x13saturation_modifier\x9A\x99\x99>\x01\x0Ecan_always_eat\x01\x08\rcooldown_type\x0Bchorusfruit\x03\rcooldown_time(\x03\ron_use_action\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\x03\tnutrition\x08\0\x03\x16minecraft:use_duration@\0" } ; + pub const CHORUS_FRUIT : Self = Self { id : 597 , registry_key : "minecraft:chorus_fruit" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x08\x11using_converts_to\0\x01\x0Ecan_always_eat\x01\x08\rcooldown_type\x0Bchorusfruit\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\x9A\x99\x99>\x03\ron_use_action\0\x03\rcooldown_time(\x03\tnutrition\x08\0\0" } ; pub const CHORUS_PLANT: Self = Self { id: 240, registry_key: "minecraft:chorus_plant", @@ -39783,7 +69515,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const COD : Self = Self { id : 293 , registry_key : "minecraft:cod" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x03\ron_use_action\x01\x08\rcooldown_type\0\x08\x11using_converts_to\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\xCD\xCC\xCC=\x03\tnutrition\x04\x03\rcooldown_time\0\0\x01\x19minecraft:stacked_by_data\x01\x03\x16minecraft:use_duration@\0" } ; + pub const COD : Self = Self { id : 293 , registry_key : "minecraft:cod" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x01\x19minecraft:stacked_by_data\x01\n\x0Eminecraft:food\x08\x11using_converts_to\0\x03\ron_use_action\x01\x08\rcooldown_type\0\x01\x0Ecan_always_eat\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\rcooldown_time\0\x03\tnutrition\x04\x05\x13saturation_modifier\xCD\xCC\xCC=\0\x03\x16minecraft:use_duration@\0" } ; pub const COD_BUCKET: Self = Self { id: 396, registry_key: "minecraft:cod_bucket", @@ -39910,14 +69642,14 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const COOKED_BEEF : Self = Self { id : 303 , registry_key : "minecraft:cooked_beef" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\tnutrition\x10\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\rcooldown_type\0\x01\x0Ecan_always_eat\0\x08\x11using_converts_to\0\x03\ron_use_action\x01\x05\x13saturation_modifier\xCD\xCCL?\x03\rcooldown_time\0\0\x03\x16minecraft:use_duration@\0" } ; - pub const COOKED_CHICKEN : Self = Self { id : 305 , registry_key : "minecraft:cooked_chicken" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\rcooldown_time\0\x08\rcooldown_type\0\x03\tnutrition\x0C\x08\x11using_converts_to\0\x03\ron_use_action\x01\x05\x13saturation_modifier\x9A\x99\x19?\x01\x0Ecan_always_eat\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\x03\x16minecraft:use_duration@\0" } ; - pub const COOKED_COD : Self = Self { id : 297 , registry_key : "minecraft:cooked_cod" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\rcooldown_type\0\x08\x11using_converts_to\0\x05\x13saturation_modifier\x9A\x99\x19?\x03\tnutrition\n\x03\ron_use_action\x01\x03\rcooldown_time\0\0\x03\x16minecraft:use_duration@\x01\x19minecraft:stacked_by_data\x01\0" } ; - pub const COOKED_MUTTON : Self = Self { id : 590 , registry_key : "minecraft:cooked_mutton" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\x03\ron_use_action\x01\x03\rcooldown_time\0\x03\tnutrition\x0C\x05\x13saturation_modifier\xCD\xCCL?\x08\rcooldown_type\0\x01\x0Ecan_always_eat\0\0\x03\x16minecraft:use_duration@\0" } ; - pub const COOKED_PORKCHOP : Self = Self { id : 292 , registry_key : "minecraft:cooked_porkchop" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x01\x0Ecan_always_eat\0\x08\rcooldown_type\0\x05\x13saturation_modifier\xCD\xCCL?\x03\rcooldown_time\0\x03\tnutrition\x10\x08\x11using_converts_to\0\0\0" } ; - pub const COOKED_RABBIT : Self = Self { id : 318 , registry_key : "minecraft:cooked_rabbit" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\rcooldown_time\0\x03\tnutrition\n\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x01\x0Ecan_always_eat\0\x08\rcooldown_type\0\x03\ron_use_action\x01\x05\x13saturation_modifier\x9A\x99\x19?\x08\x11using_converts_to\0\0\x03\x16minecraft:use_duration@\0" } ; - pub const COOKED_SALMON : Self = Self { id : 298 , registry_key : "minecraft:cooked_salmon" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x01\x19minecraft:stacked_by_data\x01\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x08\rcooldown_type\0\x03\tnutrition\x0C\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x05\x13saturation_modifier\xCD\xCCL?\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\0\0" } ; - pub const COOKIE : Self = Self { id : 300 , registry_key : "minecraft:cookie" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\rcooldown_time\0\x05\x13saturation_modifier\xCD\xCC\xCC=\x03\tnutrition\x04\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\ron_use_action\x01\x08\rcooldown_type\0\x01\x0Ecan_always_eat\0\x08\x11using_converts_to\0\0\x03\x16minecraft:use_duration@\0" } ; + pub const COOKED_BEEF : Self = Self { id : 303 , registry_key : "minecraft:cooked_beef" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x05\x13saturation_modifier\xCD\xCCL?\x08\x11using_converts_to\0\x03\ron_use_action\x01\x03\tnutrition\x10\x08\rcooldown_type\0\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\x03\x16minecraft:use_duration@\0" } ; + pub const COOKED_CHICKEN : Self = Self { id : 305 , registry_key : "minecraft:cooked_chicken" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\ron_use_action\x01\x01\x0Ecan_always_eat\0\x05\x13saturation_modifier\x9A\x99\x19?\x08\rcooldown_type\0\x03\tnutrition\x0C\x03\rcooldown_time\0\x08\x11using_converts_to\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\x03\x16minecraft:use_duration@\0" } ; + pub const COOKED_COD : Self = Self { id : 297 , registry_key : "minecraft:cooked_cod" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\ron_use_action\x01\x08\x11using_converts_to\0\x08\rcooldown_type\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\tnutrition\n\x03\rcooldown_time\0\x05\x13saturation_modifier\x9A\x99\x19?\x01\x0Ecan_always_eat\0\0\x01\x19minecraft:stacked_by_data\x01\0" } ; + pub const COOKED_MUTTON : Self = Self { id : 590 , registry_key : "minecraft:cooked_mutton" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x05\x13saturation_modifier\xCD\xCCL?\x08\rcooldown_type\0\x03\rcooldown_time\0\x03\ron_use_action\x01\x08\x11using_converts_to\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\tnutrition\x0C\0\x03\x16minecraft:use_duration@\0" } ; + pub const COOKED_PORKCHOP : Self = Self { id : 292 , registry_key : "minecraft:cooked_porkchop" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x08\rcooldown_type\0\x01\x0Ecan_always_eat\0\x03\tnutrition\x10\x03\ron_use_action\x01\x05\x13saturation_modifier\xCD\xCCL?\x03\rcooldown_time\0\x08\x11using_converts_to\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\0" } ; + pub const COOKED_RABBIT : Self = Self { id : 318 , registry_key : "minecraft:cooked_rabbit" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\tnutrition\n\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\x9A\x99\x19?\x03\ron_use_action\x01\x08\x11using_converts_to\0\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\x08\rcooldown_type\0\0\x03\x16minecraft:use_duration@\0" } ; + pub const COOKED_SALMON : Self = Self { id : 298 , registry_key : "minecraft:cooked_salmon" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x05\x13saturation_modifier\xCD\xCCL?\x03\rcooldown_time\0\x03\tnutrition\x0C\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\x03\ron_use_action\x01\x08\rcooldown_type\0\0\x03\x16minecraft:use_duration@\x01\x19minecraft:stacked_by_data\x01\0" } ; + pub const COOKIE : Self = Self { id : 300 , registry_key : "minecraft:cookie" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x08\rcooldown_type\0\x03\ron_use_action\x01\x05\x13saturation_modifier\xCD\xCC\xCC=\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\rcooldown_time\0\x08\x11using_converts_to\0\x03\tnutrition\x04\0\0" } ; pub const COPPER_AXE: Self = Self { id: 776, registry_key: "minecraft:copper_axe", @@ -40079,7 +69811,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const COPPER_SPEAR : Self = Self { id : 257 , registry_key : "minecraft:copper_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\n\rrepair_amount\x02\x07version\r\0\x08\nexpression)context.other->query.remaining_durability\0\t\x05items\n\x02\x08\x04name\x16minecraft:copper_spear\0\0\t\x05items\n\x02\x08\x04name\x16minecraft:copper_ingot\0\n\rrepair_amount\x08\nexpression\x1Bquery.max_durability * 0.25\x02\x07version\r\0\0\0\0\n\x18minecraft:swing_duration\x05\x05value\x9A\x99Y?\0\t\titem_tags\x08\x04\x15minecraft:copper_tier\x12minecraft:is_spear\n\x16minecraft:swing_sounds\x08\x0Battack_miss\x1Ditem.copper_spear.attack_miss\x08\nattack_hit\x1Citem.copper_spear.attack_hit\0\n\x12minecraft:cooldown\x08\x08category\x05spear\x05\x08duration\x9A\x99Y?\x08\x04type\x06attack\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x15minecraft:copper_tier\x12minecraft:is_spear\0\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\r\0\n\x16minecraft:display_name\x08\x05value\x16item.copper_spear.name\0\n\x0Fitem_properties\x01\x0Eshould_despawn\x01\x01\x0Eliquid_clipped\0\x03\x11creative_category\x06\x08\x0Ecreative_group\0\x08\x10enchantable_slot\x0Bmelee_spear\x03\ruse_animation\0\x01\x0Eallow_off_hand\0\x01\x12hidden_in_commands\x02\x03\x0Cuse_duration\x80\xE4\xAF\x01\x03\x11enchantable_value\x1A\x05\x0Cmining_speed\0\0\x80?\x03\x06damage\x04\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Ccopper_spear\0\0\x03\x0Emax_stack_size\x02\x01\x0Fstacked_by_data\0\x01\x17can_destroy_in_creative\x01\x01\rhand_equipped\x01\x03\x0Bframe_count\x02\x01\x04foil\0\0\n\x10minecraft:damage\x02\x05value\x02\0\0\n\x19minecraft:piercing_weapon\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\x05\rhitbox_margin\0\0\x80>\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\n\x11damage_conditions\x02\x0Cmax_duration\xFA\0\x05\x12min_relative_speed33\x93@\x05\tmin_speed\0\0\0\0\0\x02\x05delay\r\0\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\x05\rhitbox_margin\0\0\x80>\n\x13dismount_conditions\x02\x0Cmax_durationP\0\x05\tmin_speed\0\0@A\x05\x12min_relative_speed\0\0\0\0\0\n\x14knockback_conditions\x02\x0Cmax_duration\xA5\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed33\xA3@\0\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\x05\x0Fdamage_modifier\0\0\0\0\x05\x11damage_multiplier\x85\xEBQ?\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x17minecraft:use_modifiers\x05\x0Cuse_duration\0\xA0\x8CG\x08\x0Bstart_sound\x15item.copper_spear.use\x05\x11movement_modifier\0\0\x80?\x08\x0Bstart_using\x06always\x01\x0Femit_vibrations\0\0\n\x14minecraft:durability\n\rdamage_chance\x03\x03min\0\x03\x03max\xC8\x01\0\x03\x0Emax_durability\xFC\x02\0\0" } ; + pub const COPPER_SPEAR : Self = Self { id : 257 , registry_key : "minecraft:copper_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x14minecraft:durability\x03\x0Emax_durability\xFC\x02\n\rdamage_chance\x03\x03min\0\x03\x03max\xC8\x01\0\0\n\x18minecraft:swing_duration\x05\x05value\x9A\x99Y?\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\n\x13dismount_conditions\x05\x12min_relative_speed\0\0\0\0\x02\x0Cmax_durationP\0\x05\tmin_speed\0\0@A\0\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\x05\x11damage_multiplier\x85\xEBQ?\n\x11damage_conditions\x05\tmin_speed\0\0\0\0\x02\x0Cmax_duration\xFA\0\x05\x12min_relative_speed33\x93@\0\x05\x0Fdamage_modifier\0\0\0\0\x02\x05delay\r\0\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\n\x14knockback_conditions\x02\x0Cmax_duration\xA5\0\x05\tmin_speed33\xA3@\x05\x12min_relative_speed\0\0\0\0\0\x05\rhitbox_margin\0\0\x80>\0\0\n\x0Fitem_properties\x03\x11enchantable_value\x1A\x01\x0Fstacked_by_data\0\x01\x0Eshould_despawn\x01\x03\x0Cuse_duration\x80\xE4\xAF\x01\x03\x11creative_category\x06\x05\x0Cmining_speed\0\0\x80?\x03\x06damage\x04\x01\x0Eallow_off_hand\0\x03\x0Emax_stack_size\x02\x01\x17can_destroy_in_creative\x01\x03\ruse_animation\0\x01\x04foil\0\x01\x0Eliquid_clipped\0\x08\x10enchantable_slot\x0Bmelee_spear\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Ccopper_spear\0\0\x03\x0Bframe_count\x02\x01\x12hidden_in_commands\x02\x01\rhand_equipped\x01\x08\x0Ecreative_group\0\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x15minecraft:copper_tier\x12minecraft:is_spear\0\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Citem.copper_spear.attack_hit\x08\x0Battack_miss\x1Ditem.copper_spear.attack_miss\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x19minecraft:piercing_weapon\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\x05\rhitbox_margin\0\0\x80>\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\0\t\titem_tags\x08\x04\x15minecraft:copper_tier\x12minecraft:is_spear\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\t\x05items\n\x02\x08\x04name\x16minecraft:copper_spear\0\n\rrepair_amount\x02\x07version\r\0\x08\nexpression)context.other->query.remaining_durability\0\0\t\x05items\n\x02\x08\x04name\x16minecraft:copper_ingot\0\n\rrepair_amount\x02\x07version\r\0\x08\nexpression\x1Bquery.max_durability * 0.25\0\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x10minecraft:damage\x02\x05value\x02\0\0\n\x12minecraft:cooldown\x08\x08category\x05spear\x08\x04type\x06attack\x05\x08duration\x9A\x99Y?\0\n\x16minecraft:display_name\x08\x05value\x16item.copper_spear.name\0\n\x15minecraft:enchantable\x01\x05value\r\x08\x04slot\x0Bmelee_spear\0\n\x17minecraft:use_modifiers\x08\x0Bstart_using\x06always\x05\x11movement_modifier\0\0\x80?\x01\x0Femit_vibrations\0\x08\x0Bstart_sound\x15item.copper_spear.use\x05\x0Cuse_duration\0\xA0\x8CG\0\0" } ; pub const COPPER_SWORD: Self = Self { id: 773, registry_key: "minecraft:copper_sword", @@ -40444,7 +70176,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const CYAN_BUNDLE : Self = Self { id : 268 , registry_key : "minecraft:cyan_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\t\titem_tags\0\0\n\x0Fitem_properties\x08\x10enchantable_slot\x04none\x08\x0Ecreative_group\0\x01\x12hidden_in_commands\x02\x03\x11enchantable_value\0\x01\x17can_destroy_in_creative\x01\x03\x0Emax_stack_size\x02\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x16bundle_cyan_open_front\x08\x10bundle_open_back\x15bundle_cyan_open_back\x08\x07default\x0Bbundle_cyan\0\0\x03\ruse_animation\0\x01\x04foil\0\x03\x0Cuse_duration\0\x03\x06damage\0\x01\x0Eallow_off_hand\0\x03\x11creative_category\x06\x01\x0Eshould_despawn\x01\x01\rhand_equipped\0\x05\x0Cmining_speed\0\0\x80?\x03\x0Bframe_count\x02\x01\x0Eliquid_clipped\0\x01\x0Fstacked_by_data\0\0\n\x16minecraft:storage_item\t\rallowed_items\0\0\x01\x1Aallow_nested_storage_items\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\0" } ; + pub const CYAN_BUNDLE : Self = Self { id : 268 , registry_key : "minecraft:cyan_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\t\titem_tags\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:storage_item\x01\x1Aallow_nested_storage_items\x01\x03\tmax_slots\x80\x01\t\rallowed_items\0\0\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x0Fitem_properties\x01\x0Eallow_off_hand\0\x03\ruse_animation\0\x01\x0Eliquid_clipped\0\x08\x0Ecreative_group\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Bbundle_cyan\x08\x10bundle_open_back\x15bundle_cyan_open_back\x08\x11bundle_open_front\x16bundle_cyan_open_front\0\0\x05\x0Cmining_speed\0\0\x80?\x01\rhand_equipped\0\x03\x11enchantable_value\0\x01\x12hidden_in_commands\x02\x03\x0Bframe_count\x02\x01\x04foil\0\x03\x0Cuse_duration\0\x01\x0Eshould_despawn\x01\x03\x06damage\0\x08\x10enchantable_slot\x04none\x03\x0Emax_stack_size\x02\x01\x0Fstacked_by_data\0\x01\x17can_destroy_in_creative\x01\x03\x11creative_category\x06\0\0" } ; pub const CYAN_CANDLE: Self = Self { id: -422, registry_key: "minecraft:cyan_candle", @@ -41159,7 +70891,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const DIAMOND_SPEAR : Self = Self { id : 258 , registry_key : "minecraft:diamond_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x10minecraft:damage\x02\x05value\x04\0\0\n\x12minecraft:cooldown\x08\x08category\x05spear\x05\x08durationff\x86?\x08\x04type\x06attack\0\n\x17minecraft:use_modifiers\x08\x0Bstart_using\x06always\x01\x0Femit_vibrations\0\x08\x0Bstart_sound\x16item.diamond_spear.use\x05\x11movement_modifier\0\0\x80?\x05\x0Cuse_duration\0\xA0\x8CG\0\n\x0Fitem_properties\x03\x06damage\x08\x01\x0Fstacked_by_data\0\x01\rhand_equipped\x01\n\x0Eminecraft:icon\n\x08textures\x08\x07default\rdiamond_spear\0\0\x01\x0Eallow_off_hand\0\x08\x10enchantable_slot\x0Bmelee_spear\x08\x0Ecreative_group\0\x01\x12hidden_in_commands\x02\x03\x0Emax_stack_size\x02\x03\x11enchantable_value\x14\x01\x04foil\0\x05\x0Cmining_speed\0\0\x80?\x01\x17can_destroy_in_creative\x01\x03\x0Bframe_count\x02\x01\x0Eshould_despawn\x01\x03\x11creative_category\x06\x03\x0Cuse_duration\x80\xE4\xAF\x01\x01\x0Eliquid_clipped\0\x03\ruse_animation\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:display_name\x08\x05value\x17item.diamond_spear.name\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\x02\x05delay\n\0\n\x11damage_conditions\x05\x12min_relative_speed33\x93@\x02\x0Cmax_duration\xC8\0\x05\tmin_speed\0\0\0\0\0\n\x13dismount_conditions\x05\tmin_speed\0\0 A\x02\x0Cmax_duration<\0\x05\x12min_relative_speed\0\0\0\0\0\n\x14knockback_conditions\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed33\xA3@\x02\x0Cmax_duration\x82\0\0\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\x05\x0Fdamage_modifier\0\0\0\0\x05\rhitbox_margin\0\0\x80>\x05\x11damage_multiplier\x9A\x99\x89?\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\0\0\n\x19minecraft:piercing_weapon\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\x05\rhitbox_margin\0\0\x80>\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\0\n\x18minecraft:swing_duration\x05\x05valueff\x86?\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x16minecraft:swing_sounds\x08\x0Battack_miss\x1Eitem.diamond_spear.attack_miss\x08\nattack_hit\x1Ditem.diamond_spear.attack_hit\0\t\titem_tags\x08\x06\x16minecraft:diamond_tier\x1Dminecraft:transformable_items\x12minecraft:is_spear\n\x0Eminecraft:tags\t\x04tags\x08\x06\x16minecraft:diamond_tier\x1Dminecraft:transformable_items\x12minecraft:is_spear\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\n\rrepair_amount\x02\x07version\r\0\x08\nexpression)context.other->query.remaining_durability\0\t\x05items\n\x02\x08\x04name\x17minecraft:diamond_spear\0\0\n\rrepair_amount\x02\x07version\r\0\x08\nexpression\x1Bquery.max_durability * 0.25\0\t\x05items\n\x02\x08\x04name\x11minecraft:diamond\0\0\0\n\x15minecraft:enchantable\x01\x05value\n\x08\x04slot\x0Bmelee_spear\0\n\x14minecraft:durability\n\rdamage_chance\x03\x03max\xC8\x01\x03\x03min\0\0\x03\x0Emax_durability\xB0\x18\0\0" } ; + pub const DIAMOND_SPEAR : Self = Self { id : 258 , registry_key : "minecraft:diamond_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x19minecraft:piercing_weapon\x05\rhitbox_margin\0\0\x80>\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\0\n\x0Fitem_properties\x05\x0Cmining_speed\0\0\x80?\x03\x0Cuse_duration\x80\xE4\xAF\x01\x03\x06damage\x08\x01\x0Eliquid_clipped\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\rdiamond_spear\0\0\x01\x0Eshould_despawn\x01\x01\x0Fstacked_by_data\0\x01\x12hidden_in_commands\x02\x03\x0Bframe_count\x02\x01\x0Eallow_off_hand\0\x01\x17can_destroy_in_creative\x01\x03\x11enchantable_value\x14\x01\x04foil\0\x03\x0Emax_stack_size\x02\x03\x11creative_category\x06\x08\x0Ecreative_group\0\x03\ruse_animation\0\x08\x10enchantable_slot\x0Bmelee_spear\x01\rhand_equipped\x01\0\n\x14minecraft:durability\n\rdamage_chance\x03\x03max\xC8\x01\x03\x03min\0\0\x03\x0Emax_durability\xB0\x18\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\x05\x0Fdamage_modifier\0\0\0\0\x05\rhitbox_margin\0\0\x80>\n\x13dismount_conditions\x02\x0Cmax_duration<\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed\0\0 A\0\n\x14knockback_conditions\x05\x12min_relative_speed\0\0\0\0\x02\x0Cmax_duration\x82\0\x05\tmin_speed33\xA3@\0\x02\x05delay\n\0\x05\x11damage_multiplier\x9A\x99\x89?\n\x11damage_conditions\x05\x12min_relative_speed33\x93@\x02\x0Cmax_duration\xC8\0\x05\tmin_speed\0\0\0\0\0\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x10minecraft:damage\x02\x05value\x04\0\0\t\titem_tags\x08\x06\x16minecraft:diamond_tier\x1Dminecraft:transformable_items\x12minecraft:is_spear\n\x12minecraft:cooldown\x08\x04type\x06attack\x05\x08durationff\x86?\x08\x08category\x05spear\0\n\x16minecraft:display_name\x08\x05value\x17item.diamond_spear.name\0\n\x0Eminecraft:tags\t\x04tags\x08\x06\x16minecraft:diamond_tier\x1Dminecraft:transformable_items\x12minecraft:is_spear\0\n\x17minecraft:use_modifiers\x05\x11movement_modifier\0\0\x80?\x01\x0Femit_vibrations\0\x08\x0Bstart_sound\x16item.diamond_spear.use\x08\x0Bstart_using\x06always\x05\x0Cuse_duration\0\xA0\x8CG\0\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\n\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\t\x05items\n\x02\x08\x04name\x17minecraft:diamond_spear\0\n\rrepair_amount\x08\nexpression)context.other->query.remaining_durability\x02\x07version\r\0\0\0\n\rrepair_amount\x08\nexpression\x1Bquery.max_durability * 0.25\x02\x07version\r\0\0\t\x05items\n\x02\x08\x04name\x11minecraft:diamond\0\0\0\n\x18minecraft:swing_duration\x05\x05valueff\x86?\0\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Ditem.diamond_spear.attack_hit\x08\x0Battack_miss\x1Eitem.diamond_spear.attack_miss\0\0" } ; pub const DIAMOND_SWORD: Self = Self { id: 347, registry_key: "minecraft:diamond_sword", @@ -41314,7 +71046,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const DRIED_KELP : Self = Self { id : 299 , registry_key : "minecraft:dried_kelp" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x08\rcooldown_type\0\x08\x11using_converts_to\0\x05\x13saturation_modifier\xCD\xCC\xCC=\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\tnutrition\x02\x03\rcooldown_time\0\x03\ron_use_action\x01\x01\x0Ecan_always_eat\0\0\x03\x16minecraft:use_duration \0" } ; + pub const DRIED_KELP : Self = Self { id : 299 , registry_key : "minecraft:dried_kelp" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\rcooldown_time\0\x03\tnutrition\x02\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\rcooldown_type\0\x03\ron_use_action\x01\x08\x11using_converts_to\0\x05\x13saturation_modifier\xCD\xCC\xCC=\x01\x0Ecan_always_eat\0\0\x03\x16minecraft:use_duration \0" } ; pub const DRIED_KELP_BLOCK: Self = Self { id: -139, registry_key: "minecraft:dried_kelp_block", @@ -42260,7 +71992,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const ENCHANTED_GOLDEN_APPLE : Self = Self { id : 288 , registry_key : "minecraft:enchanted_golden_apple" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x01\x19minecraft:stacked_by_data\x01\n\x0Eminecraft:food\x08\x11using_converts_to\0\x03\rcooldown_time\0\x08\rcooldown_type\0\x01\x0Ecan_always_eat\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\ron_use_action\x01\x05\x13saturation_modifier\x9A\x99\x99?\t\x07effects\n\x08\x08\x04name\x0Cregeneration\x05\x06chance\0\0\x80?\x08\rdescriptionId\x13potion.regeneration\x03\x02id\x14\x03\x08duration<\x03\tamplifier\x02\0\x03\tamplifier\x06\x05\x06chance\0\0\x80?\x03\x02id,\x08\rdescriptionId\x11potion.absorption\x08\x04name\nabsorption\x03\x08duration\xF0\x01\0\x03\x02id\x16\x08\x04name\nresistance\x08\rdescriptionId\x11potion.resistance\x03\tamplifier\0\x03\x08duration\xD8\x04\x05\x06chance\0\0\x80?\0\x05\x06chance\0\0\x80?\x03\x08duration\xD8\x04\x03\x02id\x18\x08\x04name\x0Ffire_resistance\x03\tamplifier\0\x08\rdescriptionId\x15potion.fireResistance\0\x03\tnutrition\x08\0\x03\x16minecraft:use_duration@\x01\x0Eminecraft:foil\x01\0" } ; + pub const ENCHANTED_GOLDEN_APPLE : Self = Self { id : 288 , registry_key : "minecraft:enchanted_golden_apple" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x01\x0Eminecraft:foil\x01\n\x0Eminecraft:food\x05\x13saturation_modifier\x9A\x99\x99?\x03\rcooldown_time\0\x01\x0Ecan_always_eat\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\t\x07effects\n\x08\x08\x04name\x0Cregeneration\x08\rdescriptionId\x13potion.regeneration\x03\x02id\x14\x03\x08duration<\x05\x06chance\0\0\x80?\x03\tamplifier\x02\0\x05\x06chance\0\0\x80?\x08\rdescriptionId\x11potion.absorption\x08\x04name\nabsorption\x03\tamplifier\x06\x03\x08duration\xF0\x01\x03\x02id,\0\x08\rdescriptionId\x11potion.resistance\x03\tamplifier\0\x03\x08duration\xD8\x04\x08\x04name\nresistance\x03\x02id\x16\x05\x06chance\0\0\x80?\0\x03\x02id\x18\x05\x06chance\0\0\x80?\x08\x04name\x0Ffire_resistance\x08\rdescriptionId\x15potion.fireResistance\x03\tamplifier\0\x03\x08duration\xD8\x04\0\x08\x11using_converts_to\0\x08\rcooldown_type\0\x03\ron_use_action\x01\x03\tnutrition\x08\0\x01\x19minecraft:stacked_by_data\x01\x03\x16minecraft:use_duration@\0" } ; pub const ENCHANTING_TABLE: Self = Self { id: 116, registry_key: "minecraft:enchanting_table", @@ -42835,7 +72567,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const GLOW_BERRIES : Self = Self { id : 845 , registry_key : "minecraft:glow_berries" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x08\rcooldown_type\0\x03\ron_use_action\x01\x05\x13saturation_modifier\x9A\x99\x99>\x01\x0Ecan_always_eat\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\x03\rcooldown_time\0\x03\tnutrition\x04\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:seed\x01\x1Aplant_at_any_solid_surface\x01\x08\x0Bcrop_result\x14minecraft:cave_vines\t\x08plant_at\x08\x04\ncave_vines\x1Ccave_vines_head_with_berries\x08\rplant_at_face\x04down\0\0" } ; + pub const GLOW_BERRIES : Self = Self { id : 845 , registry_key : "minecraft:glow_berries" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x03\ron_use_action\x01\x08\x11using_converts_to\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\x9A\x99\x99>\x03\rcooldown_time\0\x08\rcooldown_type\0\x03\tnutrition\x04\0\n\x0Eminecraft:seed\x01\x1Aplant_at_any_solid_surface\x01\x08\x0Bcrop_result\x14minecraft:cave_vines\x08\rplant_at_face\x04down\t\x08plant_at\x08\x04\ncave_vines\x1Ccave_vines_head_with_berries\0\x03\x16minecraft:use_duration@\0" } ; pub const GLOW_FRAME: Self = Self { id: 665, registry_key: "minecraft:glow_frame", @@ -42934,7 +72666,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const GOLDEN_APPLE : Self = Self { id : 287 , registry_key : "minecraft:golden_apple" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x08\x11using_converts_to\0\x08\rcooldown_type\0\t\x07effects\n\x04\x03\x08duration\n\x03\tamplifier\x02\x03\x02id\x14\x08\x04name\x0Cregeneration\x05\x06chance\0\0\x80?\x08\rdescriptionId\x13potion.regeneration\0\x03\tamplifier\0\x05\x06chance\0\0\x80?\x08\rdescriptionId\x11potion.absorption\x03\x08duration\xF0\x01\x03\x02id,\x08\x04name\nabsorption\0\x03\tnutrition\x08\x03\ron_use_action\x01\x01\x0Ecan_always_eat\x01\x03\rcooldown_time\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\x9A\x99\x99?\0\x01\x19minecraft:stacked_by_data\x01\x03\x16minecraft:use_duration@\0" } ; + pub const GOLDEN_APPLE : Self = Self { id : 287 , registry_key : "minecraft:golden_apple" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x08\rcooldown_type\0\x03\tnutrition\x08\x03\rcooldown_time\0\x05\x13saturation_modifier\x9A\x99\x99?\x08\x11using_converts_to\0\x01\x0Ecan_always_eat\x01\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\t\x07effects\n\x04\x03\x02id\x14\x03\tamplifier\x02\x05\x06chance\0\0\x80?\x08\rdescriptionId\x13potion.regeneration\x08\x04name\x0Cregeneration\x03\x08duration\n\0\x03\tamplifier\0\x08\rdescriptionId\x11potion.absorption\x03\x08duration\xF0\x01\x03\x02id,\x08\x04name\nabsorption\x05\x06chance\0\0\x80?\0\0\x01\x19minecraft:stacked_by_data\x01\x03\x16minecraft:use_duration@\0" } ; pub const GOLDEN_AXE: Self = Self { id: 357, registry_key: "minecraft:golden_axe", @@ -42949,7 +72681,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const GOLDEN_CARROT : Self = Self { id : 312 , registry_key : "minecraft:golden_carrot" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\tnutrition\x0C\x08\x11using_converts_to\0\x01\x0Ecan_always_eat\0\x03\ron_use_action\x01\x03\rcooldown_time\0\x08\rcooldown_type\0\x05\x13saturation_modifier\x9A\x99\x99?\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\0" } ; + pub const GOLDEN_CARROT : Self = Self { id : 312 , registry_key : "minecraft:golden_carrot" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\rcooldown_time\0\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\x03\tnutrition\x0C\x08\rcooldown_type\0\x05\x13saturation_modifier\x9A\x99\x99?\x01\x0Ecan_always_eat\0\0\0" } ; pub const GOLDEN_CHESTPLATE: Self = Self { id: 384, registry_key: "minecraft:golden_chestplate", @@ -43020,7 +72752,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const GOLDEN_SPEAR : Self = Self { id : 259 , registry_key : "minecraft:golden_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x19minecraft:piercing_weapon\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\x05\rhitbox_margin\0\0\x80>\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\0\t\titem_tags\x08\x04\x15minecraft:golden_tier\x12minecraft:is_spear\n\x15minecraft:enchantable\x01\x05value\x16\x08\x04slot\x0Bmelee_spear\0\n\x16minecraft:display_name\x08\x05value\x16item.golden_spear.name\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\n\x11damage_conditions\x05\tmin_speed\0\0\0\0\x02\x0Cmax_duration\x13\x01\x05\x12min_relative_speed33\x93@\0\x05\x0Fdamage_modifier\0\0\0\0\x05\rhitbox_margin\0\0\x80>\x02\x05delay\x0E\0\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\n\x13dismount_conditions\x02\x0Cmax_durationF\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed\0\0PA\0\x05\x11damage_multiplier333?\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\n\x14knockback_conditions\x05\x12min_relative_speed\0\0\0\0\x02\x0Cmax_duration\xAA\0\x05\tmin_speed33\xA3@\0\0\0\n\x14minecraft:durability\n\rdamage_chance\x03\x03max\xC8\x01\x03\x03min\0\0\x03\x0Emax_durability<\0\n\x0Fitem_properties\x01\x12hidden_in_commands\x02\x08\x10enchantable_slot\x0Bmelee_spear\x03\x11enchantable_value,\x03\x0Bframe_count\x02\n\x0Eminecraft:icon\n\x08textures\x08\x07default\ngold_spear\0\0\x01\x0Eshould_despawn\x01\x05\x0Cmining_speed\0\0\x80?\x08\x0Ecreative_group\0\x03\ruse_animation\0\x01\x0Eallow_off_hand\0\x03\x0Emax_stack_size\x02\x03\x0Cuse_duration\x80\xE4\xAF\x01\x01\x0Eliquid_clipped\0\x03\x06damage\x02\x01\rhand_equipped\x01\x01\x0Fstacked_by_data\0\x01\x04foil\0\x01\x17can_destroy_in_creative\x01\x03\x11creative_category\x06\0\n\x10minecraft:damage\x02\x05value\x01\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x12minecraft:cooldown\x08\x04type\x06attack\x08\x08category\x05spear\x05\x08duration33s?\0\n\x18minecraft:swing_duration\x05\x05value33s?\0\n\x17minecraft:use_modifiers\x05\x11movement_modifier\0\0\x80?\x08\x0Bstart_using\x06always\x05\x0Cuse_duration\0\xA0\x8CG\x08\x0Bstart_sound\x15item.golden_spear.use\x01\x0Femit_vibrations\0\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Citem.golden_spear.attack_hit\x08\x0Battack_miss\x1Ditem.golden_spear.attack_miss\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x15minecraft:golden_tier\x12minecraft:is_spear\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\n\rrepair_amount\x08\nexpression)context.other->query.remaining_durability\x02\x07version\r\0\0\t\x05items\n\x02\x08\x04name\x16minecraft:golden_spear\0\0\t\x05items\n\x02\x08\x04name\x14minecraft:gold_ingot\0\n\rrepair_amount\x02\x07version\r\0\x08\nexpression\x1Bquery.max_durability * 0.25\0\0\0\0" } ; + pub const GOLDEN_SPEAR : Self = Self { id : 259 , registry_key : "minecraft:golden_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\t\titem_tags\x08\x04\x15minecraft:golden_tier\x12minecraft:is_spear\n\x16minecraft:display_name\x08\x05value\x16item.golden_spear.name\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\x05\rhitbox_margin\0\0\x80>\x02\x05delay\x0E\0\x05\x11damage_multiplier333?\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\n\x11damage_conditions\x05\tmin_speed\0\0\0\0\x05\x12min_relative_speed33\x93@\x02\x0Cmax_duration\x13\x01\0\x05\x0Fdamage_modifier\0\0\0\0\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\n\x14knockback_conditions\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed33\xA3@\x02\x0Cmax_duration\xAA\0\0\n\x13dismount_conditions\x02\x0Cmax_durationF\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed\0\0PA\0\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Citem.golden_spear.attack_hit\x08\x0Battack_miss\x1Ditem.golden_spear.attack_miss\0\n\x10minecraft:damage\x02\x05value\x01\0\0\n\x18minecraft:swing_duration\x05\x05value33s?\0\n\x12minecraft:cooldown\x08\x08category\x05spear\x08\x04type\x06attack\x05\x08duration33s?\0\n\x14minecraft:durability\x03\x0Emax_durability<\n\rdamage_chance\x03\x03max\xC8\x01\x03\x03min\0\0\0\n\x15minecraft:enchantable\x01\x05value\x16\x08\x04slot\x0Bmelee_spear\0\n\x0Fitem_properties\x08\x10enchantable_slot\x0Bmelee_spear\x08\x0Ecreative_group\0\x01\x0Fstacked_by_data\0\x03\x11enchantable_value,\x01\x04foil\0\x01\x0Eliquid_clipped\0\x01\x12hidden_in_commands\x02\x03\x06damage\x02\n\x0Eminecraft:icon\n\x08textures\x08\x07default\ngold_spear\0\0\x03\x0Cuse_duration\x80\xE4\xAF\x01\x01\x0Eallow_off_hand\0\x05\x0Cmining_speed\0\0\x80?\x01\x17can_destroy_in_creative\x01\x03\x11creative_category\x06\x03\x0Bframe_count\x02\x01\rhand_equipped\x01\x01\x0Eshould_despawn\x01\x03\ruse_animation\0\x03\x0Emax_stack_size\x02\0\n\x19minecraft:piercing_weapon\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\x05\rhitbox_margin\0\0\x80>\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\n\rrepair_amount\x02\x07version\r\0\x08\nexpression)context.other->query.remaining_durability\0\t\x05items\n\x02\x08\x04name\x16minecraft:golden_spear\0\0\n\rrepair_amount\x08\nexpression\x1Bquery.max_durability * 0.25\x02\x07version\r\0\0\t\x05items\n\x02\x08\x04name\x14minecraft:gold_ingot\0\0\0\n\x17minecraft:use_modifiers\x01\x0Femit_vibrations\0\x05\x11movement_modifier\0\0\x80?\x08\x0Bstart_using\x06always\x05\x0Cuse_duration\0\xA0\x8CG\x08\x0Bstart_sound\x15item.golden_spear.use\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x15minecraft:golden_tier\x12minecraft:is_spear\0\0" } ; pub const GOLDEN_SWORD: Self = Self { id: 354, registry_key: "minecraft:golden_sword", @@ -43084,7 +72816,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const GRAY_BUNDLE : Self = Self { id : 269 , registry_key : "minecraft:gray_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\t\titem_tags\0\0\n\x0Fitem_properties\x03\x11enchantable_value\0\x01\x12hidden_in_commands\x02\x03\x0Emax_stack_size\x02\x03\x06damage\0\x01\x04foil\0\x01\rhand_equipped\0\x01\x0Eshould_despawn\x01\x03\x0Bframe_count\x02\x03\x0Cuse_duration\0\x01\x0Fstacked_by_data\0\x03\x11creative_category\x06\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x15bundle_gray_open_back\x08\x07default\x0Bbundle_gray\x08\x11bundle_open_front\x16bundle_gray_open_front\0\0\x03\ruse_animation\0\x08\x10enchantable_slot\x04none\x01\x17can_destroy_in_creative\x01\x01\x0Eliquid_clipped\0\x01\x0Eallow_off_hand\0\x08\x0Ecreative_group\0\x05\x0Cmining_speed\0\0\x80?\0\n\x16minecraft:storage_item\x01\x1Aallow_nested_storage_items\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\t\rallowed_items\0\0\x03\tmax_slots\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\0" } ; + pub const GRAY_BUNDLE : Self = Self { id : 269 , registry_key : "minecraft:gray_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\t\titem_tags\0\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:storage_item\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x01\x1Aallow_nested_storage_items\x01\x03\tmax_slots\x80\x01\t\rallowed_items\0\0\0\n\x0Fitem_properties\x03\x11creative_category\x06\x01\x04foil\0\x03\x11enchantable_value\0\x03\x0Emax_stack_size\x02\x01\x12hidden_in_commands\x02\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Bbundle_gray\x08\x10bundle_open_back\x15bundle_gray_open_back\x08\x11bundle_open_front\x16bundle_gray_open_front\0\0\x08\x10enchantable_slot\x04none\x03\x06damage\0\x01\x0Eshould_despawn\x01\x03\ruse_animation\0\x03\x0Cuse_duration\0\x03\x0Bframe_count\x02\x01\x0Eallow_off_hand\0\x01\x0Fstacked_by_data\0\x08\x0Ecreative_group\0\x05\x0Cmining_speed\0\0\x80?\x01\rhand_equipped\0\x01\x0Eliquid_clipped\0\x01\x17can_destroy_in_creative\x01\0\0" } ; pub const GRAY_CANDLE: Self = Self { id: -420, registry_key: "minecraft:gray_candle", @@ -43176,7 +72908,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const GREEN_BUNDLE : Self = Self { id : 270 , registry_key : "minecraft:green_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x0Fitem_properties\x03\x0Bframe_count\x02\x03\x11enchantable_value\0\x01\rhand_equipped\0\x08\x0Ecreative_group\0\x01\x12hidden_in_commands\x02\x03\x11creative_category\x06\x08\x10enchantable_slot\x04none\x01\x04foil\0\x01\x0Eshould_despawn\x01\x03\x0Emax_stack_size\x02\x01\x0Fstacked_by_data\0\x03\ruse_animation\0\x01\x0Eallow_off_hand\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Cbundle_green\x08\x10bundle_open_back\x16bundle_green_open_back\x08\x11bundle_open_front\x17bundle_green_open_front\0\0\x03\x06damage\0\x01\x0Eliquid_clipped\0\x03\x0Cuse_duration\0\x01\x17can_destroy_in_creative\x01\x05\x0Cmining_speed\0\0\x80?\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:storage_item\x01\x1Aallow_nested_storage_items\x01\x03\tmax_slots\x80\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\t\rallowed_items\0\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\t\titem_tags\0\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\0" } ; + pub const GREEN_BUNDLE : Self = Self { id : 270 , registry_key : "minecraft:green_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x0Fitem_properties\x03\x0Bframe_count\x02\x08\x10enchantable_slot\x04none\x08\x0Ecreative_group\0\x03\x11enchantable_value\0\x01\x0Eliquid_clipped\0\x03\x06damage\0\x03\ruse_animation\0\x03\x0Cuse_duration\0\x01\x17can_destroy_in_creative\x01\x01\x12hidden_in_commands\x02\x03\x11creative_category\x06\x01\x0Eallow_off_hand\0\x01\rhand_equipped\0\x03\x0Emax_stack_size\x02\x01\x0Eshould_despawn\x01\x05\x0Cmining_speed\0\0\x80?\x01\x04foil\0\x01\x0Fstacked_by_data\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x16bundle_green_open_back\x08\x07default\x0Cbundle_green\x08\x11bundle_open_front\x17bundle_green_open_front\0\0\0\t\titem_tags\0\0\n\x16minecraft:storage_item\t\rallowed_items\0\0\x03\tmax_slots\x80\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x01\x1Aallow_nested_storage_items\x01\0\0" } ; pub const GREEN_CANDLE: Self = Self { id: -426, registry_key: "minecraft:green_candle", @@ -43632,7 +73364,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const HONEY_BOTTLE : Self = Self { id : 633 , registry_key : "minecraft:honey_bottle" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x18minecraft:max_stack_size \x03\x16minecraft:use_durationP\n\x0Eminecraft:food\x03\ron_use_action\x01\x05\x13saturation_modifier\xCD\xCC\xCC=\x08\x11using_converts_to\x0Cglass_bottle\x01\x0Ecan_always_eat\x01\x08\rcooldown_type\0\t\x0Eremove_effects\x03\x02&\x03\rcooldown_time\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\tnutrition\x0C\0\0" } ; + pub const HONEY_BOTTLE : Self = Self { id : 633 , registry_key : "minecraft:honey_bottle" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x18minecraft:max_stack_size \x03\x16minecraft:use_durationP\n\x0Eminecraft:food\t\x0Eremove_effects\x03\x02&\x03\rcooldown_time\0\x03\tnutrition\x0C\x08\x11using_converts_to\x0Cglass_bottle\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\xCD\xCC\xCC=\x08\rcooldown_type\0\x03\ron_use_action\x01\x01\x0Ecan_always_eat\x01\0\0" } ; pub const HONEYCOMB: Self = Self { id: 632, registry_key: "minecraft:honeycomb", @@ -43934,7 +73666,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const IRON_SPEAR : Self = Self { id : 260 , registry_key : "minecraft:iron_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\x0E\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\n\rrepair_amount\x08\nexpression)context.other->query.remaining_durability\x02\x07version\r\0\0\t\x05items\n\x02\x08\x04name\x14minecraft:iron_spear\0\0\t\x05items\n\x02\x08\x04name\x14minecraft:iron_ingot\0\n\rrepair_amount\x02\x07version\r\0\x08\nexpression\x1Bquery.max_durability * 0.25\0\0\0\n\x12minecraft:cooldown\x08\x04type\x06attack\x08\x08category\x05spear\x05\x08duration33s?\0\n\x17minecraft:use_modifiers\x05\x0Cuse_duration\0\xA0\x8CG\x05\x11movement_modifier\0\0\x80?\x08\x0Bstart_sound\x13item.iron_spear.use\x08\x0Bstart_using\x06always\x01\x0Femit_vibrations\0\0\n\x10minecraft:damage\x02\x05value\x03\0\0\n\x18minecraft:swing_duration\x05\x05value33s?\0\n\x14minecraft:durability\n\rdamage_chance\x03\x03min\0\x03\x03max\xC8\x01\0\x03\x0Emax_durability\xF4\x03\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x13minecraft:iron_tier\x12minecraft:is_spear\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Aitem.iron_spear.attack_hit\x08\x0Battack_miss\x1Bitem.iron_spear.attack_miss\0\n\x0Fitem_properties\x01\x17can_destroy_in_creative\x01\x01\x0Eallow_off_hand\0\x08\x10enchantable_slot\x0Bmelee_spear\x03\x11creative_category\x06\x01\x0Eshould_despawn\x01\x03\x0Bframe_count\x02\x03\ruse_animation\0\x01\x0Eliquid_clipped\0\x03\x0Cuse_duration\x80\xE4\xAF\x01\x08\x0Ecreative_group\0\x03\x11enchantable_value\x1C\x03\x0Emax_stack_size\x02\x01\x12hidden_in_commands\x02\x01\x04foil\0\x05\x0Cmining_speed\0\0\x80?\x01\x0Fstacked_by_data\0\x03\x06damage\x06\x01\rhand_equipped\x01\n\x0Eminecraft:icon\n\x08textures\x08\x07default\niron_spear\0\0\0\t\titem_tags\x08\x04\x13minecraft:iron_tier\x12minecraft:is_spear\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x19minecraft:piercing_weapon\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\x05\rhitbox_margin\0\0\x80>\0\n\x16minecraft:display_name\x08\x05value\x14item.iron_spear.name\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\n\x13dismount_conditions\x05\tmin_speed\0\x000A\x02\x0Cmax_duration2\0\x05\x12min_relative_speed\0\0\0\0\0\x05\x0Fdamage_modifier\0\0\0\0\n\x11damage_conditions\x05\x12min_relative_speed33\x93@\x02\x0Cmax_duration\xE1\0\x05\tmin_speed\0\0\0\0\0\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\x05\rhitbox_margin\0\0\x80>\n\x14knockback_conditions\x02\x0Cmax_duration\x87\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed33\xA3@\0\x05\x11damage_multiplier33s?\x02\x05delay\x0C\0\0\0\0" } ; + pub const IRON_SPEAR : Self = Self { id : 260 , registry_key : "minecraft:iron_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\t\titem_tags\x08\x04\x13minecraft:iron_tier\x12minecraft:is_spear\n\x15minecraft:enchantable\x01\x05value\x0E\x08\x04slot\x0Bmelee_spear\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x12minecraft:cooldown\x08\x08category\x05spear\x08\x04type\x06attack\x05\x08duration33s?\0\n\x17minecraft:use_modifiers\x01\x0Femit_vibrations\0\x08\x0Bstart_using\x06always\x08\x0Bstart_sound\x13item.iron_spear.use\x05\x11movement_modifier\0\0\x80?\x05\x0Cuse_duration\0\xA0\x8CG\0\n\x16minecraft:display_name\x08\x05value\x14item.iron_spear.name\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x13minecraft:iron_tier\x12minecraft:is_spear\0\n\x0Fitem_properties\x08\x0Ecreative_group\0\x01\x0Eallow_off_hand\0\x01\x0Eliquid_clipped\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\niron_spear\0\0\x01\x04foil\0\x01\rhand_equipped\x01\x05\x0Cmining_speed\0\0\x80?\x01\x12hidden_in_commands\x02\x03\x0Bframe_count\x02\x03\ruse_animation\0\x03\x06damage\x06\x01\x0Eshould_despawn\x01\x01\x0Fstacked_by_data\0\x01\x17can_destroy_in_creative\x01\x03\x0Cuse_duration\x80\xE4\xAF\x01\x03\x0Emax_stack_size\x02\x03\x11creative_category\x06\x08\x10enchantable_slot\x0Bmelee_spear\x03\x11enchantable_value\x1C\0\n\x10minecraft:damage\x02\x05value\x03\0\0\n\x18minecraft:swing_duration\x05\x05value33s?\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\x02\x05delay\x0C\0\x05\rhitbox_margin\0\0\x80>\x05\x0Fdamage_modifier\0\0\0\0\x05\x11damage_multiplier33s?\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\n\x11damage_conditions\x02\x0Cmax_duration\xE1\0\x05\x12min_relative_speed33\x93@\x05\tmin_speed\0\0\0\0\0\n\x14knockback_conditions\x05\tmin_speed33\xA3@\x02\x0Cmax_duration\x87\0\x05\x12min_relative_speed\0\0\0\0\0\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\n\x13dismount_conditions\x05\x12min_relative_speed\0\0\0\0\x02\x0Cmax_duration2\0\x05\tmin_speed\0\x000A\0\0\0\n\x19minecraft:piercing_weapon\x05\rhitbox_margin\0\0\x80>\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\0\n\x14minecraft:durability\x03\x0Emax_durability\xF4\x03\n\rdamage_chance\x03\x03min\0\x03\x03max\xC8\x01\0\0\n\x16minecraft:swing_sounds\x08\x0Battack_miss\x1Bitem.iron_spear.attack_miss\x08\nattack_hit\x1Aitem.iron_spear.attack_hit\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\n\rrepair_amount\x08\nexpression)context.other->query.remaining_durability\x02\x07version\r\0\0\t\x05items\n\x02\x08\x04name\x14minecraft:iron_spear\0\0\t\x05items\n\x02\x08\x04name\x14minecraft:iron_ingot\0\n\rrepair_amount\x08\nexpression\x1Bquery.max_durability * 0.25\x02\x07version\r\0\0\0\0\0" } ; pub const IRON_SWORD: Self = Self { id: 338, registry_key: "minecraft:iron_sword", @@ -44509,7 +74241,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const LIGHT_BLUE_BUNDLE : Self = Self { id : 271 , registry_key : "minecraft:light_blue_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\t\titem_tags\0\0\n\x16minecraft:storage_item\t\rallowed_items\0\0\x01\x1Aallow_nested_storage_items\x01\x03\tmax_slots\x80\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x0Fitem_properties\x01\x04foil\0\x01\x17can_destroy_in_creative\x01\x03\ruse_animation\0\x03\x11creative_category\x06\x01\x0Fstacked_by_data\0\x03\x0Cuse_duration\0\x01\x12hidden_in_commands\x02\x01\rhand_equipped\0\x03\x06damage\0\x08\x10enchantable_slot\x04none\x03\x0Emax_stack_size\x02\x03\x0Bframe_count\x02\x01\x0Eliquid_clipped\0\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x1Cbundle_light_blue_open_front\x08\x07default\x11bundle_light_blue\x08\x10bundle_open_back\x1Bbundle_light_blue_open_back\0\0\x01\x0Eallow_off_hand\0\x05\x0Cmining_speed\0\0\x80?\x01\x0Eshould_despawn\x01\x03\x11enchantable_value\0\x08\x0Ecreative_group\0\0\0" } ; + pub const LIGHT_BLUE_BUNDLE : Self = Self { id : 271 , registry_key : "minecraft:light_blue_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\t\titem_tags\0\0\n\x16minecraft:storage_item\x03\tmax_slots\x80\x01\x01\x1Aallow_nested_storage_items\x01\t\rallowed_items\0\0\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\0\n\x0Fitem_properties\x05\x0Cmining_speed\0\0\x80?\x01\x0Eshould_despawn\x01\x01\rhand_equipped\0\x01\x12hidden_in_commands\x02\x03\x0Cuse_duration\0\x01\x0Eliquid_clipped\0\x03\x0Emax_stack_size\x02\x08\x0Ecreative_group\0\x03\x0Bframe_count\x02\x03\ruse_animation\0\x01\x0Eallow_off_hand\0\x01\x04foil\0\x01\x17can_destroy_in_creative\x01\x01\x0Fstacked_by_data\0\x03\x11creative_category\x06\x08\x10enchantable_slot\x04none\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x11bundle_light_blue\x08\x10bundle_open_back\x1Bbundle_light_blue_open_back\x08\x11bundle_open_front\x1Cbundle_light_blue_open_front\0\0\x03\x06damage\0\x03\x11enchantable_value\0\0\0" } ; pub const LIGHT_BLUE_CANDLE: Self = Self { id: -416, registry_key: "minecraft:light_blue_candle", @@ -44601,7 +74333,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const LIGHT_GRAY_BUNDLE : Self = Self { id : 272 , registry_key : "minecraft:light_gray_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x0Fitem_properties\x01\x0Eliquid_clipped\0\x03\x0Emax_stack_size\x02\x03\x06damage\0\x03\x0Cuse_duration\0\x01\x0Fstacked_by_data\0\x05\x0Cmining_speed\0\0\x80?\x01\x17can_destroy_in_creative\x01\x01\x0Eshould_despawn\x01\x08\x10enchantable_slot\x04none\x01\rhand_equipped\0\x03\x0Bframe_count\x02\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x1Cbundle_light_gray_open_front\x08\x07default\x11bundle_light_gray\x08\x10bundle_open_back\x1Bbundle_light_gray_open_back\0\0\x01\x12hidden_in_commands\x02\x08\x0Ecreative_group\0\x01\x0Eallow_off_hand\0\x01\x04foil\0\x03\ruse_animation\0\x03\x11enchantable_value\0\x03\x11creative_category\x06\0\t\titem_tags\0\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x16minecraft:storage_item\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\t\rallowed_items\0\0\x01\x1Aallow_nested_storage_items\x01\x03\tmax_slots\x80\x01\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\0" } ; + pub const LIGHT_GRAY_BUNDLE : Self = Self { id : 272 , registry_key : "minecraft:light_gray_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x0Fitem_properties\x03\x11enchantable_value\0\x01\x17can_destroy_in_creative\x01\x08\x10enchantable_slot\x04none\x03\x0Emax_stack_size\x02\x08\x0Ecreative_group\0\x01\x0Eshould_despawn\x01\x01\x0Fstacked_by_data\0\x01\x0Eallow_off_hand\0\x05\x0Cmining_speed\0\0\x80?\x03\x0Cuse_duration\0\x01\x04foil\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x11bundle_light_gray\x08\x10bundle_open_back\x1Bbundle_light_gray_open_back\x08\x11bundle_open_front\x1Cbundle_light_gray_open_front\0\0\x03\x11creative_category\x06\x03\x0Bframe_count\x02\x01\x12hidden_in_commands\x02\x03\x06damage\0\x01\rhand_equipped\0\x03\ruse_animation\0\x01\x0Eliquid_clipped\0\0\n\x16minecraft:storage_item\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\t\rallowed_items\0\0\x01\x1Aallow_nested_storage_items\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\t\titem_tags\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\0" } ; pub const LIGHT_GRAY_CANDLE: Self = Self { id: -421, registry_key: "minecraft:light_gray_candle", @@ -44714,7 +74446,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const LIME_BUNDLE : Self = Self { id : 273 , registry_key : "minecraft:lime_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x16minecraft:storage_item\x01\x1Aallow_nested_storage_items\x01\x03\tmax_slots\x80\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\t\rallowed_items\0\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\t\titem_tags\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x0Fitem_properties\x03\x0Emax_stack_size\x02\x01\x12hidden_in_commands\x02\x03\x11creative_category\x06\x03\x06damage\0\x01\x17can_destroy_in_creative\x01\x03\x11enchantable_value\0\x05\x0Cmining_speed\0\0\x80?\x01\x0Eshould_despawn\x01\x03\x0Cuse_duration\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x15bundle_lime_open_back\x08\x11bundle_open_front\x16bundle_lime_open_front\x08\x07default\x0Bbundle_lime\0\0\x03\x0Bframe_count\x02\x01\x0Eliquid_clipped\0\x08\x10enchantable_slot\x04none\x01\x0Fstacked_by_data\0\x08\x0Ecreative_group\0\x01\x0Eallow_off_hand\0\x01\x04foil\0\x01\rhand_equipped\0\x03\ruse_animation\0\0\0" } ; + pub const LIME_BUNDLE : Self = Self { id : 273 , registry_key : "minecraft:lime_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x0Fitem_properties\x08\x10enchantable_slot\x04none\x03\x0Bframe_count\x02\x03\ruse_animation\0\x01\x17can_destroy_in_creative\x01\x03\x0Emax_stack_size\x02\x03\x06damage\0\x01\rhand_equipped\0\x03\x0Cuse_duration\0\x03\x11enchantable_value\0\x01\x0Fstacked_by_data\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x15bundle_lime_open_back\x08\x11bundle_open_front\x16bundle_lime_open_front\x08\x07default\x0Bbundle_lime\0\0\x01\x0Eallow_off_hand\0\x08\x0Ecreative_group\0\x01\x12hidden_in_commands\x02\x01\x0Eliquid_clipped\0\x05\x0Cmining_speed\0\0\x80?\x01\x04foil\0\x01\x0Eshould_despawn\x01\x03\x11creative_category\x06\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x16minecraft:storage_item\t\rallowed_items\0\0\x01\x1Aallow_nested_storage_items\x01\x03\tmax_slots\x80\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\t\titem_tags\0\0\0" } ; pub const LIME_CANDLE: Self = Self { id: -418, registry_key: "minecraft:lime_candle", @@ -44911,7 +74643,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const MAGENTA_BUNDLE : Self = Self { id : 274 , registry_key : "minecraft:magenta_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x16minecraft:storage_item\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\t\rallowed_items\0\0\x01\x1Aallow_nested_storage_items\x01\x03\tmax_slots\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x0Fitem_properties\x05\x0Cmining_speed\0\0\x80?\x01\x12hidden_in_commands\x02\x08\x0Ecreative_group\0\x03\x0Bframe_count\x02\x03\x11enchantable_value\0\x01\x0Eallow_off_hand\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x18bundle_magenta_open_back\x08\x11bundle_open_front\x19bundle_magenta_open_front\x08\x07default\x0Ebundle_magenta\0\0\x01\x0Fstacked_by_data\0\x01\rhand_equipped\0\x03\x0Cuse_duration\0\x03\x11creative_category\x06\x01\x0Eliquid_clipped\0\x03\x06damage\0\x03\ruse_animation\0\x03\x0Emax_stack_size\x02\x01\x17can_destroy_in_creative\x01\x01\x04foil\0\x08\x10enchantable_slot\x04none\x01\x0Eshould_despawn\x01\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\t\titem_tags\0\0\0" } ; + pub const MAGENTA_BUNDLE : Self = Self { id : 274 , registry_key : "minecraft:magenta_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x0Fitem_properties\x03\x11creative_category\x06\x01\x0Eallow_off_hand\0\x03\x0Bframe_count\x02\x01\rhand_equipped\0\x01\x17can_destroy_in_creative\x01\x05\x0Cmining_speed\0\0\x80?\x01\x0Fstacked_by_data\0\x03\x0Cuse_duration\0\x08\x10enchantable_slot\x04none\x01\x0Eliquid_clipped\0\x01\x12hidden_in_commands\x02\x08\x0Ecreative_group\0\x01\x04foil\0\x03\x11enchantable_value\0\x03\x0Emax_stack_size\x02\x01\x0Eshould_despawn\x01\x03\x06damage\0\x03\ruse_animation\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Ebundle_magenta\x08\x11bundle_open_front\x19bundle_magenta_open_front\x08\x10bundle_open_back\x18bundle_magenta_open_back\0\0\0\t\titem_tags\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x16minecraft:storage_item\x01\x1Aallow_nested_storage_items\x01\x03\tmax_slots\x80\x01\t\rallowed_items\0\0\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\0" } ; pub const MAGENTA_CANDLE: Self = Self { id: -415, registry_key: "minecraft:magenta_candle", @@ -45206,8 +74938,8 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const MELON_SEEDS : Self = Self { id : 322 , registry_key : "minecraft:melon_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\x08\x0Bcrop_result\x14minecraft:melon_stem\t\x08plant_at\x08\x02\x12minecraft:farmland\x08\rplant_at_face\x02up\x01\x1Aplant_at_any_solid_surface\0\0\0" } ; - pub const MELON_SLICE : Self = Self { id : 301 , registry_key : "minecraft:melon_slice" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x08\rcooldown_type\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\rcooldown_time\0\x03\ron_use_action\x01\x08\x11using_converts_to\0\x03\tnutrition\x04\x05\x13saturation_modifier\x9A\x99\x99>\x01\x0Ecan_always_eat\0\0\0" } ; + pub const MELON_SEEDS : Self = Self { id : 322 , registry_key : "minecraft:melon_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\x01\x1Aplant_at_any_solid_surface\0\t\x08plant_at\x08\x02\x12minecraft:farmland\x08\x0Bcrop_result\x14minecraft:melon_stem\x08\rplant_at_face\x02up\0\0" } ; + pub const MELON_SLICE : Self = Self { id : 301 , registry_key : "minecraft:melon_slice" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x05\x13saturation_modifier\x9A\x99\x99>\x03\rcooldown_time\0\x08\x11using_converts_to\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\tnutrition\x04\x01\x0Ecan_always_eat\0\x08\rcooldown_type\0\x03\ron_use_action\x01\0\0" } ; pub const MELON_STEM: Self = Self { id: 105, registry_key: "minecraft:melon_stem", @@ -45425,7 +75157,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const MUSHROOM_STEW : Self = Self { id : 289 , registry_key : "minecraft:mushroom_stew" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x05\x13saturation_modifier\x9A\x99\x19?\x08\rcooldown_type\0\x03\ron_use_action\x01\x03\tnutrition\x0C\x08\x11using_converts_to\x04bowl\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\x03\x18minecraft:max_stack_size\x02\0" } ; + pub const MUSHROOM_STEW : Self = Self { id : 289 , registry_key : "minecraft:mushroom_stew" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\rcooldown_time\0\x08\rcooldown_type\0\x03\tnutrition\x0C\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\x04bowl\x01\x0Ecan_always_eat\0\x05\x13saturation_modifier\x9A\x99\x19?\0\x03\x18minecraft:max_stack_size\x02\x03\x16minecraft:use_duration@\0" } ; pub const MUSIC_DISC_11: Self = Self { id: 583, registry_key: "minecraft:music_disc_11", @@ -45580,7 +75312,7 @@ impl BedrockItem { component_based: true, definition_components: b"\n\0\0", }; - pub const MUTTON : Self = Self { id : 589 , registry_key : "minecraft:mutton" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x05\x13saturation_modifier\x9A\x99\x99>\x01\x0Ecan_always_eat\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\rcooldown_type\0\x03\rcooldown_time\0\x03\ron_use_action\x01\x03\tnutrition\x04\x08\x11using_converts_to\0\0\x03\x16minecraft:use_duration@\0" } ; + pub const MUTTON : Self = Self { id : 589 , registry_key : "minecraft:mutton" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x05\x13saturation_modifier\x9A\x99\x99>\x03\ron_use_action\x01\x08\rcooldown_type\0\x08\x11using_converts_to\0\x03\rcooldown_time\0\x03\tnutrition\x04\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x01\x0Ecan_always_eat\0\0\x03\x16minecraft:use_duration@\0" } ; pub const MYCELIUM: Self = Self { id: 110, registry_key: "minecraft:mycelium", @@ -45672,7 +75404,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const NETHER_WART : Self = Self { id : 323 , registry_key : "minecraft:nether_wart" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\t\x08plant_at\x08\x02\tsoul_sand\x08\x0Bcrop_result\x15minecraft:nether_wart\x08\rplant_at_face\x02up\x01\x1Aplant_at_any_solid_surface\0\0\0" } ; + pub const NETHER_WART : Self = Self { id : 323 , registry_key : "minecraft:nether_wart" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\t\x08plant_at\x08\x02\tsoul_sand\x01\x1Aplant_at_any_solid_surface\0\x08\rplant_at_face\x02up\x08\x0Bcrop_result\x15minecraft:nether_wart\0\0" } ; pub const NETHER_WART_BLOCK: Self = Self { id: 214, registry_key: "minecraft:nether_wart_block", @@ -45778,7 +75510,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const NETHERITE_SPEAR : Self = Self { id : 261 , registry_key : "minecraft:netherite_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x17minecraft:use_modifiers\x05\x0Cuse_duration\0\xA0\x8CG\x05\x11movement_modifier\0\0\x80?\x08\x0Bstart_using\x06always\x01\x0Femit_vibrations\0\x08\x0Bstart_sound\x18item.netherite_spear.use\0\n\x0Fitem_properties\x03\x11creative_category\x06\x03\ruse_animation\0\x03\x0Emax_stack_size\x02\x03\x0Bframe_count\x02\x01\x0Fstacked_by_data\0\x03\x06damage\n\x01\x17can_destroy_in_creative\x01\x03\x11enchantable_value\x1E\x01\x0Eshould_despawn\x01\x01\x0Eallow_off_hand\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Fnetherite_spear\0\0\x08\x0Ecreative_group\0\x01\x12hidden_in_commands\x02\x03\x0Cuse_duration\x80\xE4\xAF\x01\x01\x04foil\0\x01\rhand_equipped\x01\x08\x10enchantable_slot\x0Bmelee_spear\x05\x0Cmining_speed\0\0\x80?\x01\x0Eliquid_clipped\0\0\n\x18minecraft:swing_duration\x05\x05value33\x93?\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\t\x05items\n\x02\x08\x04name\x19minecraft:netherite_spear\0\n\rrepair_amount\x02\x07version\r\0\x08\nexpression)context.other->query.remaining_durability\0\0\t\x05items\n\x02\x08\x04name\x19minecraft:netherite_ingot\0\n\rrepair_amount\x02\x07version\r\0\x08\nexpression\x1Bquery.max_durability * 0.25\0\0\0\n\x14minecraft:durability\x03\x0Emax_durability\xDC\x1F\n\rdamage_chance\x03\x03min\0\x03\x03max\xC8\x01\0\0\n\x19minecraft:piercing_weapon\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\x05\rhitbox_margin\0\0\x80>\0\n\x15minecraft:enchantable\x01\x05value\x0F\x08\x04slot\x0Bmelee_spear\0\n\x10minecraft:damage\x02\x05value\x05\0\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x18minecraft:fire_resistant\x01\x05value\x01\0\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Fitem.netherite_spear.attack_hit\x08\x0Battack_miss item.netherite_spear.attack_miss\0\n\x16minecraft:display_name\x08\x05value\x19item.netherite_spear.name\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x18minecraft:netherite_tier\x12minecraft:is_spear\0\t\titem_tags\x08\x04\x18minecraft:netherite_tier\x12minecraft:is_spear\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\n\x14knockback_conditions\x02\x0Cmax_durationn\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed33\xA3@\0\n\x13dismount_conditions\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed\0\0\x10A\x02\x0Cmax_duration2\0\0\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\x02\x05delay\x08\0\n\x11damage_conditions\x05\x12min_relative_speed33\x93@\x05\tmin_speed\0\0\0\0\x02\x0Cmax_duration\xAF\0\0\x05\x11damage_multiplier\x9A\x99\x99?\x05\x0Fdamage_modifier\0\0\0\0\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\x05\rhitbox_margin\0\0\x80>\0\0\n\x12minecraft:cooldown\x05\x08duration33\x93?\x08\x08category\x05spear\x08\x04type\x06attack\0\0" } ; + pub const NETHERITE_SPEAR : Self = Self { id : 261 , registry_key : "minecraft:netherite_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\x05\x0Fdamage_modifier\0\0\0\0\x05\x11damage_multiplier\x9A\x99\x99?\n\x14knockback_conditions\x02\x0Cmax_durationn\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed33\xA3@\0\x02\x05delay\x08\0\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\x05\rhitbox_margin\0\0\x80>\n\x11damage_conditions\x05\x12min_relative_speed33\x93@\x02\x0Cmax_duration\xAF\0\x05\tmin_speed\0\0\0\0\0\n\x13dismount_conditions\x05\tmin_speed\0\0\x10A\x02\x0Cmax_duration2\0\x05\x12min_relative_speed\0\0\0\0\0\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\0\0\n\x10minecraft:damage\x02\x05value\x05\0\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x18minecraft:swing_duration\x05\x05value33\x93?\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x18minecraft:netherite_tier\x12minecraft:is_spear\0\n\x19minecraft:piercing_weapon\x05\rhitbox_margin\0\0\x80>\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\0\n\x18minecraft:fire_resistant\x01\x05value\x01\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x0Fitem_properties\x03\x11enchantable_value\x1E\x01\x12hidden_in_commands\x02\x01\x0Eshould_despawn\x01\x01\x0Fstacked_by_data\0\x05\x0Cmining_speed\0\0\x80?\x03\x06damage\n\x03\x0Bframe_count\x02\x03\x11creative_category\x06\x01\x04foil\0\x08\x10enchantable_slot\x0Bmelee_spear\x03\x0Emax_stack_size\x02\x03\x0Cuse_duration\x80\xE4\xAF\x01\x03\ruse_animation\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Fnetherite_spear\0\0\x01\x0Eliquid_clipped\0\x01\x17can_destroy_in_creative\x01\x01\x0Eallow_off_hand\0\x08\x0Ecreative_group\0\x01\rhand_equipped\x01\0\t\titem_tags\x08\x04\x18minecraft:netherite_tier\x12minecraft:is_spear\n\x14minecraft:durability\x03\x0Emax_durability\xDC\x1F\n\rdamage_chance\x03\x03max\xC8\x01\x03\x03min\0\0\0\n\x16minecraft:swing_sounds\x08\x0Battack_miss item.netherite_spear.attack_miss\x08\nattack_hit\x1Fitem.netherite_spear.attack_hit\0\n\x17minecraft:use_modifiers\x08\x0Bstart_using\x06always\x05\x11movement_modifier\0\0\x80?\x05\x0Cuse_duration\0\xA0\x8CG\x01\x0Femit_vibrations\0\x08\x0Bstart_sound\x18item.netherite_spear.use\0\n\x16minecraft:display_name\x08\x05value\x19item.netherite_spear.name\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\t\x05items\n\x02\x08\x04name\x19minecraft:netherite_spear\0\n\rrepair_amount\x02\x07version\r\0\x08\nexpression)context.other->query.remaining_durability\0\0\t\x05items\n\x02\x08\x04name\x19minecraft:netherite_ingot\0\n\rrepair_amount\x08\nexpression\x1Bquery.max_durability * 0.25\x02\x07version\r\0\0\0\0\n\x15minecraft:enchantable\x01\x05value\x0F\x08\x04slot\x0Bmelee_spear\0\n\x12minecraft:cooldown\x05\x08duration33\x93?\x08\x08category\x05spear\x08\x04type\x06attack\0\0" } ; pub const NETHERITE_SWORD: Self = Self { id: 646, registry_key: "minecraft:netherite_sword", @@ -45975,7 +75707,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const OMINOUS_TRIAL_KEY : Self = Self { id : 282 , registry_key : "minecraft:ominous_trial_key" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x0Fitem_properties\x03\x11creative_category\x08\x01\x0Fstacked_by_data\0\x03\ruse_animation\0\x03\x0Emax_stack_size\x80\x01\x01\x04foil\0\x01\x0Eliquid_clipped\0\x01\x0Eshould_despawn\x01\x03\x06damage\0\x01\x12hidden_in_commands\x02\x08\x0Ecreative_group\0\x03\x0Bframe_count\x02\x03\x11enchantable_value\0\x01\rhand_equipped\0\x01\x0Eallow_off_hand\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x11ominous_trial_key\0\0\x03\x0Cuse_duration\0\x01\x17can_destroy_in_creative\x01\x08\x10enchantable_slot\x04none\x05\x0Cmining_speed\0\0\x80?\0\t\titem_tags\0\0\n\x16minecraft:display_name\x08\x05value\x1Bitem.ominous_trial_key.name\0\0" } ; + pub const OMINOUS_TRIAL_KEY : Self = Self { id : 282 , registry_key : "minecraft:ominous_trial_key" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x0Fitem_properties\x01\x0Eallow_off_hand\0\x01\rhand_equipped\0\x03\x11creative_category\x08\x03\x06damage\0\x01\x12hidden_in_commands\x02\x01\x0Eliquid_clipped\0\x03\x0Emax_stack_size\x80\x01\x03\x0Cuse_duration\0\x03\x0Bframe_count\x02\x08\x0Ecreative_group\0\x01\x04foil\0\x01\x0Fstacked_by_data\0\x01\x0Eshould_despawn\x01\x01\x17can_destroy_in_creative\x01\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x11ominous_trial_key\0\0\x03\x11enchantable_value\0\x08\x10enchantable_slot\x04none\x03\ruse_animation\0\x05\x0Cmining_speed\0\0\x80?\0\t\titem_tags\0\0\n\x16minecraft:display_name\x08\x05value\x1Bitem.ominous_trial_key.name\0\0" } ; pub const OPEN_EYEBLOSSOM: Self = Self { id: -1018, registry_key: "minecraft:open_eyeblossom", @@ -45983,7 +75715,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const ORANGE_BUNDLE : Self = Self { id : 275 , registry_key : "minecraft:orange_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\t\titem_tags\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x0Fitem_properties\x01\x0Eallow_off_hand\0\x01\x12hidden_in_commands\x02\x03\x0Emax_stack_size\x02\x03\x11creative_category\x06\x08\x10enchantable_slot\x04none\x03\ruse_animation\0\x01\x17can_destroy_in_creative\x01\x01\x0Eliquid_clipped\0\x01\x04foil\0\x03\x0Bframe_count\x02\x08\x0Ecreative_group\0\x03\x11enchantable_value\0\x01\rhand_equipped\0\x03\x06damage\0\x01\x0Fstacked_by_data\0\x03\x0Cuse_duration\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\rbundle_orange\x08\x10bundle_open_back\x17bundle_orange_open_back\x08\x11bundle_open_front\x18bundle_orange_open_front\0\0\x05\x0Cmining_speed\0\0\x80?\x01\x0Eshould_despawn\x01\0\n\x16minecraft:storage_item\t\rallowed_items\0\0\x01\x1Aallow_nested_storage_items\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\0\0" } ; + pub const ORANGE_BUNDLE : Self = Self { id : 275 , registry_key : "minecraft:orange_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\t\titem_tags\0\0\n\x16minecraft:storage_item\x01\x1Aallow_nested_storage_items\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\t\rallowed_items\0\0\0\n\x0Fitem_properties\x03\x11creative_category\x06\x08\x10enchantable_slot\x04none\x01\x12hidden_in_commands\x02\x01\x0Eshould_despawn\x01\x03\x11enchantable_value\0\x03\x06damage\0\x01\x0Eliquid_clipped\0\x03\x0Bframe_count\x02\x05\x0Cmining_speed\0\0\x80?\x03\x0Cuse_duration\0\x01\x04foil\0\x03\ruse_animation\0\x01\rhand_equipped\0\x03\x0Emax_stack_size\x02\x01\x0Eallow_off_hand\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x17bundle_orange_open_back\x08\x07default\rbundle_orange\x08\x11bundle_open_front\x18bundle_orange_open_front\0\0\x01\x0Fstacked_by_data\0\x08\x0Ecreative_group\0\x01\x17can_destroy_in_creative\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\0" } ; pub const ORANGE_CANDLE: Self = Self { id: -414, registry_key: "minecraft:orange_candle", @@ -46502,7 +76234,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const PINK_BUNDLE : Self = Self { id : 276 , registry_key : "minecraft:pink_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x0Fitem_properties\x08\x10enchantable_slot\x04none\x01\x04foil\0\x05\x0Cmining_speed\0\0\x80?\x03\ruse_animation\0\x01\x0Fstacked_by_data\0\x01\x17can_destroy_in_creative\x01\x03\x0Bframe_count\x02\x03\x11enchantable_value\0\x03\x0Emax_stack_size\x02\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x16bundle_pink_open_front\x08\x07default\x0Bbundle_pink\x08\x10bundle_open_back\x15bundle_pink_open_back\0\0\x01\x0Eshould_despawn\x01\x01\x0Eallow_off_hand\0\x01\rhand_equipped\0\x01\x12hidden_in_commands\x02\x03\x0Cuse_duration\0\x03\x11creative_category\x06\x01\x0Eliquid_clipped\0\x08\x0Ecreative_group\0\x03\x06damage\0\0\n\x16minecraft:storage_item\t\rallowed_items\0\0\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\x01\x1Aallow_nested_storage_items\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\t\titem_tags\0\0\0" } ; + pub const PINK_BUNDLE : Self = Self { id : 276 , registry_key : "minecraft:pink_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x0Fitem_properties\x01\x04foil\0\x01\x12hidden_in_commands\x02\x01\x17can_destroy_in_creative\x01\x01\x0Eshould_despawn\x01\x01\rhand_equipped\0\x01\x0Eallow_off_hand\0\x03\x0Bframe_count\x02\x03\ruse_animation\0\x08\x0Ecreative_group\0\x01\x0Fstacked_by_data\0\x03\x06damage\0\x03\x11creative_category\x06\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x15bundle_pink_open_back\x08\x11bundle_open_front\x16bundle_pink_open_front\x08\x07default\x0Bbundle_pink\0\0\x01\x0Eliquid_clipped\0\x03\x11enchantable_value\0\x05\x0Cmining_speed\0\0\x80?\x08\x10enchantable_slot\x04none\x03\x0Cuse_duration\0\x03\x0Emax_stack_size\x02\0\n\x16minecraft:storage_item\x03\tmax_slots\x80\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x01\x1Aallow_nested_storage_items\x01\t\rallowed_items\0\0\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\t\titem_tags\0\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\0" } ; pub const PINK_CANDLE: Self = Self { id: -419, registry_key: "minecraft:pink_candle", @@ -46672,7 +76404,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const POISONOUS_POTATO : Self = Self { id : 311 , registry_key : "minecraft:poisonous_potato" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\t\x07effects\n\x02\x05\x06chance\x9A\x99\x19?\x03\x08duration\n\x03\x02id&\x08\x04name\x06poison\x03\tamplifier\0\x08\rdescriptionId\rpotion.poison\0\x01\x0Ecan_always_eat\0\x08\x11using_converts_to\0\x08\rcooldown_type\0\x05\x13saturation_modifier\x9A\x99\x99>\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\rcooldown_time\0\x03\ron_use_action\x01\x03\tnutrition\x04\0\0" } ; + pub const POISONOUS_POTATO : Self = Self { id : 311 , registry_key : "minecraft:poisonous_potato" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x08\rcooldown_type\0\x03\rcooldown_time\0\x05\x13saturation_modifier\x9A\x99\x99>\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x01\x0Ecan_always_eat\0\t\x07effects\n\x02\x08\rdescriptionId\rpotion.poison\x03\x08duration\n\x03\x02id&\x03\tamplifier\0\x08\x04name\x06poison\x05\x06chance\x9A\x99\x19?\0\x03\tnutrition\x04\x08\x11using_converts_to\0\0\x03\x16minecraft:use_duration@\0" } ; pub const POLAR_BEAR_SPAWN_EGG: Self = Self { id: 506, registry_key: "minecraft:polar_bear_spawn_egg", @@ -47009,7 +76741,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const PORKCHOP : Self = Self { id : 291 , registry_key : "minecraft:porkchop" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\ron_use_action\x01\x03\rcooldown_time\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\x9A\x99\x99>\x03\tnutrition\x06\x01\x0Ecan_always_eat\0\x08\rcooldown_type\0\x08\x11using_converts_to\0\0\0" } ; + pub const PORKCHOP : Self = Self { id : 291 , registry_key : "minecraft:porkchop" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\tnutrition\x06\x08\rcooldown_type\0\x03\ron_use_action\x01\x05\x13saturation_modifier\x9A\x99\x99>\x08\x11using_converts_to\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\0\x03\x16minecraft:use_duration@\0" } ; pub const PORTAL: Self = Self { id: 90, registry_key: "minecraft:portal", @@ -47017,7 +76749,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const POTATO : Self = Self { id : 309 , registry_key : "minecraft:potato" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\ron_use_action\x01\x05\x13saturation_modifier\x9A\x99\x99>\x03\tnutrition\x02\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x08\x11using_converts_to\0\x08\rcooldown_type\0\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:seed\x01\x1Aplant_at_any_solid_surface\0\x08\x0Bcrop_result\x12minecraft:potatoes\x08\rplant_at_face\x02up\t\x08plant_at\x08\x02\x12minecraft:farmland\0\0" } ; + pub const POTATO : Self = Self { id : 309 , registry_key : "minecraft:potato" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x05\x13saturation_modifier\x9A\x99\x99>\x03\tnutrition\x02\x08\x11using_converts_to\0\x03\ron_use_action\x01\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x08\rcooldown_type\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\n\x0Eminecraft:seed\x08\x0Bcrop_result\x12minecraft:potatoes\t\x08plant_at\x08\x02\x12minecraft:farmland\x01\x1Aplant_at_any_solid_surface\0\x08\rplant_at_face\x02up\0\0" } ; pub const POTATOES: Self = Self { id: 142, registry_key: "minecraft:potatoes", @@ -47151,7 +76883,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const PUFFERFISH : Self = Self { id : 296 , registry_key : "minecraft:pufferfish" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x08\rcooldown_type\0\x03\ron_use_action\x01\x05\x13saturation_modifier\xCD\xCC\xCC=\x03\tnutrition\x02\x08\x11using_converts_to\0\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\t\x07effects\n\x06\x08\rdescriptionId\rpotion.poison\x03\x08durationx\x03\x02id&\x08\x04name\x06poison\x03\tamplifier\x02\x05\x06chance\0\0\x80?\0\x03\x08duration\x1E\x03\tamplifier\0\x05\x06chance\0\0\x80?\x03\x02id\x12\x08\x04name\x06nausea\x08\rdescriptionId\x10potion.confusion\0\x08\x04name\x06hunger\x05\x06chance\0\0\x80?\x03\tamplifier\x04\x03\x02id\"\x03\x08duration\x1E\x08\rdescriptionId\rpotion.hunger\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\x01\x19minecraft:stacked_by_data\x01\0" } ; + pub const PUFFERFISH : Self = Self { id : 296 , registry_key : "minecraft:pufferfish" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x08\x11using_converts_to\0\x03\rcooldown_time\0\x03\tnutrition\x02\x08\rcooldown_type\0\t\x07effects\n\x06\x03\x08durationx\x03\x02id&\x08\x04name\x06poison\x03\tamplifier\x02\x08\rdescriptionId\rpotion.poison\x05\x06chance\0\0\x80?\0\x08\x04name\x06nausea\x03\tamplifier\0\x08\rdescriptionId\x10potion.confusion\x05\x06chance\0\0\x80?\x03\x08duration\x1E\x03\x02id\x12\0\x08\x04name\x06hunger\x08\rdescriptionId\rpotion.hunger\x03\tamplifier\x04\x03\x02id\"\x03\x08duration\x1E\x05\x06chance\0\0\x80?\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\xCD\xCC\xCC=\x01\x0Ecan_always_eat\0\x03\ron_use_action\x01\0\x01\x19minecraft:stacked_by_data\x01\x03\x16minecraft:use_duration@\0" } ; pub const PUFFERFISH_BUCKET: Self = Self { id: 399, registry_key: "minecraft:pufferfish_bucket", @@ -47173,8 +76905,8 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const PUMPKIN_PIE : Self = Self { id : 313 , registry_key : "minecraft:pumpkin_pie" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\ron_use_action\x01\x08\rcooldown_type\0\x03\rcooldown_time\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\x9A\x99\x99>\x08\x11using_converts_to\0\x03\tnutrition\x10\x01\x0Ecan_always_eat\0\0\0" } ; - pub const PUMPKIN_SEEDS : Self = Self { id : 321 , registry_key : "minecraft:pumpkin_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\x01\x1Aplant_at_any_solid_surface\0\x08\x0Bcrop_result\x16minecraft:pumpkin_stem\x08\rplant_at_face\x02up\t\x08plant_at\x08\x02\x12minecraft:farmland\0\0" } ; + pub const PUMPKIN_PIE : Self = Self { id : 313 , registry_key : "minecraft:pumpkin_pie" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\ron_use_action\x01\x08\rcooldown_type\0\x08\x11using_converts_to\0\x01\x0Ecan_always_eat\0\x03\tnutrition\x10\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\rcooldown_time\0\x05\x13saturation_modifier\x9A\x99\x99>\0\0" } ; + pub const PUMPKIN_SEEDS : Self = Self { id : 321 , registry_key : "minecraft:pumpkin_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\x01\x1Aplant_at_any_solid_surface\0\t\x08plant_at\x08\x02\x12minecraft:farmland\x08\rplant_at_face\x02up\x08\x0Bcrop_result\x16minecraft:pumpkin_stem\0\0" } ; pub const PUMPKIN_STEM: Self = Self { id: 104, registry_key: "minecraft:pumpkin_stem", @@ -47182,7 +76914,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const PURPLE_BUNDLE : Self = Self { id : 277 , registry_key : "minecraft:purple_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:storage_item\x03\tmax_slots\x80\x01\x01\x1Aallow_nested_storage_items\x01\t\rallowed_items\0\0\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x0Fitem_properties\x03\x11creative_category\x06\x01\x04foil\0\x01\x12hidden_in_commands\x02\x03\x0Cuse_duration\0\x03\x11enchantable_value\0\x03\x0Emax_stack_size\x02\x08\x10enchantable_slot\x04none\x01\x0Eliquid_clipped\0\x01\rhand_equipped\0\x01\x0Eallow_off_hand\0\x03\x0Bframe_count\x02\x01\x0Fstacked_by_data\0\x08\x0Ecreative_group\0\x01\x17can_destroy_in_creative\x01\x05\x0Cmining_speed\0\0\x80?\x01\x0Eshould_despawn\x01\n\x0Eminecraft:icon\n\x08textures\x08\x07default\rbundle_purple\x08\x10bundle_open_back\x17bundle_purple_open_back\x08\x11bundle_open_front\x18bundle_purple_open_front\0\0\x03\x06damage\0\x03\ruse_animation\0\0\t\titem_tags\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\0" } ; + pub const PURPLE_BUNDLE : Self = Self { id : 277 , registry_key : "minecraft:purple_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\t\titem_tags\0\0\n\x0Fitem_properties\x01\x0Eallow_off_hand\0\x08\x0Ecreative_group\0\x03\x06damage\0\x08\x10enchantable_slot\x04none\x03\x0Bframe_count\x02\x03\x0Emax_stack_size\x02\x03\x11enchantable_value\0\x01\x0Eliquid_clipped\0\x01\x04foil\0\x01\x12hidden_in_commands\x02\x01\rhand_equipped\0\x01\x17can_destroy_in_creative\x01\x01\x0Fstacked_by_data\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\rbundle_purple\x08\x11bundle_open_front\x18bundle_purple_open_front\x08\x10bundle_open_back\x17bundle_purple_open_back\0\0\x05\x0Cmining_speed\0\0\x80?\x03\ruse_animation\0\x03\x0Cuse_duration\0\x03\x11creative_category\x06\x01\x0Eshould_despawn\x01\0\n\x16minecraft:storage_item\x01\x1Aallow_nested_storage_items\x01\t\rallowed_items\0\0\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\0" } ; pub const PURPLE_CANDLE: Self = Self { id: -423, registry_key: "minecraft:purple_candle", @@ -47365,7 +77097,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const RABBIT : Self = Self { id : 317 , registry_key : "minecraft:rabbit" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x05\x13saturation_modifier\x9A\x99\x99>\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\x08\rcooldown_type\0\x03\rcooldown_time\0\x03\tnutrition\x06\x03\ron_use_action\x01\0\x03\x16minecraft:use_duration@\0" } ; + pub const RABBIT : Self = Self { id : 317 , registry_key : "minecraft:rabbit" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x03\tnutrition\x06\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\x9A\x99\x99>\x03\ron_use_action\x01\x08\x11using_converts_to\0\x03\rcooldown_time\0\x08\rcooldown_type\0\0\x03\x16minecraft:use_duration@\0" } ; pub const RABBIT_FOOT: Self = Self { id: 567, registry_key: "minecraft:rabbit_foot", @@ -47387,7 +77119,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const RABBIT_STEW : Self = Self { id : 319 , registry_key : "minecraft:rabbit_stew" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x03\tnutrition\x14\x03\rcooldown_time\0\x08\x11using_converts_to\x04bowl\x05\x13saturation_modifier\x9A\x99\x19?\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\rcooldown_type\0\0\x03\x18minecraft:max_stack_size\x02\x03\x16minecraft:use_duration@\0" } ; + pub const RABBIT_STEW : Self = Self { id : 319 , registry_key : "minecraft:rabbit_stew" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x08\rcooldown_type\0\x08\x11using_converts_to\x04bowl\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\x9A\x99\x19?\x03\rcooldown_time\0\x03\tnutrition\x14\0\x03\x18minecraft:max_stack_size\x02\0" } ; pub const RAIL: Self = Self { id: 66, registry_key: "minecraft:rail", @@ -47465,7 +77197,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const RED_BUNDLE : Self = Self { id : 278 , registry_key : "minecraft:red_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\t\titem_tags\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:storage_item\x03\tmax_slots\x80\x01\x01\x1Aallow_nested_storage_items\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\t\rallowed_items\0\0\0\n\x0Fitem_properties\x01\x0Fstacked_by_data\0\x01\x0Eshould_despawn\x01\x01\x04foil\0\x01\x0Eallow_off_hand\0\x01\x12hidden_in_commands\x02\x03\x06damage\0\x05\x0Cmining_speed\0\0\x80?\x01\rhand_equipped\0\x03\x11enchantable_value\0\x08\x0Ecreative_group\0\x03\x0Cuse_duration\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x14bundle_red_open_back\x08\x07default\nbundle_red\x08\x11bundle_open_front\x15bundle_red_open_front\0\0\x03\x0Bframe_count\x02\x03\x0Emax_stack_size\x02\x08\x10enchantable_slot\x04none\x01\x0Eliquid_clipped\0\x01\x17can_destroy_in_creative\x01\x03\ruse_animation\0\x03\x11creative_category\x06\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\0" } ; + pub const RED_BUNDLE : Self = Self { id : 278 , registry_key : "minecraft:red_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x16minecraft:storage_item\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\t\rallowed_items\0\0\x01\x1Aallow_nested_storage_items\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\t\titem_tags\0\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x0Fitem_properties\x03\x11enchantable_value\0\x01\x0Eliquid_clipped\0\x01\x17can_destroy_in_creative\x01\x01\x12hidden_in_commands\x02\x03\x0Emax_stack_size\x02\x08\x0Ecreative_group\0\x03\x06damage\0\x01\x0Eallow_off_hand\0\x08\x10enchantable_slot\x04none\x03\x11creative_category\x06\x03\x0Bframe_count\x02\n\x0Eminecraft:icon\n\x08textures\x08\x07default\nbundle_red\x08\x11bundle_open_front\x15bundle_red_open_front\x08\x10bundle_open_back\x14bundle_red_open_back\0\0\x01\x0Fstacked_by_data\0\x03\ruse_animation\0\x05\x0Cmining_speed\0\0\x80?\x01\x0Eshould_despawn\x01\x01\x04foil\0\x03\x0Cuse_duration\0\x01\rhand_equipped\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\0" } ; pub const RED_CANDLE: Self = Self { id: -427, registry_key: "minecraft:red_candle", @@ -47809,7 +77541,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const ROTTEN_FLESH : Self = Self { id : 306 , registry_key : "minecraft:rotten_flesh" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x08\rcooldown_type\0\x08\x11using_converts_to\0\x03\tnutrition\x08\t\x07effects\n\x02\x03\tamplifier\0\x05\x06chance\xCD\xCCL?\x08\rdescriptionId\rpotion.hunger\x03\x02id\"\x03\x08duration<\x08\x04name\x06hunger\0\x03\ron_use_action\x01\x01\x0Ecan_always_eat\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\xCD\xCC\xCC=\x03\rcooldown_time\0\0\0" } ; + pub const ROTTEN_FLESH : Self = Self { id : 306 , registry_key : "minecraft:rotten_flesh" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\t\x07effects\n\x02\x03\x02id\"\x05\x06chance\xCD\xCCL?\x08\x04name\x06hunger\x03\tamplifier\0\x08\rdescriptionId\rpotion.hunger\x03\x08duration<\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\ron_use_action\x01\x01\x0Ecan_always_eat\0\x05\x13saturation_modifier\xCD\xCC\xCC=\x03\tnutrition\x08\x03\rcooldown_time\0\x08\rcooldown_type\0\x08\x11using_converts_to\0\0\x03\x16minecraft:use_duration@\0" } ; pub const SADDLE: Self = Self { id: 403, registry_key: "minecraft:saddle", @@ -47817,7 +77549,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const SALMON : Self = Self { id : 294 , registry_key : "minecraft:salmon" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x08\rcooldown_type\0\x03\ron_use_action\x01\x08\x11using_converts_to\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\xCD\xCC\xCC=\x03\tnutrition\x04\0\x03\x16minecraft:use_duration@\x01\x19minecraft:stacked_by_data\x01\0" } ; + pub const SALMON : Self = Self { id : 294 , registry_key : "minecraft:salmon" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\x01\x19minecraft:stacked_by_data\x01\n\x0Eminecraft:food\x03\ron_use_action\x01\x03\tnutrition\x04\x01\x0Ecan_always_eat\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\rcooldown_time\0\x08\x11using_converts_to\0\x05\x13saturation_modifier\xCD\xCC\xCC=\x08\rcooldown_type\0\0\0" } ; pub const SALMON_BUCKET: Self = Self { id: 397, registry_key: "minecraft:salmon_bucket", @@ -48378,7 +78110,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const SPIDER_EYE : Self = Self { id : 307 , registry_key : "minecraft:spider_eye" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x05\x13saturation_modifier\xCD\xCCL?\x08\x11using_converts_to\0\x03\tnutrition\x04\t\x07effects\n\x02\x03\tamplifier\0\x08\rdescriptionId\rpotion.poison\x03\x08duration\n\x03\x02id&\x08\x04name\x06poison\x05\x06chance\0\0\x80?\0\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\rcooldown_type\0\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\0\x03\x16minecraft:use_duration@\0" } ; + pub const SPIDER_EYE : Self = Self { id : 307 , registry_key : "minecraft:spider_eye" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\tnutrition\x04\x05\x13saturation_modifier\xCD\xCCL?\x08\rcooldown_type\0\t\x07effects\n\x02\x03\tamplifier\0\x05\x06chance\0\0\x80?\x08\rdescriptionId\rpotion.poison\x03\x08duration\n\x03\x02id&\x08\x04name\x06poison\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\x03\ron_use_action\x01\0\0" } ; pub const SPIDER_SPAWN_EGG: Self = Self { id: 479, registry_key: "minecraft:spider_spawn_egg", @@ -48743,7 +78475,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const STONE_SPEAR : Self = Self { id : 262 , registry_key : "minecraft:stone_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x19minecraft:piercing_weapon\x05\rhitbox_margin\0\0\x80>\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\0\n\x17minecraft:use_modifiers\x08\x0Bstart_using\x06always\x08\x0Bstart_sound\x14item.stone_spear.use\x01\x0Femit_vibrations\0\x05\x0Cuse_duration\0\xA0\x8CG\x05\x11movement_modifier\0\0\x80?\0\n\x12minecraft:cooldown\x05\x08duration\0\0@?\x08\x04type\x06attack\x08\x08category\x05spear\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x14minecraft:stone_tier\x12minecraft:is_spear\0\n\x18minecraft:swing_duration\x05\x05value\0\0@?\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\x05\rhitbox_margin\0\0\x80>\n\x14knockback_conditions\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed33\xA3@\x02\x0Cmax_duration\xB4\0\0\n\x13dismount_conditions\x05\tmin_speed\0\0PA\x05\x12min_relative_speed\0\0\0\0\x02\x0Cmax_durationZ\0\0\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\n\x11damage_conditions\x02\x0Cmax_duration\x13\x01\x05\x12min_relative_speed33\x93@\x05\tmin_speed\0\0\0\0\0\x05\x0Fdamage_modifier\0\0\0\0\x02\x05delay\x0E\0\x05\x11damage_multiplier\x85\xEBQ?\0\0\n\x14minecraft:durability\n\rdamage_chance\x03\x03min\0\x03\x03max\xC8\x01\0\x03\x0Emax_durability\x84\x02\0\t\titem_tags\x08\x04\x14minecraft:stone_tier\x12minecraft:is_spear\n\x16minecraft:display_name\x08\x05value\x15item.stone_spear.name\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\n\rrepair_amount\x02\x07version\r\0\x08\nexpression)context.other->query.remaining_durability\0\t\x05items\n\x02\x08\x04name\x15minecraft:stone_spear\0\0\t\x05items\n\x02\x08\x04tags,q.all_tags('minecraft:stone_tool_materials')\0\n\rrepair_amount\x02\x07version\r\0\x08\nexpression\x1Bquery.max_durability * 0.25\0\0\0\n\x10minecraft:damage\x02\x05value\x02\0\0\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Bitem.stone_spear.attack_hit\x08\x0Battack_miss\x1Citem.stone_spear.attack_miss\0\n\x0Fitem_properties\x08\x0Ecreative_group\0\x01\x17can_destroy_in_creative\x01\x01\x04foil\0\x01\x0Eliquid_clipped\0\x03\x11enchantable_value\n\x03\x0Emax_stack_size\x02\x05\x0Cmining_speed\0\0\x80?\x01\x0Fstacked_by_data\0\x03\x0Bframe_count\x02\x01\x12hidden_in_commands\x02\x01\x0Eallow_off_hand\0\x01\x0Eshould_despawn\x01\x08\x10enchantable_slot\x0Bmelee_spear\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Bstone_spear\0\0\x03\x11creative_category\x06\x03\ruse_animation\0\x01\rhand_equipped\x01\x03\x06damage\x04\x03\x0Cuse_duration\x80\xE4\xAF\x01\0\n\x15minecraft:enchantable\x01\x05value\x05\x08\x04slot\x0Bmelee_spear\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\0" } ; + pub const STONE_SPEAR : Self = Self { id : 262 , registry_key : "minecraft:stone_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x17minecraft:use_modifiers\x05\x0Cuse_duration\0\xA0\x8CG\x08\x0Bstart_using\x06always\x05\x11movement_modifier\0\0\x80?\x08\x0Bstart_sound\x14item.stone_spear.use\x01\x0Femit_vibrations\0\0\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Bitem.stone_spear.attack_hit\x08\x0Battack_miss\x1Citem.stone_spear.attack_miss\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x14minecraft:stone_tier\x12minecraft:is_spear\0\n\x14minecraft:durability\x03\x0Emax_durability\x84\x02\n\rdamage_chance\x03\x03min\0\x03\x03max\xC8\x01\0\0\t\titem_tags\x08\x04\x14minecraft:stone_tier\x12minecraft:is_spear\n\x10minecraft:damage\x02\x05value\x02\0\0\n\x0Fitem_properties\x01\x12hidden_in_commands\x02\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Bstone_spear\0\0\x01\x0Eliquid_clipped\0\x01\x0Eallow_off_hand\0\x01\x0Eshould_despawn\x01\x03\x0Cuse_duration\x80\xE4\xAF\x01\x03\x0Bframe_count\x02\x03\x0Emax_stack_size\x02\x03\x06damage\x04\x01\x17can_destroy_in_creative\x01\x08\x10enchantable_slot\x0Bmelee_spear\x03\x11creative_category\x06\x01\x04foil\0\x01\rhand_equipped\x01\x03\x11enchantable_value\n\x05\x0Cmining_speed\0\0\x80?\x08\x0Ecreative_group\0\x01\x0Fstacked_by_data\0\x03\ruse_animation\0\0\n\x19minecraft:piercing_weapon\x05\rhitbox_margin\0\0\x80>\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\x05\rhitbox_margin\0\0\x80>\n\x13dismount_conditions\x05\x12min_relative_speed\0\0\0\0\x02\x0Cmax_durationZ\0\x05\tmin_speed\0\0PA\0\x02\x05delay\x0E\0\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\n\x14knockback_conditions\x05\x12min_relative_speed\0\0\0\0\x02\x0Cmax_duration\xB4\0\x05\tmin_speed33\xA3@\0\x05\x0Fdamage_modifier\0\0\0\0\n\x11damage_conditions\x05\x12min_relative_speed33\x93@\x02\x0Cmax_duration\x13\x01\x05\tmin_speed\0\0\0\0\0\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\x05\x11damage_multiplier\x85\xEBQ?\0\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x18minecraft:swing_duration\x05\x05value\0\0@?\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\t\x05items\n\x02\x08\x04name\x15minecraft:stone_spear\0\n\rrepair_amount\x02\x07version\r\0\x08\nexpression)context.other->query.remaining_durability\0\0\t\x05items\n\x02\x08\x04tags,q.all_tags('minecraft:stone_tool_materials')\0\n\rrepair_amount\x02\x07version\r\0\x08\nexpression\x1Bquery.max_durability * 0.25\0\0\0\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\x05\0\n\x12minecraft:cooldown\x08\x08category\x05spear\x05\x08duration\0\0@?\x08\x04type\x06attack\0\n\x16minecraft:display_name\x08\x05value\x15item.stone_spear.name\0\0" } ; pub const STONE_STAIRS: Self = Self { id: 67, registry_key: "minecraft:stone_stairs", @@ -49101,8 +78833,8 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const SUSPICIOUS_STEW : Self = Self { id : 631 , registry_key : "minecraft:suspicious_stew" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x08\rcooldown_type\0\x01\x0Ecan_always_eat\x01\x08\x11using_converts_to\x04bowl\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\rcooldown_time\0\x03\ron_use_action\x02\x05\x13saturation_modifier\x9A\x99\x19?\x03\tnutrition\x0C\0\x03\x18minecraft:max_stack_size\x02\x03\x16minecraft:use_duration@\0" } ; - pub const SWEET_BERRIES : Self = Self { id : 316 , registry_key : "minecraft:sweet_berries" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\ron_use_action\x01\x03\tnutrition\x04\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\rcooldown_type\0\x05\x13saturation_modifier\x9A\x99\x99>\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x08\x11using_converts_to\0\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:seed\x08\x0Bcrop_result\x1Aminecraft:sweet_berry_bush\t\x08plant_at\x08\x14\x08farmland\x05grass\x04dirt\x0Bcoarse_dirt\x06podzol\nmoss_block\x08mycelium\x03mud\x14muddy_mangrove_roots\x0Fdirt_with_roots\x08\rplant_at_face\x02up\x01\x1Aplant_at_any_solid_surface\0\0\0" } ; + pub const SUSPICIOUS_STEW : Self = Self { id : 631 , registry_key : "minecraft:suspicious_stew" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\rcooldown_time\0\x05\x13saturation_modifier\x9A\x99\x19?\x03\ron_use_action\x02\x08\x11using_converts_to\x04bowl\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\tnutrition\x0C\x08\rcooldown_type\0\x01\x0Ecan_always_eat\x01\0\x03\x16minecraft:use_duration@\x03\x18minecraft:max_stack_size\x02\0" } ; + pub const SWEET_BERRIES : Self = Self { id : 316 , registry_key : "minecraft:sweet_berries" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\x08\rplant_at_face\x02up\t\x08plant_at\x08\x14\x08farmland\x05grass\x04dirt\x0Bcoarse_dirt\x06podzol\nmoss_block\x08mycelium\x03mud\x14muddy_mangrove_roots\x0Fdirt_with_roots\x08\x0Bcrop_result\x1Aminecraft:sweet_berry_bush\x01\x1Aplant_at_any_solid_surface\0\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x05\x13saturation_modifier\x9A\x99\x99>\x03\tnutrition\x04\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\x08\rcooldown_type\0\x03\rcooldown_time\0\0\0" } ; pub const SWEET_BERRY_BUSH: Self = Self { id: -207, registry_key: "minecraft:sweet_berry_bush", @@ -49201,7 +78933,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const TORCHFLOWER_SEEDS : Self = Self { id : 325 , registry_key : "minecraft:torchflower_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\x01\x1Aplant_at_any_solid_surface\0\t\x08plant_at\x08\x02\x12minecraft:farmland\x08\x0Bcrop_result\x1Aminecraft:torchflower_crop\x08\rplant_at_face\x02up\0\0" } ; + pub const TORCHFLOWER_SEEDS : Self = Self { id : 325 , registry_key : "minecraft:torchflower_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\x08\x0Bcrop_result\x1Aminecraft:torchflower_crop\t\x08plant_at\x08\x02\x12minecraft:farmland\x08\rplant_at_face\x02up\x01\x1Aplant_at_any_solid_surface\0\0\0" } ; pub const TOTEM_OF_UNDYING: Self = Self { id: 607, registry_key: "minecraft:totem_of_undying", @@ -49230,7 +78962,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const TRIAL_KEY : Self = Self { id : 283 , registry_key : "minecraft:trial_key" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x16minecraft:display_name\x08\x05value\x13item.trial_key.name\0\t\titem_tags\0\0\n\x0Fitem_properties\x01\x17can_destroy_in_creative\x01\x03\x06damage\0\x03\x11creative_category\x08\x03\x11enchantable_value\0\x05\x0Cmining_speed\0\0\x80?\x01\x0Eshould_despawn\x01\x01\x0Eallow_off_hand\0\x01\x0Fstacked_by_data\0\x08\x0Ecreative_group\0\x03\x0Emax_stack_size\x80\x01\x03\x0Cuse_duration\0\x01\x12hidden_in_commands\x02\x01\rhand_equipped\0\x08\x10enchantable_slot\x04none\x03\x0Bframe_count\x02\x03\ruse_animation\0\x01\x04foil\0\x01\x0Eliquid_clipped\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\ttrial_key\0\0\0\0" } ; + pub const TRIAL_KEY : Self = Self { id : 283 , registry_key : "minecraft:trial_key" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\t\titem_tags\0\0\n\x16minecraft:display_name\x08\x05value\x13item.trial_key.name\0\n\x0Fitem_properties\x01\x0Eliquid_clipped\0\x01\x04foil\0\x03\x11creative_category\x08\x01\x17can_destroy_in_creative\x01\x03\x06damage\0\x01\rhand_equipped\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\ttrial_key\0\0\x01\x12hidden_in_commands\x02\x01\x0Eallow_off_hand\0\x03\x0Emax_stack_size\x80\x01\x03\x11enchantable_value\0\x05\x0Cmining_speed\0\0\x80?\x03\x0Cuse_duration\0\x08\x0Ecreative_group\0\x03\x0Bframe_count\x02\x03\ruse_animation\0\x08\x10enchantable_slot\x04none\x01\x0Eshould_despawn\x01\x01\x0Fstacked_by_data\0\0\0" } ; pub const TRIAL_SPAWNER: Self = Self { id: -315, registry_key: "minecraft:trial_spawner", @@ -49259,7 +78991,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const TROPICAL_FISH : Self = Self { id : 295 , registry_key : "minecraft:tropical_fish" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x08\rcooldown_type\0\x03\rcooldown_time\0\x08\x11using_converts_to\0\x05\x13saturation_modifier\xCD\xCC\xCC=\x03\ron_use_action\x01\x01\x0Ecan_always_eat\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\tnutrition\x02\0\x01\x19minecraft:stacked_by_data\x01\0" } ; + pub const TROPICAL_FISH : Self = Self { id : 295 , registry_key : "minecraft:tropical_fish" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\tnutrition\x02\x08\rcooldown_type\0\x01\x0Ecan_always_eat\0\x03\ron_use_action\x01\x05\x13saturation_modifier\xCD\xCC\xCC=\x03\rcooldown_time\0\x08\x11using_converts_to\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\x01\x19minecraft:stacked_by_data\x01\x03\x16minecraft:use_duration@\0" } ; pub const TROPICAL_FISH_BUCKET: Self = Self { id: 398, registry_key: "minecraft:tropical_fish_bucket", @@ -50310,8 +80042,8 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const WHEAT_SEEDS : Self = Self { id : 320 , registry_key : "minecraft:wheat_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\x01\x1Aplant_at_any_solid_surface\0\t\x08plant_at\x08\x02\x12minecraft:farmland\x08\rplant_at_face\x02up\x08\x0Bcrop_result\x0Fminecraft:wheat\0\0" } ; - pub const WHITE_BUNDLE : Self = Self { id : 279 , registry_key : "minecraft:white_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x0Fitem_properties\x03\ruse_animation\0\x03\x11enchantable_value\0\x08\x10enchantable_slot\x04none\x03\x11creative_category\x06\x01\x0Eshould_despawn\x01\x01\x0Eallow_off_hand\0\x01\x0Eliquid_clipped\0\x03\x0Bframe_count\x02\x01\x04foil\0\x05\x0Cmining_speed\0\0\x80?\x01\x17can_destroy_in_creative\x01\x01\x12hidden_in_commands\x02\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x16bundle_white_open_back\x08\x07default\x0Cbundle_white\x08\x11bundle_open_front\x17bundle_white_open_front\0\0\x01\x0Fstacked_by_data\0\x01\rhand_equipped\0\x08\x0Ecreative_group\0\x03\x0Emax_stack_size\x02\x03\x06damage\0\x03\x0Cuse_duration\0\0\n\x16minecraft:storage_item\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\t\rallowed_items\0\0\x01\x1Aallow_nested_storage_items\x01\x03\tmax_slots\x80\x01\0\t\titem_tags\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\0" } ; + pub const WHEAT_SEEDS : Self = Self { id : 320 , registry_key : "minecraft:wheat_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\x08\x0Bcrop_result\x0Fminecraft:wheat\t\x08plant_at\x08\x02\x12minecraft:farmland\x08\rplant_at_face\x02up\x01\x1Aplant_at_any_solid_surface\0\0\0" } ; + pub const WHITE_BUNDLE : Self = Self { id : 279 , registry_key : "minecraft:white_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\t\titem_tags\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x0Fitem_properties\x01\rhand_equipped\0\x01\x17can_destroy_in_creative\x01\x03\ruse_animation\0\x01\x0Eallow_off_hand\0\x01\x0Eshould_despawn\x01\x01\x12hidden_in_commands\x02\x08\x0Ecreative_group\0\x03\x0Emax_stack_size\x02\x03\x06damage\0\x05\x0Cmining_speed\0\0\x80?\x01\x0Eliquid_clipped\0\x01\x0Fstacked_by_data\0\x01\x04foil\0\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x17bundle_white_open_front\x08\x10bundle_open_back\x16bundle_white_open_back\x08\x07default\x0Cbundle_white\0\0\x08\x10enchantable_slot\x04none\x03\x0Bframe_count\x02\x03\x0Cuse_duration\0\x03\x11creative_category\x06\x03\x11enchantable_value\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:storage_item\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\t\rallowed_items\0\0\x03\tmax_slots\x80\x01\x01\x1Aallow_nested_storage_items\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\0" } ; pub const WHITE_CANDLE: Self = Self { id: -413, registry_key: "minecraft:white_candle", @@ -50424,7 +80156,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const WIND_CHARGE : Self = Self { id : 284 , registry_key : "minecraft:wind_charge" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\t\titem_tags\0\0\n\x0Fitem_properties\x05\x0Cmining_speed\0\0\x80?\x03\x06damage\0\x01\x0Eshould_despawn\x01\x01\x17can_destroy_in_creative\x01\x03\x11enchantable_value\0\x01\x0Eallow_off_hand\0\x08\x10enchantable_slot\x04none\x03\x0Bframe_count\x02\x01\rhand_equipped\0\x01\x12hidden_in_commands\x02\x01\x0Eliquid_clipped\0\x03\x0Emax_stack_size\x80\x01\x01\x0Fstacked_by_data\0\x08\x0Ecreative_group\0\x01\x04foil\0\x03\x11creative_category\x06\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Bwind_charge\0\0\x03\ruse_animation\0\x03\x0Cuse_duration\0\0\n\x12minecraft:cooldown\x08\x08category\x0Bwind_charge\x08\x04type\x03use\x05\x08duration\0\0\0?\0\n\x16minecraft:display_name\x08\x05value\x15item.wind_charge.name\0\n\x14minecraft:projectile\x05\x16minimum_critical_power\0\0\0\0\x08\x11projectile_entity\"minecraft:wind_charge_projectile<>\0\n\x13minecraft:throwable\x05\x11max_draw_duration\0\0\0\0\x01\x12do_swing_animation\x01\x05\x12launch_power_scale\0\0\xC0?\x05\x10max_launch_power\0\0\xC0?\x01\x1Cscale_power_by_draw_duration\0\x05\x11min_draw_duration\0\0\0\0\0\0" } ; + pub const WIND_CHARGE : Self = Self { id : 284 , registry_key : "minecraft:wind_charge" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x16minecraft:display_name\x08\x05value\x15item.wind_charge.name\0\n\x12minecraft:cooldown\x05\x08duration\0\0\0?\x08\x04type\x03use\x08\x08category\x0Bwind_charge\0\t\titem_tags\0\0\n\x13minecraft:throwable\x05\x11max_draw_duration\0\0\0\0\x05\x10max_launch_power\0\0\xC0?\x05\x11min_draw_duration\0\0\0\0\x01\x12do_swing_animation\x01\x01\x1Cscale_power_by_draw_duration\0\x05\x12launch_power_scale\0\0\xC0?\0\n\x0Fitem_properties\x01\x0Fstacked_by_data\0\x03\x0Bframe_count\x02\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Bwind_charge\0\0\x01\rhand_equipped\0\x01\x17can_destroy_in_creative\x01\x08\x0Ecreative_group\0\x03\x11creative_category\x06\x01\x0Eliquid_clipped\0\x01\x0Eallow_off_hand\0\x08\x10enchantable_slot\x04none\x01\x0Eshould_despawn\x01\x01\x04foil\0\x01\x12hidden_in_commands\x02\x03\x11enchantable_value\0\x03\x0Emax_stack_size\x80\x01\x05\x0Cmining_speed\0\0\x80?\x03\ruse_animation\0\x03\x0Cuse_duration\0\x03\x06damage\0\0\n\x14minecraft:projectile\x05\x16minimum_critical_power\0\0\0\0\x08\x11projectile_entity\"minecraft:wind_charge_projectile<>\0\0" } ; pub const WITCH_SPAWN_EGG: Self = Self { id: 485, registry_key: "minecraft:witch_spawn_egg", @@ -50537,7 +80269,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const WOODEN_SPEAR : Self = Self { id : 263 , registry_key : "minecraft:wooden_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x18minecraft:swing_duration\x05\x05valueff&?\0\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Citem.wooden_spear.attack_hit\x08\x0Battack_miss\x1Ditem.wooden_spear.attack_miss\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\x05\rhitbox_margin\0\0\x80>\n\x13dismount_conditions\x05\tmin_speed\0\0`A\x02\x0Cmax_durationd\0\x05\x12min_relative_speed\0\0\0\0\0\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\n\x11damage_conditions\x02\x0Cmax_duration,\x01\x05\tmin_speed\0\0\0\0\x05\x12min_relative_speed33\x93@\0\n\x14knockback_conditions\x02\x0Cmax_duration\xC8\0\x05\tmin_speed33\xA3@\x05\x12min_relative_speed\0\0\0\0\0\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\x02\x05delay\x0F\0\x05\x0Fdamage_modifier\0\0\0\0\x05\x11damage_multiplier333?\0\0\t\titem_tags\x08\x04\x15minecraft:wooden_tier\x12minecraft:is_spear\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\x0F\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x15minecraft:wooden_tier\x12minecraft:is_spear\0\n\x12minecraft:cooldown\x05\x08durationff&?\x08\x04type\x06attack\x08\x08category\x05spear\0\n\x0Eminecraft:fuel\x05\x08duration\0\0 A\0\n\x10minecraft:damage\x02\x05value\x01\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x19minecraft:piercing_weapon\x05\rhitbox_margin\0\0\x80>\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\0\n\x0Fitem_properties\x01\x12hidden_in_commands\x02\x08\x0Ecreative_group\0\x03\x11creative_category\x06\x01\x0Eallow_off_hand\0\x01\x04foil\0\x05\x0Cmining_speed\0\0\x80?\x01\x0Eshould_despawn\x01\x03\x0Emax_stack_size\x02\n\x0Eminecraft:icon\n\x08textures\x08\x07default\nwood_spear\0\0\x03\ruse_animation\0\x01\x0Eliquid_clipped\0\x01\x17can_destroy_in_creative\x01\x03\x11enchantable_value\x1E\x03\x06damage\x02\x03\x0Bframe_count\x02\x08\x10enchantable_slot\x0Bmelee_spear\x01\x0Fstacked_by_data\0\x01\rhand_equipped\x01\x03\x0Cuse_duration\x80\xE4\xAF\x01\0\n\x14minecraft:durability\n\rdamage_chance\x03\x03max\xC8\x01\x03\x03min\0\0\x03\x0Emax_durabilityx\0\n\x16minecraft:display_name\x08\x05value\x16item.wooden_spear.name\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\t\x05items\n\x02\x08\x04name\x16minecraft:wooden_spear\0\n\rrepair_amount\x08\nexpression)context.other->query.remaining_durability\x02\x07version\r\0\0\0\n\rrepair_amount\x02\x07version\r\0\x08\nexpression\x1Bquery.max_durability * 0.25\0\t\x05items\n\x02\x08\x04tags\x1Eq.all_tags('minecraft:planks')\0\0\0\n\x17minecraft:use_modifiers\x05\x11movement_modifier\0\0\x80?\x08\x0Bstart_using\x06always\x08\x0Bstart_sound\x15item.wooden_spear.use\x05\x0Cuse_duration\0\xA0\x8CG\x01\x0Femit_vibrations\0\0\0" } ; + pub const WOODEN_SPEAR : Self = Self { id : 263 , registry_key : "minecraft:wooden_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\x0F\0\n\x19minecraft:piercing_weapon\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\x05\rhitbox_margin\0\0\x80>\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\0\n\x12minecraft:cooldown\x05\x08durationff&?\x08\x04type\x06attack\x08\x08category\x05spear\0\n\x0Eminecraft:fuel\x05\x08duration\0\0 A\0\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Citem.wooden_spear.attack_hit\x08\x0Battack_miss\x1Ditem.wooden_spear.attack_miss\0\n\x18minecraft:swing_duration\x05\x05valueff&?\0\t\titem_tags\x08\x04\x15minecraft:wooden_tier\x12minecraft:is_spear\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x15minecraft:wooden_tier\x12minecraft:is_spear\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\n\x14knockback_conditions\x05\tmin_speed33\xA3@\x05\x12min_relative_speed\0\0\0\0\x02\x0Cmax_duration\xC8\0\0\x05\rhitbox_margin\0\0\x80>\x05\x0Fdamage_modifier\0\0\0\0\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\n\x13dismount_conditions\x05\tmin_speed\0\0`A\x02\x0Cmax_durationd\0\x05\x12min_relative_speed\0\0\0\0\0\x05\x11damage_multiplier333?\x02\x05delay\x0F\0\n\x11damage_conditions\x05\x12min_relative_speed33\x93@\x05\tmin_speed\0\0\0\0\x02\x0Cmax_duration,\x01\0\0\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x17minecraft:use_modifiers\x01\x0Femit_vibrations\0\x08\x0Bstart_using\x06always\x08\x0Bstart_sound\x15item.wooden_spear.use\x05\x11movement_modifier\0\0\x80?\x05\x0Cuse_duration\0\xA0\x8CG\0\n\x16minecraft:display_name\x08\x05value\x16item.wooden_spear.name\0\n\x14minecraft:durability\n\rdamage_chance\x03\x03min\0\x03\x03max\xC8\x01\0\x03\x0Emax_durabilityx\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\t\x05items\n\x02\x08\x04name\x16minecraft:wooden_spear\0\n\rrepair_amount\x08\nexpression)context.other->query.remaining_durability\x02\x07version\r\0\0\0\t\x05items\n\x02\x08\x04tags\x1Eq.all_tags('minecraft:planks')\0\n\rrepair_amount\x02\x07version\r\0\x08\nexpression\x1Bquery.max_durability * 0.25\0\0\0\n\x10minecraft:damage\x02\x05value\x01\0\0\n\x0Fitem_properties\x03\x11enchantable_value\x1E\x01\x0Eshould_despawn\x01\x08\x0Ecreative_group\0\x01\x04foil\0\x08\x10enchantable_slot\x0Bmelee_spear\x01\x17can_destroy_in_creative\x01\x03\x11creative_category\x06\x01\rhand_equipped\x01\x03\x06damage\x02\x03\x0Bframe_count\x02\x01\x12hidden_in_commands\x02\x03\x0Emax_stack_size\x02\x01\x0Fstacked_by_data\0\x01\x0Eallow_off_hand\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\nwood_spear\0\0\x03\ruse_animation\0\x01\x0Eliquid_clipped\0\x03\x0Cuse_duration\x80\xE4\xAF\x01\x05\x0Cmining_speed\0\0\x80?\0\0" } ; pub const WOODEN_SWORD: Self = Self { id: 339, registry_key: "minecraft:wooden_sword", @@ -50566,7 +80298,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const YELLOW_BUNDLE : Self = Self { id : 280 , registry_key : "minecraft:yellow_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\t\titem_tags\0\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x0Fitem_properties\x08\x10enchantable_slot\x04none\x03\ruse_animation\0\x03\x11creative_category\x06\x01\x0Eshould_despawn\x01\x03\x0Bframe_count\x02\x03\x0Cuse_duration\0\x01\x0Eallow_off_hand\0\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x18bundle_yellow_open_front\x08\x10bundle_open_back\x17bundle_yellow_open_back\x08\x07default\rbundle_yellow\0\0\x03\x11enchantable_value\0\x01\rhand_equipped\0\x01\x04foil\0\x05\x0Cmining_speed\0\0\x80?\x01\x0Fstacked_by_data\0\x01\x0Eliquid_clipped\0\x03\x06damage\0\x01\x17can_destroy_in_creative\x01\x08\x0Ecreative_group\0\x03\x0Emax_stack_size\x02\x01\x12hidden_in_commands\x02\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x16minecraft:storage_item\t\rallowed_items\0\0\x01\x1Aallow_nested_storage_items\x01\x03\tmax_slots\x80\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\0\0" } ; + pub const YELLOW_BUNDLE : Self = Self { id : 280 , registry_key : "minecraft:yellow_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\t\titem_tags\0\0\n\x0Fitem_properties\x03\x11enchantable_value\0\x03\x11creative_category\x06\x08\x10enchantable_slot\x04none\x03\x0Bframe_count\x02\x01\rhand_equipped\0\x01\x0Eliquid_clipped\0\x01\x0Eallow_off_hand\0\x03\x0Emax_stack_size\x02\x01\x17can_destroy_in_creative\x01\x01\x12hidden_in_commands\x02\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x18bundle_yellow_open_front\x08\x10bundle_open_back\x17bundle_yellow_open_back\x08\x07default\rbundle_yellow\0\0\x01\x0Eshould_despawn\x01\x03\ruse_animation\0\x03\x06damage\0\x03\x0Cuse_duration\0\x01\x0Fstacked_by_data\0\x08\x0Ecreative_group\0\x01\x04foil\0\x05\x0Cmining_speed\0\0\x80?\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:storage_item\x01\x1Aallow_nested_storage_items\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\t\rallowed_items\0\0\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\0" } ; pub const YELLOW_CANDLE: Self = Self { id: -417, registry_key: "minecraft:yellow_candle", diff --git a/pumpkin-protocol/src/codec/data_component.rs b/pumpkin-protocol/src/codec/data_component.rs index 21496106e..5248fde96 100644 --- a/pumpkin-protocol/src/codec/data_component.rs +++ b/pumpkin-protocol/src/codec/data_component.rs @@ -4,11 +4,18 @@ use crate::codec::var_int::VarInt; use pumpkin_data::Enchantment; use pumpkin_data::data_component::DataComponent; use pumpkin_data::data_component_impl::{ - BundleContentsImpl, ConsumableImpl, ConsumeAnimation, ConsumeEffect, CustomDataImpl, - CustomNameImpl, DamageImpl, DataComponentImpl, EnchantmentsImpl, EquipmentSlot, EquippableImpl, - FireworkExplosionImpl, FireworkExplosionShape, FireworksImpl, IDSet, IDSetContent, IdOr, - ItemModelImpl, MapIdImpl, MaxStackSizeImpl, PotionContentsImpl, SoundEvent, - StatusEffectInstance, StoredEnchantmentsImpl, UnbreakableImpl, UseCooldownImpl, get, + AxolotlVariantImpl, BundleContentsImpl, CatCollarImpl, CatSoundVariantImpl, CatVariantImpl, + ChickenSoundVariantImpl, ChickenVariantImpl, ConsumableImpl, ConsumeAnimation, ConsumeEffect, + CowSoundVariantImpl, CowVariantImpl, CustomDataImpl, CustomNameImpl, DamageImpl, + DataComponentImpl, EnchantmentsImpl, EquipmentSlot, EquippableImpl, FireworkExplosionImpl, + FireworkExplosionShape, FireworksImpl, FoxVariantImpl, FrogVariantImpl, HorseVariantImpl, + IDSet, IDSetContent, IdOr, ItemModelImpl, LlamaVariantImpl, MapIdImpl, MaxStackSizeImpl, + MooshroomVariantImpl, PaintingVariantImpl, ParrotVariantImpl, PigSoundVariantImpl, + PigVariantImpl, PotionContentsImpl, RabbitVariantImpl, SalmonSizeImpl, SheepColorImpl, + ShulkerColorImpl, SoundEvent, StatusEffectInstance, StoredEnchantmentsImpl, + TropicalFishBaseColorImpl, TropicalFishPatternColorImpl, TropicalFishPatternImpl, + UnbreakableImpl, UseCooldownImpl, VillagerVariantImpl, WolfCollarImpl, WolfSoundVariantImpl, + WolfVariantImpl, ZombieNautilusVariantImpl, get, }; use pumpkin_data::effect::StatusEffect; use pumpkin_data::entity::EntityType; @@ -337,14 +344,14 @@ impl DataComponentCodec for UnbreakableImpl { impl DataComponentCodec for ItemModelImpl { fn serialize(&self, seq: &mut T) -> Result<(), T::Error> { - seq.serialize_field::("", &self.id) + seq.serialize_field("", &self.id) } fn deserialize<'a, A: SeqAccess<'a>>(seq: &mut A) -> Result { let id = seq .next_element::()? .ok_or(de::Error::custom("No ItemModelImpl id string!"))?; - Ok(Self { id }) + Ok(Self { id: Cow::Owned(id) }) } } @@ -403,7 +410,7 @@ impl serde::Serialize for NetworkNbtTag { impl DataComponentCodec for ConsumableImpl { fn serialize(&self, seq: &mut T) -> Result<(), T::Error> { seq.serialize_field::("", &self.consume_seconds)?; - seq.serialize_field::("", &VarInt(self.animation.clone() as i32))?; + seq.serialize_field::("", &VarInt(self.animation as i32))?; seq.serialize_field::>( "", &data_to_proto_sound(&self.sound_event), @@ -1088,3 +1095,55 @@ impl DataComponentCodec for BundleContentsImpl { Ok(Self { items }) } } + +macro_rules! codec_string_variant { + ($struct_name:ident) => { + impl DataComponentCodec for $struct_name { + fn serialize(&self, seq: &mut T) -> Result<(), T::Error> { + seq.serialize_field("", &self.value) + } + fn deserialize<'a, A: SeqAccess<'a>>(seq: &mut A) -> Result { + let value = seq + .next_element::()? + .ok_or(de::Error::custom(concat!( + "No ", + stringify!($struct_name), + " value string!" + )))?; + Ok(Self { + value: Cow::Owned(value), + }) + } + } + }; +} + +codec_string_variant!(VillagerVariantImpl); +codec_string_variant!(WolfVariantImpl); +codec_string_variant!(WolfSoundVariantImpl); +codec_string_variant!(WolfCollarImpl); +codec_string_variant!(FoxVariantImpl); +codec_string_variant!(SalmonSizeImpl); +codec_string_variant!(ParrotVariantImpl); +codec_string_variant!(TropicalFishPatternImpl); +codec_string_variant!(TropicalFishBaseColorImpl); +codec_string_variant!(TropicalFishPatternColorImpl); +codec_string_variant!(MooshroomVariantImpl); +codec_string_variant!(RabbitVariantImpl); +codec_string_variant!(PigVariantImpl); +codec_string_variant!(PigSoundVariantImpl); +codec_string_variant!(CowVariantImpl); +codec_string_variant!(CowSoundVariantImpl); +codec_string_variant!(ChickenVariantImpl); +codec_string_variant!(ChickenSoundVariantImpl); +codec_string_variant!(ZombieNautilusVariantImpl); +codec_string_variant!(FrogVariantImpl); +codec_string_variant!(HorseVariantImpl); +codec_string_variant!(PaintingVariantImpl); +codec_string_variant!(LlamaVariantImpl); +codec_string_variant!(AxolotlVariantImpl); +codec_string_variant!(CatVariantImpl); +codec_string_variant!(CatSoundVariantImpl); +codec_string_variant!(CatCollarImpl); +codec_string_variant!(SheepColorImpl); +codec_string_variant!(ShulkerColorImpl); diff --git a/pumpkin/src/entity/living.rs b/pumpkin/src/entity/living.rs index bd667a94d..403cd959a 100644 --- a/pumpkin/src/entity/living.rs +++ b/pumpkin/src/entity/living.rs @@ -39,13 +39,14 @@ use pumpkin_data::attributes::Attributes; use pumpkin_data::damage::DeathMessageType; use pumpkin_data::data_component_impl::Operation; use pumpkin_data::data_component_impl::{ - BlocksAttacksImpl, DeathProtectionImpl, EquipmentSlot, EquippableImpl, FoodImpl, + AttributeModifiersImpl, BlocksAttacksImpl, DeathProtectionImpl, EnchantmentsImpl, + EquipmentSlot, EquippableImpl, FoodImpl, }; use pumpkin_data::effect::StatusEffect; use pumpkin_data::entity::{EntityPose, EntityStatus, EntityType}; use pumpkin_data::item_stack::{DamageResult, ItemStack}; use pumpkin_data::sound::SoundCategory; -use pumpkin_data::{Block, translation}; +use pumpkin_data::{Block, Enchantment, translation}; use pumpkin_data::{damage::DamageType, sound::Sound}; use pumpkin_inventory::entity_equipment::EntityEquipment; use pumpkin_nbt::compound::NbtCompound; @@ -2031,10 +2032,105 @@ impl EntityBase for LivingEntity { let bypasses_cooldown_protection = damage_type == DamageType::GENERIC_KILL || damage_type == DamageType::OUT_OF_WORLD; + let mut damage_after_armor = amount; + if !bypasses_armor_durability(&damage_type) { + let mut armor = 0.0f32; + let mut toughness = 0.0f32; + { + let equipment_lock = self.entity_equipment.lock().await; + for slot in [ + EquipmentSlot::HEAD, + EquipmentSlot::CHEST, + EquipmentSlot::LEGS, + EquipmentSlot::FEET, + ] { + let stack_arc = equipment_lock.get(&slot); + let stack = stack_arc.lock().await; + if !stack.is_empty() + && let Some(modifiers) = + stack.get_data_component::() + { + for modifier in modifiers.attribute_modifiers.iter() { + if modifier.r#type == &Attributes::ARMOR { + armor += modifier.amount as f32; + } else if modifier.r#type == &Attributes::ARMOR_TOUGHNESS { + toughness += modifier.amount as f32; + } + } + } + } + } + let value = 2.0f32 + toughness / 4.0; + let clamped_armor = (armor - damage_after_armor / value) + .max(armor / 5.0) + .min(20.0); + damage_after_armor *= 1.0 - clamped_armor / 25.0; + } + + let mut damage_after_enchantments = damage_after_armor; + if damage_type != DamageType::OUT_OF_WORLD { + let mut epf = 0i32; + { + let equipment_lock = self.entity_equipment.lock().await; + for slot in [ + EquipmentSlot::HEAD, + EquipmentSlot::CHEST, + EquipmentSlot::LEGS, + EquipmentSlot::FEET, + ] { + let stack_arc = equipment_lock.get(&slot); + let stack = stack_arc.lock().await; + if !stack.is_empty() + && let Some(enchantments) = + stack.get_data_component::() + { + for (enchantment, level) in enchantments.enchantment.iter() { + let mut factor = 0; + let enc = *enchantment; + if enc == &Enchantment::PROTECTION { + if damage_type != DamageType::DROWN + && damage_type != DamageType::STARVE + && damage_type != DamageType::GENERIC_KILL + { + factor = *level; + } + } else if enc == &Enchantment::FIRE_PROTECTION { + if is_fire_damage { + factor = *level * 2; + } + } else if enc == &Enchantment::BLAST_PROTECTION { + if damage_type == DamageType::EXPLOSION + || damage_type == DamageType::PLAYER_EXPLOSION + { + factor = *level * 2; + } + } else if enc == &Enchantment::PROJECTILE_PROTECTION { + if damage_type == DamageType::ARROW + || damage_type == DamageType::MOB_PROJECTILE + || damage_type == DamageType::THROWN + { + factor = (*level) * 2; + } + } else if enc == &Enchantment::FEATHER_FALLING + && damage_type == DamageType::FALL + { + factor = (*level) * 4; + } + epf += factor; + } + } + } + } + epf = epf.min(20); + if epf > 0 { + damage_after_enchantments *= 1.0 - (epf as f32 * 0.04); + } + } + // Apply Resistance effect reduction (20% per level), excluding bypasses_cooldown_protection and starvation damage let resistance_reduction = if !bypasses_cooldown_protection && damage_type != DamageType::STARVE { - self.get_effect(&pumpkin_data::effect::StatusEffect::RESISTANCE) + self.get_effect(&StatusEffect::RESISTANCE) .await .map_or(0.0, |e| 0.2 * (e.amplifier + 1) as f32) } else { @@ -2042,10 +2138,10 @@ impl EntityBase for LivingEntity { }; // Total damage after reductions - let effective_amount = amount * (1.0 - resistance_reduction); + let effective_amount = damage_after_enchantments * (1.0 - resistance_reduction); if resistance_reduction > 0.0 { - let resisted = amount * resistance_reduction; + let resisted = damage_after_enchantments * resistance_reduction; if let Some(player) = caller.get_player() { player .increment_stat( diff --git a/pumpkin/src/entity/mob/mod.rs b/pumpkin/src/entity/mob/mod.rs index fc072ccd1..1c72324b1 100644 --- a/pumpkin/src/entity/mob/mod.rs +++ b/pumpkin/src/entity/mob/mod.rs @@ -487,8 +487,34 @@ pub trait Mob: EntityBase + Send + Sync { fn get_base_experience_reward(&self) -> u32 { self.get_entity().entity_type.experience_reward } + + fn mob_init_data_tracker(&self) -> EntityBaseFuture<'_, ()> { + Box::pin(async move { + let entity = self.get_entity(); + let is_baby = entity.age.load(std::sync::atomic::Ordering::Relaxed) < 0; + if is_baby { + entity.send_meta_data(&[Metadata::new( + TrackedData::BABY_ID, + MetaDataType::BOOLEAN, + true, + )]); + } + }) + } + + fn mob_set_variant_name(&self, _name: &str) {} } impl EntityBase for T { + fn init_data_tracker(&self) -> EntityBaseFuture<'_, ()> { + Box::pin(async move { + self.mob_init_data_tracker().await; + }) + } + + fn set_variant_name(&self, name: &str) { + self.mob_set_variant_name(name); + } + fn tick<'a>( &'a self, caller: &'a Arc, diff --git a/pumpkin/src/entity/mod.rs b/pumpkin/src/entity/mod.rs index 7c4efd15b..c1876ed9f 100644 --- a/pumpkin/src/entity/mod.rs +++ b/pumpkin/src/entity/mod.rs @@ -187,6 +187,7 @@ pub trait EntityBase: Send + Sync + NBTStorage + std::any::Any { } }) } + fn set_variant_name(&self, _name: &str) {} // This method takes ownership of Arc, so the lifetime bounds are different. fn teleport( diff --git a/pumpkin/src/entity/passive/cat.rs b/pumpkin/src/entity/passive/cat.rs index 118cfe8c3..c963af14b 100644 --- a/pumpkin/src/entity/passive/cat.rs +++ b/pumpkin/src/entity/passive/cat.rs @@ -1,9 +1,18 @@ -use std::sync::{Arc, Weak}; +use std::sync::{ + Arc, Weak, + atomic::{AtomicU8, Ordering}, +}; -use pumpkin_data::{entity::EntityType, item::Item}; +use pumpkin_data::entity::EntityType; +use pumpkin_data::item::Item; +use pumpkin_data::meta_data_type::MetaDataType; +use pumpkin_data::tracked_data::TrackedData; +use pumpkin_nbt::compound::NbtCompound; +use pumpkin_protocol::codec::var_int::VarInt; +use pumpkin_protocol::java::client::play::Metadata; use crate::entity::{ - Entity, NBTStorage, + Entity, EntityBase, EntityBaseFuture, NBTStorage, NbtFuture, ai::goal::{ breed::BreedGoal, escape_danger::EscapeDangerGoal, follow_parent::FollowParentGoal, look_around::RandomLookAroundGoal, look_at_entity::LookAtEntityGoal, swim::SwimGoal, @@ -14,17 +23,18 @@ use crate::entity::{ const TEMPT_ITEMS: &[&Item] = &[&Item::COD, &Item::SALMON]; -/// Represents a Cat, a passive mob that can be tamed and scares away creepers. -/// -/// Wiki: pub struct CatEntity { pub mob_entity: MobEntity, + pub variant: AtomicU8, } impl CatEntity { pub fn new(entity: Entity) -> Arc { let mob_entity = MobEntity::new(entity); - let cat = Self { mob_entity }; + let cat = Self { + mob_entity, + variant: AtomicU8::new(9), // Default to tabby + }; let mob_arc = Arc::new(cat); let mob_weak: Weak = { let mob_arc: Arc = mob_arc.clone(); @@ -53,10 +63,91 @@ impl CatEntity { } } -impl NBTStorage for CatEntity {} +impl NBTStorage for CatEntity { + fn write_nbt<'a>(&'a self, nbt: &'a mut NbtCompound) -> NbtFuture<'a, ()> { + Box::pin(async { + self.mob_entity.living_entity.write_nbt(nbt).await; + let variant_str = match self.variant.load(Ordering::Relaxed) { + 0 => "minecraft:all_black", + 1 => "minecraft:black", + 2 => "minecraft:british_shorthair", + 3 => "minecraft:calico", + 4 => "minecraft:jellie", + 5 => "minecraft:persian", + 6 => "minecraft:ragdoll", + 7 => "minecraft:red", + 8 => "minecraft:siamese", + 10 => "minecraft:white", + _ => "minecraft:tabby", + }; + nbt.put_string("variant", variant_str.to_string()); + }) + } + + fn read_nbt_non_mut<'a>(&'a self, nbt: &'a NbtCompound) -> NbtFuture<'a, ()> { + Box::pin(async { + self.mob_entity.living_entity.read_nbt_non_mut(nbt).await; + if let Some(variant_str) = nbt.get_string("variant") { + let variant = match variant_str + .strip_prefix("minecraft:") + .unwrap_or(variant_str) + { + "all_black" => 0, + "black" => 1, + "british_shorthair" => 2, + "calico" => 3, + "jellie" => 4, + "persian" => 5, + "ragdoll" => 6, + "red" => 7, + "siamese" => 8, + "white" => 10, + _ => 9, + }; + self.variant.store(variant, Ordering::Relaxed); + } + }) + } +} impl Mob for CatEntity { fn get_mob_entity(&self) -> &MobEntity { &self.mob_entity } + + fn mob_set_variant_name(&self, name: &str) { + let variant = match name.strip_prefix("minecraft:").unwrap_or(name) { + "all_black" => 0, + "black" => 1, + "british_shorthair" => 2, + "calico" => 3, + "jellie" => 4, + "persian" => 5, + "ragdoll" => 6, + "red" => 7, + "siamese" => 8, + "white" => 10, + _ => 9, + }; + self.variant.store(variant, Ordering::Relaxed); + } + + fn mob_init_data_tracker(&self) -> EntityBaseFuture<'_, ()> { + Box::pin(async move { + let entity = self.get_entity(); + let is_baby = entity.age.load(Ordering::Relaxed) < 0; + if is_baby { + entity.send_meta_data(&[Metadata::new( + TrackedData::BABY_ID, + MetaDataType::BOOLEAN, + true, + )]); + } + entity.send_meta_data(&[Metadata::new( + TrackedData::CAT_VARIANT, + MetaDataType::CAT_VARIANT, + VarInt(self.variant.load(Ordering::Relaxed) as i32), + )]); + }) + } } diff --git a/pumpkin/src/entity/passive/chicken.rs b/pumpkin/src/entity/passive/chicken.rs index 05597b292..f3cbcdeff 100644 --- a/pumpkin/src/entity/passive/chicken.rs +++ b/pumpkin/src/entity/passive/chicken.rs @@ -1,12 +1,15 @@ use std::sync::{ Arc, Weak, - atomic::{AtomicI32, Ordering, Ordering::Relaxed}, + atomic::{AtomicI32, AtomicU8, Ordering, Ordering::Relaxed}, }; use pumpkin_data::item_stack::ItemStack; +use pumpkin_data::meta_data_type::MetaDataType; use pumpkin_data::particle::Particle; use pumpkin_data::sound::{Sound, SoundCategory}; +use pumpkin_data::tracked_data::TrackedData; use pumpkin_data::{entity::EntityType, item::Item}; +use pumpkin_protocol::codec::var_int::VarInt; use pumpkin_util::math::vector3::Vector3; use rand::RngExt; @@ -36,6 +39,7 @@ const TEMPT_ITEMS: &[&Item] = &[ /// Wiki: pub struct ChickenEntity { pub mob_entity: MobEntity, + pub variant: AtomicU8, egg_lay_time: AtomicI32, } @@ -45,6 +49,7 @@ impl ChickenEntity { let egg_lay_time = rand::rng().random_range(6000..12000); let chicken = Self { mob_entity, + variant: AtomicU8::new(1), // Default to temperate egg_lay_time: AtomicI32::new(egg_lay_time), }; let mob_arc = Arc::new(chicken); @@ -78,6 +83,12 @@ impl NBTStorage for ChickenEntity { Box::pin(async { self.mob_entity.living_entity.write_nbt(nbt).await; nbt.put_int("EggLayTime", self.egg_lay_time.load(Ordering::Relaxed)); + let variant_str = match self.variant.load(Ordering::Relaxed) { + 0 => "minecraft:cold", + 2 => "minecraft:warm", + _ => "minecraft:temperate", + }; + nbt.put_string("variant", variant_str.to_string()); }) } @@ -86,6 +97,17 @@ impl NBTStorage for ChickenEntity { self.mob_entity.living_entity.read_nbt_non_mut(nbt).await; self.egg_lay_time .store(nbt.get_int("EggLayTime").unwrap_or(6000), Ordering::Relaxed); + if let Some(variant_str) = nbt.get_string("variant") { + let variant = match variant_str + .strip_prefix("minecraft:") + .unwrap_or(variant_str) + { + "cold" => 0, + "warm" => 2, + _ => 1, + }; + self.variant.store(variant, Ordering::Relaxed); + } }) } } @@ -95,6 +117,34 @@ impl Mob for ChickenEntity { &self.mob_entity } + fn mob_set_variant_name(&self, name: &str) { + let variant = match name.strip_prefix("minecraft:").unwrap_or(name) { + "cold" => 0, + "warm" => 2, + _ => 1, + }; + self.variant.store(variant, Ordering::Relaxed); + } + + fn mob_init_data_tracker(&self) -> EntityBaseFuture<'_, ()> { + Box::pin(async move { + let entity = self.get_entity(); + let is_baby = entity.age.load(Ordering::Relaxed) < 0; + if is_baby { + entity.send_meta_data(&[pumpkin_protocol::java::client::play::Metadata::new( + TrackedData::BABY_ID, + MetaDataType::BOOLEAN, + true, + )]); + } + entity.send_meta_data(&[pumpkin_protocol::java::client::play::Metadata::new( + TrackedData::VARIANT, + MetaDataType::CHICKEN_VARIANT, + VarInt(self.variant.load(Ordering::Relaxed) as i32), + )]); + }) + } + fn mob_tick<'a>(&'a self, _caller: &'a Arc) -> EntityBaseFuture<'a, ()> { Box::pin(async { if self.mob_entity.living_entity.dead.load(Relaxed) { diff --git a/pumpkin/src/entity/passive/frog.rs b/pumpkin/src/entity/passive/frog.rs index 607cc729e..633fb3bba 100644 --- a/pumpkin/src/entity/passive/frog.rs +++ b/pumpkin/src/entity/passive/frog.rs @@ -1,9 +1,17 @@ -use std::sync::{Arc, Weak}; +use std::sync::{ + Arc, Weak, + atomic::{AtomicU8, Ordering}, +}; use pumpkin_data::entity::EntityType; +use pumpkin_data::meta_data_type::MetaDataType; +use pumpkin_data::tracked_data::TrackedData; +use pumpkin_nbt::compound::NbtCompound; +use pumpkin_protocol::codec::var_int::VarInt; +use pumpkin_protocol::java::client::play::Metadata; use crate::entity::{ - Entity, NBTStorage, + Entity, EntityBase, EntityBaseFuture, NBTStorage, NbtFuture, ai::goal::{ look_around::RandomLookAroundGoal, look_at_entity::LookAtEntityGoal, swim::SwimGoal, wander_around::WanderAroundGoal, @@ -16,12 +24,16 @@ use crate::entity::{ /// Wiki: pub struct FrogEntity { pub mob_entity: MobEntity, + pub variant: AtomicU8, } impl FrogEntity { pub fn new(entity: Entity) -> Arc { let mob_entity = MobEntity::new(entity); - let frog = Self { mob_entity }; + let frog = Self { + mob_entity, + variant: AtomicU8::new(1), // Default to temperate + }; let mob_arc = Arc::new(frog); let mob_weak: Weak = { let mob_arc: Arc = mob_arc.clone(); @@ -44,10 +56,64 @@ impl FrogEntity { } } -impl NBTStorage for FrogEntity {} +impl NBTStorage for FrogEntity { + fn write_nbt<'a>(&'a self, nbt: &'a mut NbtCompound) -> NbtFuture<'a, ()> { + Box::pin(async { + self.mob_entity.living_entity.write_nbt(nbt).await; + let variant_str = match self.variant.load(Ordering::Relaxed) { + 0 => "minecraft:cold", + 2 => "minecraft:warm", + _ => "minecraft:temperate", + }; + nbt.put_string("variant", variant_str.to_string()); + }) + } + + fn read_nbt_non_mut<'a>(&'a self, nbt: &'a NbtCompound) -> NbtFuture<'a, ()> { + Box::pin(async { + self.mob_entity.living_entity.read_nbt_non_mut(nbt).await; + if let Some(variant_str) = nbt.get_string("variant") { + let variant = match variant_str { + "minecraft:cold" | "cold" => 0, + "minecraft:warm" | "warm" => 2, + _ => 1, + }; + self.variant.store(variant, Ordering::Relaxed); + } + }) + } +} impl Mob for FrogEntity { fn get_mob_entity(&self) -> &MobEntity { &self.mob_entity } + + fn mob_set_variant_name(&self, name: &str) { + let variant = match name { + "minecraft:cold" | "cold" => 0, + "minecraft:warm" | "warm" => 2, + _ => 1, + }; + self.variant.store(variant, Ordering::Relaxed); + } + + fn mob_init_data_tracker(&self) -> EntityBaseFuture<'_, ()> { + Box::pin(async move { + let entity = self.get_entity(); + let is_baby = entity.age.load(Ordering::Relaxed) < 0; + if is_baby { + entity.send_meta_data(&[Metadata::new( + TrackedData::BABY_ID, + MetaDataType::BOOLEAN, + true, + )]); + } + entity.send_meta_data(&[Metadata::new( + TrackedData::VARIANT, + MetaDataType::FROG_VARIANT, + VarInt(self.variant.load(Ordering::Relaxed) as i32), + )]); + }) + } } diff --git a/pumpkin/src/entity/passive/wolf.rs b/pumpkin/src/entity/passive/wolf.rs index a410f3411..2d1cee189 100644 --- a/pumpkin/src/entity/passive/wolf.rs +++ b/pumpkin/src/entity/passive/wolf.rs @@ -1,10 +1,18 @@ -use std::sync::{Arc, Weak}; +use std::sync::{ + Arc, Weak, + atomic::{AtomicU8, Ordering}, +}; use pumpkin_data::entity::EntityType; use pumpkin_data::item::Item; +use pumpkin_data::meta_data_type::MetaDataType; +use pumpkin_data::tracked_data::TrackedData; +use pumpkin_nbt::compound::NbtCompound; +use pumpkin_protocol::codec::var_int::VarInt; +use pumpkin_protocol::java::client::play::Metadata; use crate::entity::{ - Entity, NBTStorage, + Entity, EntityBase, EntityBaseFuture, NBTStorage, NbtFuture, ai::goal::{ beg::BegGoal, breed::BreedGoal, escape_danger::EscapeDangerGoal, follow_parent::FollowParentGoal, look_around::RandomLookAroundGoal, @@ -15,12 +23,16 @@ use crate::entity::{ pub struct WolfEntity { pub mob_entity: MobEntity, + pub variant: AtomicU8, } impl WolfEntity { pub fn new(entity: Entity) -> Arc { let mob_entity = MobEntity::new(entity); - let wolf = Self { mob_entity }; + let wolf = Self { + mob_entity, + variant: AtomicU8::new(3), // Default to pale + }; let mob_arc = Arc::new(wolf); let mob_weak: Weak = { let mob_arc: Arc = mob_arc.clone(); @@ -49,10 +61,85 @@ impl WolfEntity { } } -impl NBTStorage for WolfEntity {} +impl NBTStorage for WolfEntity { + fn write_nbt<'a>(&'a self, nbt: &'a mut NbtCompound) -> NbtFuture<'a, ()> { + Box::pin(async { + self.mob_entity.living_entity.write_nbt(nbt).await; + let variant_str = match self.variant.load(Ordering::Relaxed) { + 0 => "minecraft:ashen", + 1 => "minecraft:black", + 2 => "minecraft:chestnut", + 4 => "minecraft:rusty", + 5 => "minecraft:snowy", + 6 => "minecraft:spotted", + 7 => "minecraft:striped", + 8 => "minecraft:woods", + _ => "minecraft:pale", + }; + nbt.put_string("variant", variant_str.to_string()); + }) + } + + fn read_nbt_non_mut<'a>(&'a self, nbt: &'a NbtCompound) -> NbtFuture<'a, ()> { + Box::pin(async { + self.mob_entity.living_entity.read_nbt_non_mut(nbt).await; + if let Some(variant_str) = nbt.get_string("variant") { + let variant = match variant_str + .strip_prefix("minecraft:") + .unwrap_or(variant_str) + { + "ashen" => 0, + "black" => 1, + "chestnut" => 2, + "rusty" => 4, + "snowy" => 5, + "spotted" => 6, + "striped" => 7, + "woods" => 8, + _ => 3, + }; + self.variant.store(variant, Ordering::Relaxed); + } + }) + } +} impl Mob for WolfEntity { fn get_mob_entity(&self) -> &MobEntity { &self.mob_entity } + + fn mob_set_variant_name(&self, name: &str) { + let variant = match name.strip_prefix("minecraft:").unwrap_or(name) { + "ashen" => 0, + "black" => 1, + "chestnut" => 2, + "rusty" => 4, + "snowy" => 5, + "spotted" => 6, + "striped" => 7, + "woods" => 8, + _ => 3, + }; + self.variant.store(variant, Ordering::Relaxed); + } + + fn mob_init_data_tracker(&self) -> EntityBaseFuture<'_, ()> { + Box::pin(async move { + let entity = self.get_entity(); + let is_baby = entity.age.load(Ordering::Relaxed) < 0; + if is_baby { + entity.send_meta_data(&[Metadata::new( + TrackedData::BABY_ID, + MetaDataType::BOOLEAN, + true, + )]); + } + entity.send_meta_data(&[Metadata::new( + TrackedData::VARIANT, + MetaDataType::WOLF_VARIANT, + VarInt(self.variant.load(Ordering::Relaxed) as i32), + )]); + }) + } } diff --git a/pumpkin/src/entity/projectile/egg.rs b/pumpkin/src/entity/projectile/egg.rs index a2ece1019..d144d745b 100644 --- a/pumpkin/src/entity/projectile/egg.rs +++ b/pumpkin/src/entity/projectile/egg.rs @@ -148,15 +148,11 @@ impl EntityBase for EggEntity { let world_clone = world.clone(); let spawn_pos_clone = spawn_pos; - // Read the stack stored in set_item_stack - //let stack = self.item_stack.lock().unwrap(); - - // TODO: Map the item ID to the chicken variant - // let variant = match stack.item.id { - // id if id == Item::BLUE_EGG.id => EntityVariant::Cold, - // id if id == Item::BROWN_EGG.id => EntityVariant::Warm, - // _ => EntityVariant::Default, - // }; + let variant_name = { + let stack = self.item_stack.read().await; + stack.get_data_component::() + .map(|comp| comp.value.clone()) + }; tokio::spawn(async move { for _ in 0..to_spawn { @@ -167,7 +163,9 @@ impl EntityBase for EggEntity { let new_entity = mob.get_entity(); new_entity.set_rotation(yaw, 0.0); new_entity.set_age(-24000); - //new_entity.set_variant(variant); + if let Some(name) = &variant_name { + mob.set_variant_name(name); + } world_clone.spawn_entity(mob).await; } diff --git a/pumpkin/src/item/items/spawn_egg.rs b/pumpkin/src/item/items/spawn_egg.rs index 3d306fb1a..da7a6084e 100644 --- a/pumpkin/src/item/items/spawn_egg.rs +++ b/pumpkin/src/item/items/spawn_egg.rs @@ -1,10 +1,16 @@ use std::pin::Pin; use crate::block::entities::mob_spawner::MobSpawnerBlockEntity; +use crate::entity::EntityBase; use crate::entity::player::Player; use crate::entity::r#type::from_type; use crate::item::{ItemBehaviour, ItemMetadata}; use crate::server::Server; +use pumpkin_data::data_component_impl::{ + AxolotlVariantImpl, CatVariantImpl, ChickenVariantImpl, CowVariantImpl, FoxVariantImpl, + FrogVariantImpl, HorseVariantImpl, LlamaVariantImpl, MooshroomVariantImpl, PigVariantImpl, + RabbitVariantImpl, SheepColorImpl, ShulkerColorImpl, VillagerVariantImpl, WolfVariantImpl, +}; use pumpkin_data::entity::entity_from_egg; use pumpkin_data::item_stack::ItemStack; use pumpkin_data::{Block, BlockDirection}; @@ -21,6 +27,40 @@ impl ItemMetadata for SpawnEggItem { } } +fn apply_entity_variant(item: &ItemStack, mob: &dyn EntityBase) { + if let Some(comp) = item.get_data_component::() { + mob.set_variant_name(&comp.value); + } else if let Some(comp) = item.get_data_component::() { + mob.set_variant_name(&comp.value); + } else if let Some(comp) = item.get_data_component::() { + mob.set_variant_name(&comp.value); + } else if let Some(comp) = item.get_data_component::() { + mob.set_variant_name(&comp.value); + } else if let Some(comp) = item.get_data_component::() { + mob.set_variant_name(&comp.value); + } else if let Some(comp) = item.get_data_component::() { + mob.set_variant_name(&comp.value); + } else if let Some(comp) = item.get_data_component::() { + mob.set_variant_name(&comp.value); + } else if let Some(comp) = item.get_data_component::() { + mob.set_variant_name(&comp.value); + } else if let Some(comp) = item.get_data_component::() { + mob.set_variant_name(&comp.value); + } else if let Some(comp) = item.get_data_component::() { + mob.set_variant_name(&comp.value); + } else if let Some(comp) = item.get_data_component::() { + mob.set_variant_name(&comp.value); + } else if let Some(comp) = item.get_data_component::() { + mob.set_variant_name(&comp.value); + } else if let Some(comp) = item.get_data_component::() { + mob.set_variant_name(&comp.value); + } else if let Some(comp) = item.get_data_component::() { + mob.set_variant_name(&comp.value); + } else if let Some(comp) = item.get_data_component::() { + mob.set_variant_name(&comp.value); + } +} + impl ItemBehaviour for SpawnEggItem { fn use_on_block<'a>( &'a self, @@ -60,10 +100,11 @@ impl ItemBehaviour for SpawnEggItem { // Set the rotation mob.get_entity().set_rotation(yaw, 0.0); + apply_entity_variant(item, mob.as_ref()); + // Broadcast the new mob to all players world.spawn_entity(mob).await; item.decrement_unless_creative(player.gamemode.load(), 1); - // TODO: send/configure additional commands/data based on the type of entity (horse, slime, etc) } }) } diff --git a/pumpkin/src/world/loot.rs b/pumpkin/src/world/loot.rs index 01fab9862..11f94d2b7 100644 --- a/pumpkin/src/world/loot.rs +++ b/pumpkin/src/world/loot.rs @@ -255,14 +255,24 @@ impl LootFunctionExt for LootFunction { if !properties_to_copy.is_empty() { for stack in stacks.iter_mut() { if let Some(block_state_comp) = stack.get_data_component_mut::() { + let mut props = block_state_comp.properties.to_mut().clone(); for (k, v) in &properties_to_copy { - block_state_comp.properties.insert(k.clone(), v.clone()); + if let Some(pos) = props.iter().position(|(pk, _)| pk.as_ref() == k) { + props[pos].1 = std::borrow::Cow::Owned(v.clone()); + } else { + props.push((std::borrow::Cow::Owned(k.clone()), std::borrow::Cow::Owned(v.clone()))); + } } + block_state_comp.properties = std::borrow::Cow::Owned(props); } else { + let properties: Vec<(std::borrow::Cow<'static, str>, std::borrow::Cow<'static, str>)> = properties_to_copy + .iter() + .map(|(k, v)| (std::borrow::Cow::Owned(k.clone()), std::borrow::Cow::Owned(v.clone()))) + .collect(); stack.patch.push(( pumpkin_data::data_component::DataComponent::BlockState, Some(Box::new(pumpkin_data::data_component_impl::BlockStateImpl { - properties: properties_to_copy.clone(), + properties: std::borrow::Cow::Owned(properties), })), )); }