diff options
| author | mat <27899617+mat-1@users.noreply.github.com> | 2024-04-23 10:34:50 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-23 10:34:50 -0500 |
| commit | 1d80f531b74bc3b31023753acb81b35efcdadd73 (patch) | |
| tree | 675635c7c41fbb456e3e0dd7b9f09c7211d356f0 /azalea-entity/src | |
| parent | 0ddad8bd9c7c0e8846aec8bc90c95416418c9a63 (diff) | |
| download | azalea-drasl-1d80f531b74bc3b31023753acb81b35efcdadd73.tar.xz | |
1.20.5 (#127)
* 23w51b
* make recalculate_near_end_of_path public
so other plugins can do .after(recalculate_near_end_of_path)
* update to 24w03a i think
* start implementing 24w13a
* registries work (but a lot of packets are still broken)
* fix recipes and commands packets
* i love codecs :D i am not going insane :D mojang's java is very readable :D
* item components are "implemented" meowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeow
* update to 1.20.5-pre3
* fix all the broken packets and clippy (mojang please don't do an update like this again or i will murder someone)
* 1.20.5-rc1
* fix failing tests
* 1.20.5
Diffstat (limited to 'azalea-entity/src')
| -rwxr-xr-x | azalea-entity/src/data.rs | 16 | ||||
| -rw-r--r-- | azalea-entity/src/lib.rs | 1 | ||||
| -rw-r--r-- | azalea-entity/src/metadata.rs | 1898 | ||||
| -rwxr-xr-x | azalea-entity/src/particle.rs | 310 |
4 files changed, 1413 insertions, 812 deletions
diff --git a/azalea-entity/src/data.rs b/azalea-entity/src/data.rs index b0a05e74..45c761e7 100755 --- a/azalea-entity/src/data.rs +++ b/azalea-entity/src/data.rs @@ -6,7 +6,6 @@ use azalea_buf::{ use azalea_chat::FormattedText; use azalea_core::{ direction::Direction, - particle::Particle, position::{BlockPos, GlobalPos, Vec3}, }; use azalea_inventory::ItemSlot; @@ -17,6 +16,8 @@ use nohash_hasher::IntSet; use std::io::{Cursor, Write}; use uuid::Uuid; +use crate::particle::Particle; + #[derive(Clone, Debug, Deref)] pub struct EntityMetadataItems(Vec<EntityDataItem>); @@ -83,15 +84,18 @@ pub enum EntityDataValue { OptionalBlockState(azalea_block::BlockState), CompoundTag(simdnbt::owned::NbtCompound), Particle(Particle), + Particles(Vec<Particle>), VillagerData(VillagerData), // 0 for absent; 1 + actual value otherwise. Used for entity IDs. OptionalUnsignedInt(OptionalUnsignedInt), Pose(Pose), CatVariant(azalea_registry::CatVariant), + WolfVariant(azalea_registry::WolfVariant), FrogVariant(azalea_registry::FrogVariant), OptionalGlobalPos(Option<GlobalPos>), PaintingVariant(azalea_registry::PaintingVariant), SnifferState(SnifferState), + ArmadilloState(ArmadilloStateKind), Vector3(Vec3), Quaternion(Quaternion), } @@ -107,6 +111,16 @@ pub struct Quaternion { pub w: f32, } +// mojang just calls this ArmadilloState but i added "Kind" since otherwise it +// collides with a name in metadata.rs +#[derive(Clone, Debug, Copy, Default, McBuf)] +pub enum ArmadilloStateKind { + #[default] + Idle, + Rolling, + Scared, +} + impl McBufReadable for OptionalUnsignedInt { fn read_from(buf: &mut Cursor<&[u8]>) -> Result<Self, BufReadError> { let val = u32::var_read_from(buf)?; diff --git a/azalea-entity/src/lib.rs b/azalea-entity/src/lib.rs index dd818c6d..8761fa24 100644 --- a/azalea-entity/src/lib.rs +++ b/azalea-entity/src/lib.rs @@ -7,6 +7,7 @@ mod effects; mod enchantments; pub mod metadata; pub mod mining; +pub mod particle; mod plugin; use self::attributes::AttributeInstance; diff --git a/azalea-entity/src/metadata.rs b/azalea-entity/src/metadata.rs index c73136b3..f2a88670 100644 --- a/azalea-entity/src/metadata.rs +++ b/azalea-entity/src/metadata.rs @@ -3,14 +3,15 @@ // This file is generated from codegen/lib/code/entity.py. // Don't change it manually! +use crate::particle::Particle; + use super::{ - EntityDataItem, EntityDataValue, OptionalUnsignedInt, Pose, Quaternion, Rotations, - SnifferState, VillagerData, + ArmadilloStateKind, EntityDataItem, EntityDataValue, OptionalUnsignedInt, Pose, Quaternion, + Rotations, SnifferState, VillagerData, }; use azalea_chat::FormattedText; use azalea_core::{ direction::Direction, - particle::Particle, position::{BlockPos, Vec3}, }; use azalea_inventory::ItemSlot; @@ -63,7 +64,7 @@ pub struct AbstractLivingUsingItem(pub bool); #[derive(Component, Deref, DerefMut, Clone)] pub struct Health(pub f32); #[derive(Component, Deref, DerefMut, Clone)] -pub struct AbstractLivingEffectColor(pub i32); +pub struct EffectParticles(pub Vec<Particle>); #[derive(Component, Deref, DerefMut, Clone)] pub struct EffectAmbience(pub bool); #[derive(Component, Deref, DerefMut, Clone)] @@ -130,17 +131,17 @@ impl Default for AllayMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -160,8 +161,6 @@ impl Default for AllayMetadataBundle { #[derive(Component, Deref, DerefMut, Clone)] pub struct Radius(pub f32); #[derive(Component, Deref, DerefMut, Clone)] -pub struct AreaEffectCloudColor(pub i32); -#[derive(Component, Deref, DerefMut, Clone)] pub struct Waiting(pub bool); #[derive(Component)] pub struct AreaEffectCloud; @@ -176,12 +175,9 @@ impl AreaEffectCloud { entity.insert(Radius(d.value.into_float()?)); } 9 => { - entity.insert(AreaEffectCloudColor(d.value.into_int()?)); - } - 10 => { entity.insert(Waiting(d.value.into_boolean()?)); } - 11 => { + 10 => { entity.insert(d.value.into_particle()?); } _ => {} @@ -195,7 +191,6 @@ pub struct AreaEffectCloudMetadataBundle { _marker: AreaEffectCloud, parent: AbstractEntityMetadataBundle, radius: Radius, - area_effect_cloud_color: AreaEffectCloudColor, waiting: Waiting, particle: Particle, } @@ -213,21 +208,101 @@ impl Default for AreaEffectCloudMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, radius: Radius(3.0), - area_effect_cloud_color: AreaEffectCloudColor(0), waiting: Waiting(false), particle: Particle::default(), } } } +#[derive(Component, Deref, DerefMut, Clone)] +pub struct AbstractAgeableBaby(pub bool); +#[derive(Component, Deref, DerefMut, Clone)] +pub struct ArmadilloState(pub ArmadilloStateKind); +#[derive(Component)] +pub struct Armadillo; +impl Armadillo { + pub fn apply_metadata( + entity: &mut bevy_ecs::system::EntityCommands, + d: EntityDataItem, + ) -> Result<(), UpdateMetadataError> { + match d.index { + 0..=16 => AbstractAnimal::apply_metadata(entity, d)?, + 17 => { + entity.insert(ArmadilloState(d.value.into_armadillo_state()?)); + } + _ => {} + } + Ok(()) + } +} + +#[derive(Bundle)] +pub struct ArmadilloMetadataBundle { + _marker: Armadillo, + parent: AbstractAnimalMetadataBundle, + armadillo_state: ArmadilloState, +} +impl Default for ArmadilloMetadataBundle { + fn default() -> Self { + Self { + _marker: Armadillo, + parent: AbstractAnimalMetadataBundle { + _marker: AbstractAnimal, + parent: AbstractAgeableMetadataBundle { + _marker: AbstractAgeable, + parent: AbstractCreatureMetadataBundle { + _marker: AbstractCreature, + parent: AbstractInsentientMetadataBundle { + _marker: AbstractInsentient, + parent: AbstractLivingMetadataBundle { + _marker: AbstractLiving, + parent: AbstractEntityMetadataBundle { + _marker: AbstractEntity, + on_fire: OnFire(false), + shift_key_down: ShiftKeyDown(false), + sprinting: Sprinting(false), + swimming: Swimming(false), + currently_glowing: CurrentlyGlowing(false), + invisible: Invisible(false), + fall_flying: FallFlying(false), + air_supply: AirSupply(Default::default()), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), + pose: Pose::default(), + ticks_frozen: TicksFrozen(Default::default()), + }, + auto_spin_attack: AutoSpinAttack(false), + abstract_living_using_item: AbstractLivingUsingItem(false), + health: Health(1.0), + effect_particles: EffectParticles(Default::default()), + effect_ambience: EffectAmbience(false), + arrow_count: ArrowCount(0), + stinger_count: StingerCount(0), + sleeping_pos: SleepingPos(None), + }, + no_ai: NoAi(false), + left_handed: LeftHanded(false), + aggressive: Aggressive(false), + }, + }, + abstract_ageable_baby: AbstractAgeableBaby(false), + }, + }, + armadillo_state: ArmadilloState(Default::default()), + } + } +} + #[derive(Component, Deref, DerefMut, Clone, Copy)] pub struct Small(pub bool); #[derive(Component, Deref, DerefMut, Clone, Copy)] @@ -319,17 +394,17 @@ impl Default for ArmorStandMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -358,7 +433,7 @@ pub struct ArrowNoPhysics(pub bool); #[derive(Component, Deref, DerefMut, Clone)] pub struct ArrowPierceLevel(pub u8); #[derive(Component, Deref, DerefMut, Clone)] -pub struct ArrowEffectColor(pub i32); +pub struct EffectColor(pub i32); #[derive(Component)] pub struct Arrow; impl Arrow { @@ -378,7 +453,7 @@ impl Arrow { entity.insert(ArrowPierceLevel(d.value.into_byte()?)); } 10 => { - entity.insert(ArrowEffectColor(d.value.into_int()?)); + entity.insert(EffectColor(d.value.into_int()?)); } _ => {} } @@ -394,7 +469,7 @@ pub struct ArrowMetadataBundle { arrow_shot_from_crossbow: ArrowShotFromCrossbow, arrow_no_physics: ArrowNoPhysics, arrow_pierce_level: ArrowPierceLevel, - arrow_effect_color: ArrowEffectColor, + effect_color: EffectColor, } impl Default for ArrowMetadataBundle { fn default() -> Self { @@ -410,25 +485,23 @@ impl Default for ArrowMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, arrow_crit_arrow: ArrowCritArrow(false), arrow_shot_from_crossbow: ArrowShotFromCrossbow(false), arrow_no_physics: ArrowNoPhysics(false), arrow_pierce_level: ArrowPierceLevel(0), - arrow_effect_color: ArrowEffectColor(-1), + effect_color: EffectColor(-1), } } } #[derive(Component, Deref, DerefMut, Clone)] -pub struct AbstractAgeableBaby(pub bool); -#[derive(Component, Deref, DerefMut, Clone)] pub struct AxolotlVariant(pub i32); #[derive(Component, Deref, DerefMut, Clone)] pub struct PlayingDead(pub bool); @@ -490,17 +563,17 @@ impl Default for AxolotlMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -566,17 +639,17 @@ impl Default for BatMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -656,17 +729,17 @@ impl Default for BeeMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -737,17 +810,17 @@ impl Default for BlazeMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -900,12 +973,12 @@ impl Default for BlockDisplayMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, block_display_transformation_interpolation_start_delta_ticks: BlockDisplayTransformationInterpolationStartDeltaTicks(0), @@ -1027,12 +1100,12 @@ impl Default for BoatMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, boat_hurt: BoatHurt(0), boat_hurtdir: BoatHurtdir(1), @@ -1045,6 +1118,81 @@ impl Default for BoatMetadataBundle { } } +#[derive(Component, Deref, DerefMut, Clone)] +pub struct BoggedSheared(pub bool); +#[derive(Component)] +pub struct Bogged; +impl Bogged { + pub fn apply_metadata( + entity: &mut bevy_ecs::system::EntityCommands, + d: EntityDataItem, + ) -> Result<(), UpdateMetadataError> { + match d.index { + 0..=15 => AbstractMonster::apply_metadata(entity, d)?, + 16 => { + entity.insert(BoggedSheared(d.value.into_boolean()?)); + } + _ => {} + } + Ok(()) + } +} + +#[derive(Bundle)] +pub struct BoggedMetadataBundle { + _marker: Bogged, + parent: AbstractMonsterMetadataBundle, + bogged_sheared: BoggedSheared, +} +impl Default for BoggedMetadataBundle { + fn default() -> Self { + Self { + _marker: Bogged, + parent: AbstractMonsterMetadataBundle { + _marker: AbstractMonster, + parent: AbstractCreatureMetadataBundle { + _marker: AbstractCreature, + parent: AbstractInsentientMetadataBundle { + _marker: AbstractInsentient, + parent: AbstractLivingMetadataBundle { + _marker: AbstractLiving, + parent: AbstractEntityMetadataBundle { + _marker: AbstractEntity, + on_fire: OnFire(false), + shift_key_down: ShiftKeyDown(false), + sprinting: Sprinting(false), + swimming: Swimming(false), + currently_glowing: CurrentlyGlowing(false), + invisible: Invisible(false), + fall_flying: FallFlying(false), + air_supply: AirSupply(Default::default()), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), + pose: Pose::default(), + ticks_frozen: TicksFrozen(Default::default()), + }, + auto_spin_attack: AutoSpinAttack(false), + abstract_living_using_item: AbstractLivingUsingItem(false), + health: Health(1.0), + effect_particles: EffectParticles(Default::default()), + effect_ambience: EffectAmbience(false), + arrow_count: ArrowCount(0), + stinger_count: StingerCount(0), + sleeping_pos: SleepingPos(None), + }, + no_ai: NoAi(false), + left_handed: LeftHanded(false), + aggressive: Aggressive(false), + }, + }, + }, + bogged_sheared: BoggedSheared(false), + } + } +} + #[derive(Component)] pub struct Breeze; impl Breeze { @@ -1087,17 +1235,17 @@ impl Default for BreezeMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -1113,6 +1261,51 @@ impl Default for BreezeMetadataBundle { } } +#[derive(Component)] +pub struct BreezeWindCharge; +impl BreezeWindCharge { + pub fn apply_metadata( + entity: &mut bevy_ecs::system::EntityCommands, + d: EntityDataItem, + ) -> Result<(), UpdateMetadataError> { + match d.index { + 0..=7 => AbstractEntity::apply_metadata(entity, d)?, + _ => {} + } + Ok(()) + } +} + +#[derive(Bundle)] +pub struct BreezeWindChargeMetadataBundle { + _marker: BreezeWindCharge, + parent: AbstractEntityMetadataBundle, +} +impl Default for BreezeWindChargeMetadataBundle { + fn default() -> Self { + Self { + _marker: BreezeWindCharge, + parent: AbstractEntityMetadataBundle { + _marker: AbstractEntity, + on_fire: OnFire(false), + shift_key_down: ShiftKeyDown(false), + sprinting: Sprinting(false), + swimming: Swimming(false), + currently_glowing: CurrentlyGlowing(false), + invisible: Invisible(false), + fall_flying: FallFlying(false), + air_supply: AirSupply(Default::default()), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), + pose: Pose::default(), + ticks_frozen: TicksFrozen(Default::default()), + }, + } + } +} + #[derive(Component, Deref, DerefMut, Clone, Copy)] pub struct CamelTamed(pub bool); #[derive(Component, Deref, DerefMut, Clone, Copy)] @@ -1192,17 +1385,17 @@ impl Default for CamelMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -1303,17 +1496,17 @@ impl Default for CatMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -1385,17 +1578,17 @@ impl Default for CaveSpiderMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -1449,12 +1642,12 @@ impl Default for ChestBoatMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, boat_hurt: BoatHurt(0), boat_hurtdir: BoatHurtdir(1), @@ -1516,12 +1709,12 @@ impl Default for ChestMinecartMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, abstract_minecart_hurt: AbstractMinecartHurt(0), abstract_minecart_hurtdir: AbstractMinecartHurtdir(1), @@ -1578,17 +1771,17 @@ impl Default for ChickenMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -1652,17 +1845,17 @@ impl Default for CodMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -1726,12 +1919,12 @@ impl Default for CommandBlockMinecartMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, abstract_minecart_hurt: AbstractMinecartHurt(0), abstract_minecart_hurtdir: AbstractMinecartHurtdir(1), @@ -1790,17 +1983,17 @@ impl Default for CowMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -1878,17 +2071,17 @@ impl Default for CreeperMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -1965,17 +2158,17 @@ impl Default for DolphinMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -2066,17 +2259,17 @@ impl Default for DonkeyMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -2134,12 +2327,12 @@ impl Default for DragonFireballMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, } } @@ -2195,17 +2388,17 @@ impl Default for DrownedMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -2265,14 +2458,14 @@ impl Default for EggMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, - egg_item_stack: EggItemStack(ItemSlot::Empty), + egg_item_stack: EggItemStack(Default::default()), } } } @@ -2325,17 +2518,17 @@ impl Default for ElderGuardianMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -2400,12 +2593,12 @@ impl Default for EndCrystalMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, beam_target: BeamTarget(None), show_bottom: ShowBottom(true), @@ -2457,17 +2650,17 @@ impl Default for EnderDragonMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -2522,14 +2715,14 @@ impl Default for EnderPearlMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, - ender_pearl_item_stack: EnderPearlItemStack(ItemSlot::Empty), + ender_pearl_item_stack: EnderPearlItemStack(Default::default()), } } } @@ -2594,17 +2787,17 @@ impl Default for EndermanMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -2665,17 +2858,17 @@ impl Default for EndermiteMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -2745,17 +2938,17 @@ impl Default for EvokerMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -2807,12 +3000,12 @@ impl Default for EvokerFangsMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, } } @@ -2858,14 +3051,14 @@ impl Default for ExperienceBottleMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, - experience_bottle_item_stack: ExperienceBottleItemStack(ItemSlot::Empty), + experience_bottle_item_stack: ExperienceBottleItemStack(Default::default()), } } } @@ -2904,12 +3097,12 @@ impl Default for ExperienceOrbMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, } } @@ -2955,14 +3148,14 @@ impl Default for EyeOfEnderMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, - eye_of_ender_item_stack: EyeOfEnderItemStack(ItemSlot::Empty), + eye_of_ender_item_stack: EyeOfEnderItemStack(Default::default()), } } } @@ -3007,12 +3200,12 @@ impl Default for FallingBlockMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, start_pos: StartPos(Default::default()), } @@ -3059,14 +3252,14 @@ impl Default for FireballMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, - fireball_item_stack: FireballItemStack(ItemSlot::Empty), + fireball_item_stack: FireballItemStack(Default::default()), } } } @@ -3123,14 +3316,14 @@ impl Default for FireworkRocketMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, - fireworks_item: FireworksItem(ItemSlot::Empty), + fireworks_item: FireworksItem(Default::default()), attached_to_target: AttachedToTarget(OptionalUnsignedInt(None)), shot_at_angle: ShotAtAngle(false), } @@ -3183,12 +3376,12 @@ impl Default for FishingBobberMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, hooked_entity: HookedEntity(0), biting: Biting(false), @@ -3285,17 +3478,17 @@ impl Default for FoxMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -3378,17 +3571,17 @@ impl Default for FrogMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -3450,12 +3643,12 @@ impl Default for FurnaceMinecartMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, abstract_minecart_hurt: AbstractMinecartHurt(0), abstract_minecart_hurtdir: AbstractMinecartHurtdir(1), @@ -3513,17 +3706,17 @@ impl Default for GhastMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -3580,17 +3773,17 @@ impl Default for GiantMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -3646,12 +3839,12 @@ impl Default for GlowItemFrameMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, item_frame_item: ItemFrameItem(ItemSlot::Empty), rotation: Rotation(0), @@ -3708,17 +3901,17 @@ impl Default for GlowSquidMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -3797,17 +3990,17 @@ impl Default for GoatMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -3878,17 +4071,17 @@ impl Default for GuardianMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -3956,17 +4149,17 @@ impl Default for HoglinMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -4021,12 +4214,12 @@ impl Default for HopperMinecartMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, abstract_minecart_hurt: AbstractMinecartHurt(0), abstract_minecart_hurtdir: AbstractMinecartHurtdir(1), @@ -4112,17 +4305,17 @@ impl Default for HorseMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -4190,17 +4383,17 @@ impl Default for HuskMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -4274,17 +4467,17 @@ impl Default for IllusionerMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -4354,12 +4547,12 @@ impl Default for InteractionMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, interaction_width: InteractionWidth(1.0), interaction_height: InteractionHeight(1.0), @@ -4415,17 +4608,17 @@ impl Default for IronGolemMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -4481,12 +4674,12 @@ impl Default for ItemMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, item_item: ItemItem(ItemSlot::Empty), } @@ -4635,12 +4828,12 @@ impl Default for ItemDisplayMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, item_display_transformation_interpolation_start_delta_ticks: ItemDisplayTransformationInterpolationStartDeltaTicks(0), @@ -4727,12 +4920,12 @@ impl Default for ItemFrameMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, item_frame_item: ItemFrameItem(ItemSlot::Empty), rotation: Rotation(0), @@ -4774,12 +4967,12 @@ impl Default for LeashKnotMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, } } @@ -4819,12 +5012,12 @@ impl Default for LightningBoltMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, } } @@ -4845,8 +5038,6 @@ pub struct LlamaChest(pub bool); #[derive(Component, Deref, DerefMut, Clone)] pub struct Strength(pub i32); #[derive(Component, Deref, DerefMut, Clone)] -pub struct Swag(pub i32); -#[derive(Component, Deref, DerefMut, Clone)] pub struct LlamaVariant(pub i32); #[derive(Component)] pub struct Llama; @@ -4872,9 +5063,6 @@ impl Llama { entity.insert(Strength(d.value.into_int()?)); } 20 => { - entity.insert(Swag(d.value.into_int()?)); - } - 21 => { entity.insert(LlamaVariant(d.value.into_int()?)); } _ => {} @@ -4894,7 +5082,6 @@ pub struct LlamaMetadataBundle { llama_saddled: LlamaSaddled, llama_chest: LlamaChest, strength: Strength, - swag: Swag, llama_variant: LlamaVariant, } impl Default for LlamaMetadataBundle { @@ -4921,17 +5108,17 @@ impl Default for LlamaMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -4952,7 +5139,6 @@ impl Default for LlamaMetadataBundle { llama_saddled: LlamaSaddled(false), llama_chest: LlamaChest(false), strength: Strength(0), - swag: Swag(-1), llama_variant: LlamaVariant(0), } } @@ -4992,12 +5178,12 @@ impl Default for LlamaSpitMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, } } @@ -5045,17 +5231,17 @@ impl Default for MagmaCubeMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -5105,12 +5291,12 @@ impl Default for MarkerMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, } } @@ -5152,12 +5338,12 @@ impl Default for MinecartMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, abstract_minecart_hurt: AbstractMinecartHurt(0), abstract_minecart_hurtdir: AbstractMinecartHurtdir(1), @@ -5222,17 +5408,17 @@ impl Default for MooshroomMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -5325,17 +5511,17 @@ impl Default for MuleMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -5409,17 +5595,17 @@ impl Default for OcelotMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -5439,6 +5625,58 @@ impl Default for OcelotMetadataBundle { } #[derive(Component, Deref, DerefMut, Clone)] +pub struct OminousItemSpawnerItem(pub ItemSlot); +#[derive(Component)] +pub struct OminousItemSpawner; +impl OminousItemSpawner { + pub fn apply_metadata( + entity: &mut bevy_ecs::system::EntityCommands, + d: EntityDataItem, + ) -> Result<(), UpdateMetadataError> { + match d.index { + 0..=7 => AbstractEntity::apply_metadata(entity, d)?, + 8 => { + entity.insert(OminousItemSpawnerItem(d.value.into_item_stack()?)); + } + _ => {} + } + Ok(()) + } +} + +#[derive(Bundle)] +pub struct OminousItemSpawnerMetadataBundle { + _marker: OminousItemSpawner, + parent: AbstractEntityMetadataBundle, + ominous_item_spawner_item: OminousItemSpawnerItem, +} +impl Default for OminousItemSpawnerMetadataBundle { + fn default() -> Self { + Self { + _marker: OminousItemSpawner, + parent: AbstractEntityMetadataBundle { + _marker: AbstractEntity, + on_fire: OnFire(false), + shift_key_down: ShiftKeyDown(false), + sprinting: Sprinting(false), + swimming: Swimming(false), + currently_glowing: CurrentlyGlowing(false), + invisible: Invisible(false), + fall_flying: FallFlying(false), + air_supply: AirSupply(Default::default()), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), + pose: Pose::default(), + ticks_frozen: TicksFrozen(Default::default()), + }, + ominous_item_spawner_item: OminousItemSpawnerItem(ItemSlot::Empty), + } + } +} + +#[derive(Component, Deref, DerefMut, Clone)] pub struct PaintingVariant(pub azalea_registry::PaintingVariant); #[derive(Component)] pub struct Painting; @@ -5478,12 +5716,12 @@ impl Default for PaintingMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, painting_variant: PaintingVariant(azalea_registry::PaintingVariant::Kebab), } @@ -5583,17 +5821,17 @@ impl Default for PandaMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -5672,17 +5910,17 @@ impl Default for ParrotMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -5749,17 +5987,17 @@ impl Default for PhantomMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -5830,17 +6068,17 @@ impl Default for PigMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -5926,17 +6164,17 @@ impl Default for PiglinMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -6004,17 +6242,17 @@ impl Default for PiglinBruteMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -6085,17 +6323,17 @@ impl Default for PillagerMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -6185,17 +6423,17 @@ impl Default for PlayerMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -6261,17 +6499,17 @@ impl Default for PolarBearMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -6330,14 +6568,14 @@ impl Default for PotionMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, - potion_item_stack: PotionItemStack(ItemSlot::Empty), + potion_item_stack: PotionItemStack(Default::default()), } } } @@ -6394,17 +6632,17 @@ impl Default for PufferfishMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -6471,17 +6709,17 @@ impl Default for RabbitMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -6548,17 +6786,17 @@ impl Default for RavagerMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -6621,17 +6859,17 @@ impl Default for SalmonMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -6648,7 +6886,7 @@ impl Default for SalmonMetadataBundle { } #[derive(Component, Deref, DerefMut, Clone, Copy)] -pub struct Sheared(pub bool); +pub struct SheepSheared(pub bool); #[derive(Component)] pub struct Sheep; impl Sheep { @@ -6660,7 +6898,7 @@ impl Sheep { 0..=16 => AbstractAnimal::apply_metadata(entity, d)?, 17 => { let bitfield = d.value.into_byte()?; - entity.insert(Sheared(bitfield & 0x10 != 0)); + entity.insert(SheepSheared(bitfield & 0x10 != 0)); } _ => {} } @@ -6672,7 +6910,7 @@ impl Sheep { pub struct SheepMetadataBundle { _marker: Sheep, parent: AbstractAnimalMetadataBundle, - sheared: Sheared, + sheep_sheared: SheepSheared, } impl Default for SheepMetadataBundle { fn default() -> Self { @@ -6698,17 +6936,17 @@ impl Default for SheepMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -6722,7 +6960,7 @@ impl Default for SheepMetadataBundle { abstract_ageable_baby: AbstractAgeableBaby(false), }, }, - sheared: Sheared(false), + sheep_sheared: SheepSheared(false), } } } @@ -6732,7 +6970,7 @@ pub struct AttachFace(pub Direction); #[derive(Component, Deref, DerefMut, Clone)] pub struct Peek(pub u8); #[derive(Component, Deref, DerefMut, Clone)] -pub struct ShulkerColor(pub u8); +pub struct Color(pub u8); #[derive(Component)] pub struct Shulker; impl Shulker { @@ -6749,7 +6987,7 @@ impl Shulker { entity.insert(Peek(d.value.into_byte()?)); } 18 => { - entity.insert(ShulkerColor(d.value.into_byte()?)); + entity.insert(Color(d.value.into_byte()?)); } _ => {} } @@ -6763,7 +7001,7 @@ pub struct ShulkerMetadataBundle { parent: AbstractCreatureMetadataBundle, attach_face: AttachFace, peek: Peek, - shulker_color: ShulkerColor, + color: Color, } impl Default for ShulkerMetadataBundle { fn default() -> Self { @@ -6785,17 +7023,17 @@ impl Default for ShulkerMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -6808,7 +7046,7 @@ impl Default for ShulkerMetadataBundle { }, attach_face: AttachFace(Default::default()), peek: Peek(0), - shulker_color: ShulkerColor(16), + color: Color(16), } } } @@ -6847,12 +7085,12 @@ impl Default for ShulkerBulletMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, } } @@ -6900,17 +7138,17 @@ impl Default for SilverfishMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -6974,17 +7212,17 @@ impl Default for SkeletonMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -7068,17 +7306,17 @@ impl Default for SkeletonHorseMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -7143,17 +7381,17 @@ impl Default for SlimeMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -7208,14 +7446,14 @@ impl Default for SmallFireballMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, - small_fireball_item_stack: SmallFireballItemStack(ItemSlot::Empty), + small_fireball_item_stack: SmallFireballItemStack(Default::default()), } } } @@ -7276,17 +7514,17 @@ impl Default for SnifferMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -7301,7 +7539,7 @@ impl Default for SnifferMetadataBundle { }, }, state: State(Default::default()), - drop_seed_at_tick: DropSeedAtTick(Default::default()), + drop_seed_at_tick: DropSeedAtTick(0), } } } @@ -7353,17 +7591,17 @@ impl Default for SnowGolemMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -7419,14 +7657,14 @@ impl Default for SnowballMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, - snowball_item_stack: SnowballItemStack(ItemSlot::Empty), + snowball_item_stack: SnowballItemStack(Default::default()), } } } @@ -7467,12 +7705,12 @@ impl Default for SpawnerMinecartMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, abstract_minecart_hurt: AbstractMinecartHurt(0), abstract_minecart_hurtdir: AbstractMinecartHurtdir(1), @@ -7540,12 +7778,12 @@ impl Default for SpectralArrowMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, spectral_arrow_crit_arrow: SpectralArrowCritArrow(false), spectral_arrow_shot_from_crossbow: SpectralArrowShotFromCrossbow(false), @@ -7602,17 +7840,17 @@ impl Default for SpiderMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -7669,17 +7907,17 @@ impl Default for SquidMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -7736,17 +7974,17 @@ impl Default for StrayMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -7824,17 +8062,17 @@ impl Default for StriderMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -7901,17 +8139,17 @@ impl Default for TadpoleMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -8087,12 +8325,12 @@ impl Default for TextDisplayMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, text_display_transformation_interpolation_start_delta_ticks: TextDisplayTransformationInterpolationStartDeltaTicks(0), @@ -8186,12 +8424,12 @@ impl Default for TntMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, fuse: Fuse(80), tnt_block_state: TntBlockState(Default::default()), @@ -8235,12 +8473,12 @@ impl Default for TntMinecartMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, abstract_minecart_hurt: AbstractMinecartHurt(0), abstract_minecart_hurtdir: AbstractMinecartHurtdir(1), @@ -8261,7 +8499,7 @@ impl TraderLlama { d: EntityDataItem, ) -> Result<(), UpdateMetadataError> { match d.index { - 0..=21 => Llama::apply_metadata(entity, d)?, + 0..=20 => Llama::apply_metadata(entity, d)?, _ => {} } Ok(()) @@ -8299,17 +8537,17 @@ impl Default for TraderLlamaMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -8330,7 +8568,6 @@ impl Default for TraderLlamaMetadataBundle { llama_saddled: LlamaSaddled(false), llama_chest: LlamaChest(false), strength: Strength(0), - swag: Swag(-1), llama_variant: LlamaVariant(0), }, } @@ -8404,12 +8641,12 @@ impl Default for TridentMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, trident_crit_arrow: TridentCritArrow(false), trident_shot_from_crossbow: TridentShotFromCrossbow(false), @@ -8473,17 +8710,17 @@ impl Default for TropicalFishMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -8580,17 +8817,17 @@ impl Default for TurtleMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -8662,17 +8899,17 @@ impl Default for VexMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -8743,17 +8980,17 @@ impl Default for VillagerMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -8824,17 +9061,17 @@ impl Default for VindicatorMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -8899,17 +9136,17 @@ impl Default for WanderingTraderMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -8975,17 +9212,17 @@ impl Default for WardenMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -9036,12 +9273,12 @@ impl Default for WindChargeMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, } } @@ -9101,17 +9338,17 @@ impl Default for WitchMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -9195,17 +9432,17 @@ impl Default for WitherMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -9267,17 +9504,17 @@ impl Default for WitherSkeletonMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -9333,12 +9570,12 @@ impl Default for WitherSkullMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, dangerous: Dangerous(false), } @@ -9351,6 +9588,8 @@ pub struct WolfInterested(pub bool); pub struct WolfCollarColor(pub i32); #[derive(Component, Deref, DerefMut, Clone)] pub struct WolfRemainingAngerTime(pub i32); +#[derive(Component, Deref, DerefMut, Clone)] +pub struct WolfVariant(pub azalea_registry::WolfVariant); #[derive(Component)] pub struct Wolf; impl Wolf { @@ -9369,6 +9608,9 @@ impl Wolf { 21 => { entity.insert(WolfRemainingAngerTime(d.value.into_int()?)); } + 22 => { + entity.insert(WolfVariant(d.value.into_wolf_variant()?)); + } _ => {} } Ok(()) @@ -9382,6 +9624,7 @@ pub struct WolfMetadataBundle { wolf_interested: WolfInterested, wolf_collar_color: WolfCollarColor, wolf_remaining_anger_time: WolfRemainingAngerTime, + wolf_variant: WolfVariant, } impl Default for WolfMetadataBundle { fn default() -> Self { @@ -9409,17 +9652,17 @@ impl Default for WolfMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -9440,6 +9683,7 @@ impl Default for WolfMetadataBundle { wolf_interested: WolfInterested(false), wolf_collar_color: WolfCollarColor(Default::default()), wolf_remaining_anger_time: WolfRemainingAngerTime(0), + wolf_variant: WolfVariant(Default::default()), } } } @@ -9492,17 +9736,17 @@ impl Default for ZoglinMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -9573,17 +9817,17 @@ impl Default for ZombieMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -9669,17 +9913,17 @@ impl Default for ZombieHorseMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -9758,17 +10002,17 @@ impl Default for ZombieVillagerMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -9838,17 +10082,17 @@ impl Default for ZombifiedPiglinMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -9912,17 +10156,17 @@ impl Default for AbstractAgeableMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -9980,17 +10224,17 @@ impl Default for AbstractAnimalMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -10045,17 +10289,17 @@ impl Default for AbstractCreatureMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -10144,12 +10388,12 @@ impl Default for AbstractEntityMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), } } } @@ -10199,17 +10443,17 @@ impl Default for AbstractInsentientMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -10240,7 +10484,7 @@ impl AbstractLiving { entity.insert(Health(d.value.into_float()?)); } 10 => { - entity.insert(AbstractLivingEffectColor(d.value.into_int()?)); + entity.insert(EffectParticles(d.value.into_particles()?)); } 11 => { entity.insert(EffectAmbience(d.value.into_boolean()?)); @@ -10267,7 +10511,7 @@ pub struct AbstractLivingMetadataBundle { auto_spin_attack: AutoSpinAttack, abstract_living_using_item: AbstractLivingUsingItem, health: Health, - abstract_living_effect_color: AbstractLivingEffectColor, + effect_particles: EffectParticles, effect_ambience: EffectAmbience, arrow_count: ArrowCount, stinger_count: StingerCount, @@ -10287,17 +10531,17 @@ impl Default for AbstractLivingMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -10364,12 +10608,12 @@ impl Default for AbstractMinecartMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, abstract_minecart_hurt: AbstractMinecartHurt(0), abstract_minecart_hurtdir: AbstractMinecartHurtdir(1), @@ -10421,17 +10665,17 @@ impl Default for AbstractMonsterMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -10501,17 +10745,17 @@ impl Default for AbstractTameableMetadataBundle { invisible: Invisible(false), fall_flying: FallFlying(false), air_supply: AirSupply(Default::default()), - custom_name: CustomName(None), - custom_name_visible: CustomNameVisible(false), - silent: Silent(false), - no_gravity: NoGravity(false), + custom_name: CustomName(Default::default()), + custom_name_visible: CustomNameVisible(Default::default()), + silent: Silent(Default::default()), + no_gravity: NoGravity(Default::default()), pose: Pose::default(), - ticks_frozen: TicksFrozen(0), + ticks_frozen: TicksFrozen(Default::default()), }, auto_spin_attack: AutoSpinAttack(false), abstract_living_using_item: AbstractLivingUsingItem(false), health: Health(1.0), - abstract_living_effect_color: AbstractLivingEffectColor(0), + effect_particles: EffectParticles(Default::default()), effect_ambience: EffectAmbience(false), arrow_count: ArrowCount(0), stinger_count: StingerCount(0), @@ -10548,6 +10792,11 @@ pub fn apply_metadata( AreaEffectCloud::apply_metadata(entity, d)?; } } + azalea_registry::EntityKind::Armadillo => { + for d in items { + Armadillo::apply_metadata(entity, d)?; + } + } azalea_registry::EntityKind::ArmorStand => { for d in items { ArmorStand::apply_metadata(entity, d)?; @@ -10588,11 +10837,21 @@ pub fn apply_metadata( Boat::apply_metadata(entity, d)?; } } + azalea_registry::EntityKind::Bogged => { + for d in items { + Bogged::apply_metadata(entity, d)?; + } + } azalea_registry::EntityKind::Breeze => { for d in items { Breeze::apply_metadata(entity, d)?; } } + azalea_registry::EntityKind::BreezeWindCharge => { + for d in items { + BreezeWindCharge::apply_metadata(entity, d)?; + } + } azalea_registry::EntityKind::Camel => { for d in items { Camel::apply_metadata(entity, d)?; @@ -10888,6 +11147,11 @@ pub fn apply_metadata( Ocelot::apply_metadata(entity, d)?; } } + azalea_registry::EntityKind::OminousItemSpawner => { + for d in items { + OminousItemSpawner::apply_metadata(entity, d)?; + } + } azalea_registry::EntityKind::Painting => { for d in items { Painting::apply_metadata(entity, d)?; @@ -11183,6 +11447,9 @@ pub fn apply_default_metadata( azalea_registry::EntityKind::AreaEffectCloud => { entity.insert(AreaEffectCloudMetadataBundle::default()); } + azalea_registry::EntityKind::Armadillo => { + entity.insert(ArmadilloMetadataBundle::default()); + } azalea_registry::EntityKind::ArmorStand => { entity.insert(ArmorStandMetadataBundle::default()); } @@ -11207,9 +11474,15 @@ pub fn apply_default_metadata( azalea_registry::EntityKind::Boat => { entity.insert(BoatMetadataBundle::default()); } + azalea_registry::EntityKind::Bogged => { + entity.insert(BoggedMetadataBundle::default()); + } azalea_registry::EntityKind::Breeze => { entity.insert(BreezeMetadataBundle::default()); } + azalea_registry::EntityKind::BreezeWindCharge => { + entity.insert(BreezeWindChargeMetadataBundle::default()); + } azalea_registry::EntityKind::Camel => { entity.insert(CamelMetadataBundle::default()); } @@ -11387,6 +11660,9 @@ pub fn apply_default_metadata( azalea_registry::EntityKind::Ocelot => { entity.insert(OcelotMetadataBundle::default()); } + azalea_registry::EntityKind::OminousItemSpawner => { + entity.insert(OminousItemSpawnerMetadataBundle::default()); + } azalea_registry::EntityKind::Painting => { entity.insert(PaintingMetadataBundle::default()); } diff --git a/azalea-entity/src/particle.rs b/azalea-entity/src/particle.rs new file mode 100755 index 00000000..6d8c9fd9 --- /dev/null +++ b/azalea-entity/src/particle.rs @@ -0,0 +1,310 @@ +use azalea_buf::McBuf; +use azalea_core::position::BlockPos; +use azalea_inventory::ItemSlot; +use azalea_registry::ParticleKind; +use bevy_ecs::component::Component; + +#[derive(Component, Debug, Clone, McBuf, Default)] +pub struct Particle { + #[var] + pub id: i32, + pub data: ParticleData, +} + +#[derive(Clone, Debug, McBuf, Default)] +pub enum ParticleData { + AngryVillager, + BlockMarker(BlockParticle), + Block(BlockParticle), + Bubble, + BubbleColumnUp, + BubblePop, + CampfireCosySmoke, + CampfireSignalSmoke, + Cloud, + Composter, + Crit, + CurrentDown, + DamageIndicator, + DragonBreath, + Dolphin, + DrippingLava, + FallingLava, + LandingLava, + DrippingWater, + FallingWater, + Dust(DustParticle), + DustColorTransition(DustColorTransitionParticle), + Effect, + ElderGuardian, + EnchantedHit, + Enchant, + EndRod, + #[default] + EntityEffect, + ExplosionEmitter, + Explosion, + SonicBoom, + FallingDust(BlockParticle), + Gust, + SmallGust, + GustEmitterLarge, + GustEmitterSmall, + Firework, + Fishing, + Flame, + Infested, + SculkSoul, + SculkCharge(SculkChargeParticle), + SculkChargePop, + Soul, + SoulFireFlame, + Flash, + HappyVillager, + Heart, + InstantEffect, + Item(ItemParticle), + ItemSlime, + ItemCobweb, + ItemSnowball, + LargeSmoke, + Lava, + Mycelium, + Nautilus, + Note, + Poof, + Portal, + Rain, + Smoke, + WhiteSmoke, + Sneeze, + Snowflake, + Spit, + SweepAttack, + TotemOfUndying, + SquidInk, + Underwater, + Splash, + Witch, + DrippingHoney, + FallingHoney, + LandingHoney, + FallingNectar, + FallingSporeBlossom, + SporeBlossomAir, + Ash, + CrimsonSpore, + WarpedSpore, + DrippingObsidianTear, + FallingObsidianTear, + LandingObsidianTear, + ReversePortal, + WhiteAsh, + SmallFlame, + DrippingDripstoneWater, + FallingDripstoneWater, + CherryLeaves, + DrippingDripstoneLava, + FallingDripstoneLava, + Vibration(VibrationParticle), + GlowSquidInk, + Glow, + WaxOn, + WaxOff, + ElectricSpark, + Scrape, + Shriek(ShriekParticle), + EggCrack, + DustPlume, + TrialSpawnerDetection, + TrialSpawnerDetectionOminous, + VaultConnection, + DustPillar, + RaidOmen, + TrialOmen, + OminousSpawning, +} + +impl From<ParticleKind> for ParticleData { + /// Convert a particle kind into particle data. If the particle has data + /// attached (like block particles), then it's set to the default. + fn from(kind: ParticleKind) -> Self { + // this is mostly just here so it fails to compile when a new particle is added + // to ParticleKind, since ParticleData has to be updated manually + match kind { + ParticleKind::AngryVillager => Self::AngryVillager, + ParticleKind::Block => Self::Block(BlockParticle::default()), + ParticleKind::BlockMarker => Self::BlockMarker(BlockParticle::default()), + ParticleKind::Bubble => Self::Bubble, + ParticleKind::Cloud => Self::Cloud, + ParticleKind::Crit => Self::Crit, + ParticleKind::DamageIndicator => Self::DamageIndicator, + ParticleKind::DragonBreath => Self::DragonBreath, + ParticleKind::DrippingLava => Self::DrippingLava, + ParticleKind::FallingLava => Self::FallingLava, + ParticleKind::LandingLava => Self::LandingLava, + ParticleKind::DrippingWater => Self::DrippingWater, + ParticleKind::FallingWater => Self::FallingWater, + ParticleKind::Dust => Self::Dust(DustParticle::default()), + ParticleKind::DustColorTransition => { + Self::DustColorTransition(DustColorTransitionParticle::default()) + } + ParticleKind::Effect => Self::Effect, + ParticleKind::ElderGuardian => Self::ElderGuardian, + ParticleKind::EnchantedHit => Self::EnchantedHit, + ParticleKind::Enchant => Self::Enchant, + ParticleKind::EndRod => Self::EndRod, + ParticleKind::EntityEffect => Self::EntityEffect, + ParticleKind::ExplosionEmitter => Self::ExplosionEmitter, + ParticleKind::Explosion => Self::Explosion, + ParticleKind::Gust => Self::Gust, + ParticleKind::SonicBoom => Self::SonicBoom, + ParticleKind::FallingDust => Self::FallingDust(BlockParticle::default()), + ParticleKind::Firework => Self::Firework, + ParticleKind::Fishing => Self::Fishing, + ParticleKind::Flame => Self::Flame, + ParticleKind::CherryLeaves => Self::CherryLeaves, + ParticleKind::SculkSoul => Self::SculkSoul, + ParticleKind::SculkCharge => Self::SculkCharge(SculkChargeParticle::default()), + ParticleKind::SculkChargePop => Self::SculkChargePop, + ParticleKind::SoulFireFlame => Self::SoulFireFlame, + ParticleKind::Soul => Self::Soul, + ParticleKind::Flash => Self::Flash, + ParticleKind::HappyVillager => Self::HappyVillager, + ParticleKind::Composter => Self::Composter, + ParticleKind::Heart => Self::Heart, + ParticleKind::InstantEffect => Self::InstantEffect, + ParticleKind::Item => Self::Item(ItemParticle::default()), + ParticleKind::Vibration => Self::Vibration(VibrationParticle::default()), + ParticleKind::ItemSlime => Self::ItemSlime, + ParticleKind::ItemSnowball => Self::ItemSnowball, + ParticleKind::LargeSmoke => Self::LargeSmoke, + ParticleKind::Lava => Self::Lava, + ParticleKind::Mycelium => Self::Mycelium, + ParticleKind::Note => Self::Note, + ParticleKind::Poof => Self::Poof, + ParticleKind::Portal => Self::Portal, + ParticleKind::Rain => Self::Rain, + ParticleKind::Smoke => Self::Smoke, + ParticleKind::WhiteSmoke => Self::WhiteSmoke, + ParticleKind::Sneeze => Self::Sneeze, + ParticleKind::Spit => Self::Spit, + ParticleKind::SquidInk => Self::SquidInk, + ParticleKind::SweepAttack => Self::SweepAttack, + ParticleKind::TotemOfUndying => Self::TotemOfUndying, + ParticleKind::Underwater => Self::Underwater, + ParticleKind::Splash => Self::Splash, + ParticleKind::Witch => Self::Witch, + ParticleKind::BubblePop => Self::BubblePop, + ParticleKind::CurrentDown => Self::CurrentDown, + ParticleKind::BubbleColumnUp => Self::BubbleColumnUp, + ParticleKind::Nautilus => Self::Nautilus, + ParticleKind::Dolphin => Self::Dolphin, + ParticleKind::CampfireCosySmoke => Self::CampfireCosySmoke, + ParticleKind::CampfireSignalSmoke => Self::CampfireSignalSmoke, + ParticleKind::DrippingHoney => Self::DrippingHoney, + ParticleKind::FallingHoney => Self::FallingHoney, + ParticleKind::LandingHoney => Self::LandingHoney, + ParticleKind::FallingNectar => Self::FallingNectar, + ParticleKind::FallingSporeBlossom => Self::FallingSporeBlossom, + ParticleKind::Ash => Self::Ash, + ParticleKind::CrimsonSpore => Self::CrimsonSpore, + ParticleKind::WarpedSpore => Self::WarpedSpore, + ParticleKind::SporeBlossomAir => Self::SporeBlossomAir, + ParticleKind::DrippingObsidianTear => Self::DrippingObsidianTear, + ParticleKind::FallingObsidianTear => Self::FallingObsidianTear, + ParticleKind::LandingObsidianTear => Self::LandingObsidianTear, + ParticleKind::ReversePortal => Self::ReversePortal, + ParticleKind::WhiteAsh => Self::WhiteAsh, + ParticleKind::SmallFlame => Self::SmallFlame, + ParticleKind::Snowflake => Self::Snowflake, + ParticleKind::DrippingDripstoneLava => Self::DrippingDripstoneLava, + ParticleKind::FallingDripstoneLava => Self::FallingDripstoneLava, + ParticleKind::DrippingDripstoneWater => Self::DrippingDripstoneWater, + ParticleKind::FallingDripstoneWater => Self::FallingDripstoneWater, + ParticleKind::GlowSquidInk => Self::GlowSquidInk, + ParticleKind::Glow => Self::Glow, + ParticleKind::WaxOn => Self::WaxOn, + ParticleKind::WaxOff => Self::WaxOff, + ParticleKind::ElectricSpark => Self::ElectricSpark, + ParticleKind::Scrape => Self::Scrape, + ParticleKind::Shriek => Self::Shriek(ShriekParticle::default()), + ParticleKind::EggCrack => Self::EggCrack, + ParticleKind::DustPlume => Self::DustPlume, + ParticleKind::SmallGust => Self::SmallGust, + ParticleKind::GustEmitterLarge => Self::GustEmitterLarge, + ParticleKind::GustEmitterSmall => Self::GustEmitterSmall, + ParticleKind::Infested => Self::Infested, + ParticleKind::ItemCobweb => Self::ItemCobweb, + ParticleKind::TrialSpawnerDetection => Self::TrialSpawnerDetection, + ParticleKind::TrialSpawnerDetectionOminous => Self::TrialSpawnerDetectionOminous, + ParticleKind::VaultConnection => Self::VaultConnection, + ParticleKind::DustPillar => Self::DustPillar, + ParticleKind::OminousSpawning => Self::OminousSpawning, + ParticleKind::RaidOmen => Self::RaidOmen, + ParticleKind::TrialOmen => Self::TrialOmen, + } + } +} + +#[derive(Debug, Clone, McBuf, Default)] +pub struct BlockParticle { + #[var] + pub block_state: i32, +} +#[derive(Debug, Clone, McBuf, Default)] +pub struct DustParticle { + /// Red value, 0-1 + pub red: f32, + /// Green value, 0-1 + pub green: f32, + /// Blue value, 0-1 + pub blue: f32, + /// The scale, will be clamped between 0.01 and 4. + pub scale: f32, +} + +#[derive(Debug, Clone, McBuf, Default)] +pub struct DustColorTransitionParticle { + /// Red value, 0-1 + pub from_red: f32, + /// Green value, 0-1 + pub from_green: f32, + /// Blue value, 0-1 + pub from_blue: f32, + /// The scale, will be clamped between 0.01 and 4. + pub scale: f32, + /// Red value, 0-1 + pub to_red: f32, + /// Green value, 0-1 + pub to_green: f32, + /// Blue value, 0-1 + pub to_blue: f32, +} + +#[derive(Debug, Clone, McBuf, Default)] +pub struct ItemParticle { + pub item: ItemSlot, +} + +#[derive(Debug, Clone, McBuf, Default)] +pub struct VibrationParticle { + pub origin: BlockPos, + pub position_type: String, + pub block_position: BlockPos, + #[var] + pub entity_id: u32, + #[var] + pub ticks: u32, +} + +#[derive(Debug, Clone, McBuf, Default)] +pub struct SculkChargeParticle { + pub roll: f32, +} + +#[derive(Debug, Clone, McBuf, Default)] +pub struct ShriekParticle { + #[var] + pub delay: i32, // The time in ticks before the particle is displayed +} |
