1
2
Fork 0
mirror of https://github.com/mat-1/azalea.git synced 2025-08-02 23:44:38 +00:00

update wrong entity metadata

This commit is contained in:
mat 2025-01-11 04:09:39 +00:00
commit 31d0ac7568
2 changed files with 867 additions and 676 deletions

View file

@ -58,11 +58,11 @@ pub struct NoGravity(pub bool);
#[derive(Component, Deref, DerefMut, Clone)] #[derive(Component, Deref, DerefMut, Clone)]
pub struct TicksFrozen(pub i32); pub struct TicksFrozen(pub i32);
#[derive(Component, Deref, DerefMut, Clone)] #[derive(Component, Deref, DerefMut, Clone)]
pub struct AbstractBoatHurt(pub i32); pub struct Hurt(pub i32);
#[derive(Component, Deref, DerefMut, Clone)] #[derive(Component, Deref, DerefMut, Clone)]
pub struct AbstractBoatHurtdir(pub i32); pub struct Hurtdir(pub i32);
#[derive(Component, Deref, DerefMut, Clone)] #[derive(Component, Deref, DerefMut, Clone)]
pub struct AbstractBoatDamage(pub f32); pub struct Damage(pub f32);
#[derive(Component, Deref, DerefMut, Clone)] #[derive(Component, Deref, DerefMut, Clone)]
pub struct PaddleLeft(pub bool); pub struct PaddleLeft(pub bool);
#[derive(Component, Deref, DerefMut, Clone)] #[derive(Component, Deref, DerefMut, Clone)]
@ -95,6 +95,8 @@ impl Default for AcaciaBoatMetadataBundle {
_marker: AcaciaBoat, _marker: AcaciaBoat,
parent: AbstractBoatMetadataBundle { parent: AbstractBoatMetadataBundle {
_marker: AbstractBoat, _marker: AbstractBoat,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -112,9 +114,10 @@ impl Default for AcaciaBoatMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_boat_hurt: AbstractBoatHurt(0), hurt: Hurt(0),
abstract_boat_hurtdir: AbstractBoatHurtdir(1), hurtdir: Hurtdir(1),
abstract_boat_damage: AbstractBoatDamage(0.0), damage: Damage(0.0),
},
paddle_left: PaddleLeft(false), paddle_left: PaddleLeft(false),
paddle_right: PaddleRight(false), paddle_right: PaddleRight(false),
bubble_time: BubbleTime(0), bubble_time: BubbleTime(0),
@ -149,6 +152,8 @@ impl Default for AcaciaChestBoatMetadataBundle {
_marker: AcaciaChestBoat, _marker: AcaciaChestBoat,
parent: AbstractBoatMetadataBundle { parent: AbstractBoatMetadataBundle {
_marker: AbstractBoat, _marker: AbstractBoat,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -166,9 +171,10 @@ impl Default for AcaciaChestBoatMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_boat_hurt: AbstractBoatHurt(0), hurt: Hurt(0),
abstract_boat_hurtdir: AbstractBoatHurtdir(1), hurtdir: Hurtdir(1),
abstract_boat_damage: AbstractBoatDamage(0.0), damage: Damage(0.0),
},
paddle_left: PaddleLeft(false), paddle_left: PaddleLeft(false),
paddle_right: PaddleRight(false), paddle_right: PaddleRight(false),
bubble_time: BubbleTime(0), bubble_time: BubbleTime(0),
@ -730,6 +736,8 @@ impl Default for BambooChestRaftMetadataBundle {
_marker: BambooChestRaft, _marker: BambooChestRaft,
parent: AbstractBoatMetadataBundle { parent: AbstractBoatMetadataBundle {
_marker: AbstractBoat, _marker: AbstractBoat,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -747,9 +755,10 @@ impl Default for BambooChestRaftMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_boat_hurt: AbstractBoatHurt(0), hurt: Hurt(0),
abstract_boat_hurtdir: AbstractBoatHurtdir(1), hurtdir: Hurtdir(1),
abstract_boat_damage: AbstractBoatDamage(0.0), damage: Damage(0.0),
},
paddle_left: PaddleLeft(false), paddle_left: PaddleLeft(false),
paddle_right: PaddleRight(false), paddle_right: PaddleRight(false),
bubble_time: BubbleTime(0), bubble_time: BubbleTime(0),
@ -784,6 +793,8 @@ impl Default for BambooRaftMetadataBundle {
_marker: BambooRaft, _marker: BambooRaft,
parent: AbstractBoatMetadataBundle { parent: AbstractBoatMetadataBundle {
_marker: AbstractBoat, _marker: AbstractBoat,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -801,9 +812,10 @@ impl Default for BambooRaftMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_boat_hurt: AbstractBoatHurt(0), hurt: Hurt(0),
abstract_boat_hurtdir: AbstractBoatHurtdir(1), hurtdir: Hurtdir(1),
abstract_boat_damage: AbstractBoatDamage(0.0), damage: Damage(0.0),
},
paddle_left: PaddleLeft(false), paddle_left: PaddleLeft(false),
paddle_right: PaddleRight(false), paddle_right: PaddleRight(false),
bubble_time: BubbleTime(0), bubble_time: BubbleTime(0),
@ -1005,6 +1017,8 @@ impl Default for BirchBoatMetadataBundle {
_marker: BirchBoat, _marker: BirchBoat,
parent: AbstractBoatMetadataBundle { parent: AbstractBoatMetadataBundle {
_marker: AbstractBoat, _marker: AbstractBoat,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -1022,9 +1036,10 @@ impl Default for BirchBoatMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_boat_hurt: AbstractBoatHurt(0), hurt: Hurt(0),
abstract_boat_hurtdir: AbstractBoatHurtdir(1), hurtdir: Hurtdir(1),
abstract_boat_damage: AbstractBoatDamage(0.0), damage: Damage(0.0),
},
paddle_left: PaddleLeft(false), paddle_left: PaddleLeft(false),
paddle_right: PaddleRight(false), paddle_right: PaddleRight(false),
bubble_time: BubbleTime(0), bubble_time: BubbleTime(0),
@ -1059,6 +1074,8 @@ impl Default for BirchChestBoatMetadataBundle {
_marker: BirchChestBoat, _marker: BirchChestBoat,
parent: AbstractBoatMetadataBundle { parent: AbstractBoatMetadataBundle {
_marker: AbstractBoat, _marker: AbstractBoat,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -1076,9 +1093,10 @@ impl Default for BirchChestBoatMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_boat_hurt: AbstractBoatHurt(0), hurt: Hurt(0),
abstract_boat_hurtdir: AbstractBoatHurtdir(1), hurtdir: Hurtdir(1),
abstract_boat_damage: AbstractBoatDamage(0.0), damage: Damage(0.0),
},
paddle_left: PaddleLeft(false), paddle_left: PaddleLeft(false),
paddle_right: PaddleRight(false), paddle_right: PaddleRight(false),
bubble_time: BubbleTime(0), bubble_time: BubbleTime(0),
@ -1786,6 +1804,8 @@ impl Default for CherryBoatMetadataBundle {
_marker: CherryBoat, _marker: CherryBoat,
parent: AbstractBoatMetadataBundle { parent: AbstractBoatMetadataBundle {
_marker: AbstractBoat, _marker: AbstractBoat,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -1803,9 +1823,10 @@ impl Default for CherryBoatMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_boat_hurt: AbstractBoatHurt(0), hurt: Hurt(0),
abstract_boat_hurtdir: AbstractBoatHurtdir(1), hurtdir: Hurtdir(1),
abstract_boat_damage: AbstractBoatDamage(0.0), damage: Damage(0.0),
},
paddle_left: PaddleLeft(false), paddle_left: PaddleLeft(false),
paddle_right: PaddleRight(false), paddle_right: PaddleRight(false),
bubble_time: BubbleTime(0), bubble_time: BubbleTime(0),
@ -1840,6 +1861,8 @@ impl Default for CherryChestBoatMetadataBundle {
_marker: CherryChestBoat, _marker: CherryChestBoat,
parent: AbstractBoatMetadataBundle { parent: AbstractBoatMetadataBundle {
_marker: AbstractBoat, _marker: AbstractBoat,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -1857,9 +1880,10 @@ impl Default for CherryChestBoatMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_boat_hurt: AbstractBoatHurt(0), hurt: Hurt(0),
abstract_boat_hurtdir: AbstractBoatHurtdir(1), hurtdir: Hurtdir(1),
abstract_boat_damage: AbstractBoatDamage(0.0), damage: Damage(0.0),
},
paddle_left: PaddleLeft(false), paddle_left: PaddleLeft(false),
paddle_right: PaddleRight(false), paddle_right: PaddleRight(false),
bubble_time: BubbleTime(0), bubble_time: BubbleTime(0),
@ -1868,12 +1892,6 @@ impl Default for CherryChestBoatMetadataBundle {
} }
} }
#[derive(Component, Deref, DerefMut, Clone)]
pub struct AbstractMinecartHurt(pub i32);
#[derive(Component, Deref, DerefMut, Clone)]
pub struct AbstractMinecartHurtdir(pub i32);
#[derive(Component, Deref, DerefMut, Clone)]
pub struct AbstractMinecartDamage(pub f32);
#[derive(Component, Deref, DerefMut, Clone)] #[derive(Component, Deref, DerefMut, Clone)]
pub struct DisplayBlock(pub i32); pub struct DisplayBlock(pub i32);
#[derive(Component, Deref, DerefMut, Clone)] #[derive(Component, Deref, DerefMut, Clone)]
@ -1906,6 +1924,8 @@ impl Default for ChestMinecartMetadataBundle {
_marker: ChestMinecart, _marker: ChestMinecart,
parent: AbstractMinecartMetadataBundle { parent: AbstractMinecartMetadataBundle {
_marker: AbstractMinecart, _marker: AbstractMinecart,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -1923,9 +1943,10 @@ impl Default for ChestMinecartMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_minecart_hurt: AbstractMinecartHurt(0), hurt: Hurt(0),
abstract_minecart_hurtdir: AbstractMinecartHurtdir(1), hurtdir: Hurtdir(1),
abstract_minecart_damage: AbstractMinecartDamage(0.0), damage: Damage(0.0),
},
display_block: DisplayBlock(Default::default()), display_block: DisplayBlock(Default::default()),
display_offset: DisplayOffset(6), display_offset: DisplayOffset(6),
custom_display: CustomDisplay(false), custom_display: CustomDisplay(false),
@ -2115,6 +2136,8 @@ impl Default for CommandBlockMinecartMetadataBundle {
_marker: CommandBlockMinecart, _marker: CommandBlockMinecart,
parent: AbstractMinecartMetadataBundle { parent: AbstractMinecartMetadataBundle {
_marker: AbstractMinecart, _marker: AbstractMinecart,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -2132,9 +2155,10 @@ impl Default for CommandBlockMinecartMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_minecart_hurt: AbstractMinecartHurt(0), hurt: Hurt(0),
abstract_minecart_hurtdir: AbstractMinecartHurtdir(1), hurtdir: Hurtdir(1),
abstract_minecart_damage: AbstractMinecartDamage(0.0), damage: Damage(0.0),
},
display_block: DisplayBlock(Default::default()), display_block: DisplayBlock(Default::default()),
display_offset: DisplayOffset(6), display_offset: DisplayOffset(6),
custom_display: CustomDisplay(false), custom_display: CustomDisplay(false),
@ -2428,6 +2452,8 @@ impl Default for DarkOakBoatMetadataBundle {
_marker: DarkOakBoat, _marker: DarkOakBoat,
parent: AbstractBoatMetadataBundle { parent: AbstractBoatMetadataBundle {
_marker: AbstractBoat, _marker: AbstractBoat,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -2445,9 +2471,10 @@ impl Default for DarkOakBoatMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_boat_hurt: AbstractBoatHurt(0), hurt: Hurt(0),
abstract_boat_hurtdir: AbstractBoatHurtdir(1), hurtdir: Hurtdir(1),
abstract_boat_damage: AbstractBoatDamage(0.0), damage: Damage(0.0),
},
paddle_left: PaddleLeft(false), paddle_left: PaddleLeft(false),
paddle_right: PaddleRight(false), paddle_right: PaddleRight(false),
bubble_time: BubbleTime(0), bubble_time: BubbleTime(0),
@ -2482,6 +2509,8 @@ impl Default for DarkOakChestBoatMetadataBundle {
_marker: DarkOakChestBoat, _marker: DarkOakChestBoat,
parent: AbstractBoatMetadataBundle { parent: AbstractBoatMetadataBundle {
_marker: AbstractBoat, _marker: AbstractBoat,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -2499,9 +2528,10 @@ impl Default for DarkOakChestBoatMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_boat_hurt: AbstractBoatHurt(0), hurt: Hurt(0),
abstract_boat_hurtdir: AbstractBoatHurtdir(1), hurtdir: Hurtdir(1),
abstract_boat_damage: AbstractBoatDamage(0.0), damage: Damage(0.0),
},
paddle_left: PaddleLeft(false), paddle_left: PaddleLeft(false),
paddle_right: PaddleRight(false), paddle_right: PaddleRight(false),
bubble_time: BubbleTime(0), bubble_time: BubbleTime(0),
@ -3788,6 +3818,8 @@ pub struct FoxSitting(pub bool);
#[derive(Component, Deref, DerefMut, Clone, Copy)] #[derive(Component, Deref, DerefMut, Clone, Copy)]
pub struct Faceplanted(pub bool); pub struct Faceplanted(pub bool);
#[derive(Component, Deref, DerefMut, Clone, Copy)] #[derive(Component, Deref, DerefMut, Clone, Copy)]
pub struct Defending(pub bool);
#[derive(Component, Deref, DerefMut, Clone, Copy)]
pub struct Sleeping(pub bool); pub struct Sleeping(pub bool);
#[derive(Component, Deref, DerefMut, Clone, Copy)] #[derive(Component, Deref, DerefMut, Clone, Copy)]
pub struct Pouncing(pub bool); pub struct Pouncing(pub bool);
@ -3815,6 +3847,7 @@ impl Fox {
let bitfield = d.value.into_byte()?; let bitfield = d.value.into_byte()?;
entity.insert(FoxSitting(bitfield & 0x1 != 0)); entity.insert(FoxSitting(bitfield & 0x1 != 0));
entity.insert(Faceplanted(bitfield & 0x40 != 0)); entity.insert(Faceplanted(bitfield & 0x40 != 0));
entity.insert(Defending(bitfield & 0x80 != 0));
entity.insert(Sleeping(bitfield & 0x20 != 0)); entity.insert(Sleeping(bitfield & 0x20 != 0));
entity.insert(Pouncing(bitfield & 0x10 != 0)); entity.insert(Pouncing(bitfield & 0x10 != 0));
entity.insert(Crouching(bitfield & 0x4 != 0)); entity.insert(Crouching(bitfield & 0x4 != 0));
@ -3839,6 +3872,7 @@ pub struct FoxMetadataBundle {
fox_kind: FoxKind, fox_kind: FoxKind,
fox_sitting: FoxSitting, fox_sitting: FoxSitting,
faceplanted: Faceplanted, faceplanted: Faceplanted,
defending: Defending,
sleeping: Sleeping, sleeping: Sleeping,
pouncing: Pouncing, pouncing: Pouncing,
crouching: Crouching, crouching: Crouching,
@ -3897,6 +3931,7 @@ impl Default for FoxMetadataBundle {
fox_kind: FoxKind(0), fox_kind: FoxKind(0),
fox_sitting: FoxSitting(false), fox_sitting: FoxSitting(false),
faceplanted: Faceplanted(false), faceplanted: Faceplanted(false),
defending: Defending(false),
sleeping: Sleeping(false), sleeping: Sleeping(false),
pouncing: Pouncing(false), pouncing: Pouncing(false),
crouching: Crouching(false), crouching: Crouching(false),
@ -4025,6 +4060,8 @@ impl Default for FurnaceMinecartMetadataBundle {
_marker: FurnaceMinecart, _marker: FurnaceMinecart,
parent: AbstractMinecartMetadataBundle { parent: AbstractMinecartMetadataBundle {
_marker: AbstractMinecart, _marker: AbstractMinecart,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -4042,9 +4079,10 @@ impl Default for FurnaceMinecartMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_minecart_hurt: AbstractMinecartHurt(0), hurt: Hurt(0),
abstract_minecart_hurtdir: AbstractMinecartHurtdir(1), hurtdir: Hurtdir(1),
abstract_minecart_damage: AbstractMinecartDamage(0.0), damage: Damage(0.0),
},
display_block: DisplayBlock(Default::default()), display_block: DisplayBlock(Default::default()),
display_offset: DisplayOffset(6), display_offset: DisplayOffset(6),
custom_display: CustomDisplay(false), custom_display: CustomDisplay(false),
@ -4600,6 +4638,8 @@ impl Default for HopperMinecartMetadataBundle {
_marker: HopperMinecart, _marker: HopperMinecart,
parent: AbstractMinecartMetadataBundle { parent: AbstractMinecartMetadataBundle {
_marker: AbstractMinecart, _marker: AbstractMinecart,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -4617,9 +4657,10 @@ impl Default for HopperMinecartMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_minecart_hurt: AbstractMinecartHurt(0), hurt: Hurt(0),
abstract_minecart_hurtdir: AbstractMinecartHurtdir(1), hurtdir: Hurtdir(1),
abstract_minecart_damage: AbstractMinecartDamage(0.0), damage: Damage(0.0),
},
display_block: DisplayBlock(Default::default()), display_block: DisplayBlock(Default::default()),
display_offset: DisplayOffset(6), display_offset: DisplayOffset(6),
custom_display: CustomDisplay(false), custom_display: CustomDisplay(false),
@ -5233,6 +5274,8 @@ impl Default for JungleBoatMetadataBundle {
_marker: JungleBoat, _marker: JungleBoat,
parent: AbstractBoatMetadataBundle { parent: AbstractBoatMetadataBundle {
_marker: AbstractBoat, _marker: AbstractBoat,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -5250,9 +5293,10 @@ impl Default for JungleBoatMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_boat_hurt: AbstractBoatHurt(0), hurt: Hurt(0),
abstract_boat_hurtdir: AbstractBoatHurtdir(1), hurtdir: Hurtdir(1),
abstract_boat_damage: AbstractBoatDamage(0.0), damage: Damage(0.0),
},
paddle_left: PaddleLeft(false), paddle_left: PaddleLeft(false),
paddle_right: PaddleRight(false), paddle_right: PaddleRight(false),
bubble_time: BubbleTime(0), bubble_time: BubbleTime(0),
@ -5287,6 +5331,8 @@ impl Default for JungleChestBoatMetadataBundle {
_marker: JungleChestBoat, _marker: JungleChestBoat,
parent: AbstractBoatMetadataBundle { parent: AbstractBoatMetadataBundle {
_marker: AbstractBoat, _marker: AbstractBoat,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -5304,9 +5350,10 @@ impl Default for JungleChestBoatMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_boat_hurt: AbstractBoatHurt(0), hurt: Hurt(0),
abstract_boat_hurtdir: AbstractBoatHurtdir(1), hurtdir: Hurtdir(1),
abstract_boat_damage: AbstractBoatDamage(0.0), damage: Damage(0.0),
},
paddle_left: PaddleLeft(false), paddle_left: PaddleLeft(false),
paddle_right: PaddleRight(false), paddle_right: PaddleRight(false),
bubble_time: BubbleTime(0), bubble_time: BubbleTime(0),
@ -5644,6 +5691,8 @@ impl Default for MangroveBoatMetadataBundle {
_marker: MangroveBoat, _marker: MangroveBoat,
parent: AbstractBoatMetadataBundle { parent: AbstractBoatMetadataBundle {
_marker: AbstractBoat, _marker: AbstractBoat,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -5661,9 +5710,10 @@ impl Default for MangroveBoatMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_boat_hurt: AbstractBoatHurt(0), hurt: Hurt(0),
abstract_boat_hurtdir: AbstractBoatHurtdir(1), hurtdir: Hurtdir(1),
abstract_boat_damage: AbstractBoatDamage(0.0), damage: Damage(0.0),
},
paddle_left: PaddleLeft(false), paddle_left: PaddleLeft(false),
paddle_right: PaddleRight(false), paddle_right: PaddleRight(false),
bubble_time: BubbleTime(0), bubble_time: BubbleTime(0),
@ -5698,6 +5748,8 @@ impl Default for MangroveChestBoatMetadataBundle {
_marker: MangroveChestBoat, _marker: MangroveChestBoat,
parent: AbstractBoatMetadataBundle { parent: AbstractBoatMetadataBundle {
_marker: AbstractBoat, _marker: AbstractBoat,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -5715,9 +5767,10 @@ impl Default for MangroveChestBoatMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_boat_hurt: AbstractBoatHurt(0), hurt: Hurt(0),
abstract_boat_hurtdir: AbstractBoatHurtdir(1), hurtdir: Hurtdir(1),
abstract_boat_damage: AbstractBoatDamage(0.0), damage: Damage(0.0),
},
paddle_left: PaddleLeft(false), paddle_left: PaddleLeft(false),
paddle_right: PaddleRight(false), paddle_right: PaddleRight(false),
bubble_time: BubbleTime(0), bubble_time: BubbleTime(0),
@ -5797,6 +5850,8 @@ impl Default for MinecartMetadataBundle {
_marker: Minecart, _marker: Minecart,
parent: AbstractMinecartMetadataBundle { parent: AbstractMinecartMetadataBundle {
_marker: AbstractMinecart, _marker: AbstractMinecart,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -5814,9 +5869,10 @@ impl Default for MinecartMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_minecart_hurt: AbstractMinecartHurt(0), hurt: Hurt(0),
abstract_minecart_hurtdir: AbstractMinecartHurtdir(1), hurtdir: Hurtdir(1),
abstract_minecart_damage: AbstractMinecartDamage(0.0), damage: Damage(0.0),
},
display_block: DisplayBlock(Default::default()), display_block: DisplayBlock(Default::default()),
display_offset: DisplayOffset(6), display_offset: DisplayOffset(6),
custom_display: CustomDisplay(false), custom_display: CustomDisplay(false),
@ -6019,6 +6075,8 @@ impl Default for OakBoatMetadataBundle {
_marker: OakBoat, _marker: OakBoat,
parent: AbstractBoatMetadataBundle { parent: AbstractBoatMetadataBundle {
_marker: AbstractBoat, _marker: AbstractBoat,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -6036,9 +6094,10 @@ impl Default for OakBoatMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_boat_hurt: AbstractBoatHurt(0), hurt: Hurt(0),
abstract_boat_hurtdir: AbstractBoatHurtdir(1), hurtdir: Hurtdir(1),
abstract_boat_damage: AbstractBoatDamage(0.0), damage: Damage(0.0),
},
paddle_left: PaddleLeft(false), paddle_left: PaddleLeft(false),
paddle_right: PaddleRight(false), paddle_right: PaddleRight(false),
bubble_time: BubbleTime(0), bubble_time: BubbleTime(0),
@ -6073,6 +6132,8 @@ impl Default for OakChestBoatMetadataBundle {
_marker: OakChestBoat, _marker: OakChestBoat,
parent: AbstractBoatMetadataBundle { parent: AbstractBoatMetadataBundle {
_marker: AbstractBoat, _marker: AbstractBoat,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -6090,9 +6151,10 @@ impl Default for OakChestBoatMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_boat_hurt: AbstractBoatHurt(0), hurt: Hurt(0),
abstract_boat_hurtdir: AbstractBoatHurtdir(1), hurtdir: Hurtdir(1),
abstract_boat_damage: AbstractBoatDamage(0.0), damage: Damage(0.0),
},
paddle_left: PaddleLeft(false), paddle_left: PaddleLeft(false),
paddle_right: PaddleRight(false), paddle_right: PaddleRight(false),
bubble_time: BubbleTime(0), bubble_time: BubbleTime(0),
@ -6310,6 +6372,8 @@ impl Default for PaleOakBoatMetadataBundle {
_marker: PaleOakBoat, _marker: PaleOakBoat,
parent: AbstractBoatMetadataBundle { parent: AbstractBoatMetadataBundle {
_marker: AbstractBoat, _marker: AbstractBoat,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -6327,9 +6391,10 @@ impl Default for PaleOakBoatMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_boat_hurt: AbstractBoatHurt(0), hurt: Hurt(0),
abstract_boat_hurtdir: AbstractBoatHurtdir(1), hurtdir: Hurtdir(1),
abstract_boat_damage: AbstractBoatDamage(0.0), damage: Damage(0.0),
},
paddle_left: PaddleLeft(false), paddle_left: PaddleLeft(false),
paddle_right: PaddleRight(false), paddle_right: PaddleRight(false),
bubble_time: BubbleTime(0), bubble_time: BubbleTime(0),
@ -6364,6 +6429,8 @@ impl Default for PaleOakChestBoatMetadataBundle {
_marker: PaleOakChestBoat, _marker: PaleOakChestBoat,
parent: AbstractBoatMetadataBundle { parent: AbstractBoatMetadataBundle {
_marker: AbstractBoat, _marker: AbstractBoat,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -6381,9 +6448,10 @@ impl Default for PaleOakChestBoatMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_boat_hurt: AbstractBoatHurt(0), hurt: Hurt(0),
abstract_boat_hurtdir: AbstractBoatHurtdir(1), hurtdir: Hurtdir(1),
abstract_boat_damage: AbstractBoatDamage(0.0), damage: Damage(0.0),
},
paddle_left: PaddleLeft(false), paddle_left: PaddleLeft(false),
paddle_right: PaddleRight(false), paddle_right: PaddleRight(false),
bubble_time: BubbleTime(0), bubble_time: BubbleTime(0),
@ -6763,7 +6831,7 @@ impl Default for PigMetadataBundle {
} }
#[derive(Component, Deref, DerefMut, Clone)] #[derive(Component, Deref, DerefMut, Clone)]
pub struct PiglinImmuneToZombification(pub bool); pub struct AbstractPiglinImmuneToZombification(pub bool);
#[derive(Component, Deref, DerefMut, Clone)] #[derive(Component, Deref, DerefMut, Clone)]
pub struct PiglinBaby(pub bool); pub struct PiglinBaby(pub bool);
#[derive(Component, Deref, DerefMut, Clone)] #[derive(Component, Deref, DerefMut, Clone)]
@ -6778,10 +6846,7 @@ impl Piglin {
d: EntityDataItem, d: EntityDataItem,
) -> Result<(), UpdateMetadataError> { ) -> Result<(), UpdateMetadataError> {
match d.index { match d.index {
0..=15 => AbstractMonster::apply_metadata(entity, d)?, 0..=16 => AbstractPiglin::apply_metadata(entity, d)?,
16 => {
entity.insert(PiglinImmuneToZombification(d.value.into_boolean()?));
}
17 => { 17 => {
entity.insert(PiglinBaby(d.value.into_boolean()?)); entity.insert(PiglinBaby(d.value.into_boolean()?));
} }
@ -6800,8 +6865,7 @@ impl Piglin {
#[derive(Bundle)] #[derive(Bundle)]
pub struct PiglinMetadataBundle { pub struct PiglinMetadataBundle {
_marker: Piglin, _marker: Piglin,
parent: AbstractMonsterMetadataBundle, parent: AbstractPiglinMetadataBundle,
piglin_immune_to_zombification: PiglinImmuneToZombification,
piglin_baby: PiglinBaby, piglin_baby: PiglinBaby,
piglin_is_charging_crossbow: PiglinIsChargingCrossbow, piglin_is_charging_crossbow: PiglinIsChargingCrossbow,
is_dancing: IsDancing, is_dancing: IsDancing,
@ -6810,6 +6874,8 @@ impl Default for PiglinMetadataBundle {
fn default() -> Self { fn default() -> Self {
Self { Self {
_marker: Piglin, _marker: Piglin,
parent: AbstractPiglinMetadataBundle {
_marker: AbstractPiglin,
parent: AbstractMonsterMetadataBundle { parent: AbstractMonsterMetadataBundle {
_marker: AbstractMonster, _marker: AbstractMonster,
parent: AbstractCreatureMetadataBundle { parent: AbstractCreatureMetadataBundle {
@ -6850,7 +6916,8 @@ impl Default for PiglinMetadataBundle {
}, },
}, },
}, },
piglin_immune_to_zombification: PiglinImmuneToZombification(false), abstract_piglin_immune_to_zombification: AbstractPiglinImmuneToZombification(false),
},
piglin_baby: PiglinBaby(false), piglin_baby: PiglinBaby(false),
piglin_is_charging_crossbow: PiglinIsChargingCrossbow(false), piglin_is_charging_crossbow: PiglinIsChargingCrossbow(false),
is_dancing: IsDancing(false), is_dancing: IsDancing(false),
@ -6858,8 +6925,6 @@ impl Default for PiglinMetadataBundle {
} }
} }
#[derive(Component, Deref, DerefMut, Clone)]
pub struct PiglinBruteImmuneToZombification(pub bool);
#[derive(Component)] #[derive(Component)]
pub struct PiglinBrute; pub struct PiglinBrute;
impl PiglinBrute { impl PiglinBrute {
@ -6868,10 +6933,7 @@ impl PiglinBrute {
d: EntityDataItem, d: EntityDataItem,
) -> Result<(), UpdateMetadataError> { ) -> Result<(), UpdateMetadataError> {
match d.index { match d.index {
0..=15 => AbstractMonster::apply_metadata(entity, d)?, 0..=16 => AbstractPiglin::apply_metadata(entity, d)?,
16 => {
entity.insert(PiglinBruteImmuneToZombification(d.value.into_boolean()?));
}
_ => {} _ => {}
} }
Ok(()) Ok(())
@ -6881,13 +6943,14 @@ impl PiglinBrute {
#[derive(Bundle)] #[derive(Bundle)]
pub struct PiglinBruteMetadataBundle { pub struct PiglinBruteMetadataBundle {
_marker: PiglinBrute, _marker: PiglinBrute,
parent: AbstractMonsterMetadataBundle, parent: AbstractPiglinMetadataBundle,
piglin_brute_immune_to_zombification: PiglinBruteImmuneToZombification,
} }
impl Default for PiglinBruteMetadataBundle { impl Default for PiglinBruteMetadataBundle {
fn default() -> Self { fn default() -> Self {
Self { Self {
_marker: PiglinBrute, _marker: PiglinBrute,
parent: AbstractPiglinMetadataBundle {
_marker: AbstractPiglin,
parent: AbstractMonsterMetadataBundle { parent: AbstractMonsterMetadataBundle {
_marker: AbstractMonster, _marker: AbstractMonster,
parent: AbstractCreatureMetadataBundle { parent: AbstractCreatureMetadataBundle {
@ -6928,7 +6991,8 @@ impl Default for PiglinBruteMetadataBundle {
}, },
}, },
}, },
piglin_brute_immune_to_zombification: PiglinBruteImmuneToZombification(false), abstract_piglin_immune_to_zombification: AbstractPiglinImmuneToZombification(false),
},
} }
} }
} }
@ -8335,6 +8399,8 @@ impl Default for SpawnerMinecartMetadataBundle {
_marker: SpawnerMinecart, _marker: SpawnerMinecart,
parent: AbstractMinecartMetadataBundle { parent: AbstractMinecartMetadataBundle {
_marker: AbstractMinecart, _marker: AbstractMinecart,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -8352,9 +8418,10 @@ impl Default for SpawnerMinecartMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_minecart_hurt: AbstractMinecartHurt(0), hurt: Hurt(0),
abstract_minecart_hurtdir: AbstractMinecartHurtdir(1), hurtdir: Hurtdir(1),
abstract_minecart_damage: AbstractMinecartDamage(0.0), damage: Damage(0.0),
},
display_block: DisplayBlock(Default::default()), display_block: DisplayBlock(Default::default()),
display_offset: DisplayOffset(6), display_offset: DisplayOffset(6),
custom_display: CustomDisplay(false), custom_display: CustomDisplay(false),
@ -8515,6 +8582,8 @@ impl Default for SpruceBoatMetadataBundle {
_marker: SpruceBoat, _marker: SpruceBoat,
parent: AbstractBoatMetadataBundle { parent: AbstractBoatMetadataBundle {
_marker: AbstractBoat, _marker: AbstractBoat,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -8532,9 +8601,10 @@ impl Default for SpruceBoatMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_boat_hurt: AbstractBoatHurt(0), hurt: Hurt(0),
abstract_boat_hurtdir: AbstractBoatHurtdir(1), hurtdir: Hurtdir(1),
abstract_boat_damage: AbstractBoatDamage(0.0), damage: Damage(0.0),
},
paddle_left: PaddleLeft(false), paddle_left: PaddleLeft(false),
paddle_right: PaddleRight(false), paddle_right: PaddleRight(false),
bubble_time: BubbleTime(0), bubble_time: BubbleTime(0),
@ -8569,6 +8639,8 @@ impl Default for SpruceChestBoatMetadataBundle {
_marker: SpruceChestBoat, _marker: SpruceChestBoat,
parent: AbstractBoatMetadataBundle { parent: AbstractBoatMetadataBundle {
_marker: AbstractBoat, _marker: AbstractBoat,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -8586,9 +8658,10 @@ impl Default for SpruceChestBoatMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_boat_hurt: AbstractBoatHurt(0), hurt: Hurt(0),
abstract_boat_hurtdir: AbstractBoatHurtdir(1), hurtdir: Hurtdir(1),
abstract_boat_damage: AbstractBoatDamage(0.0), damage: Damage(0.0),
},
paddle_left: PaddleLeft(false), paddle_left: PaddleLeft(false),
paddle_right: PaddleRight(false), paddle_right: PaddleRight(false),
bubble_time: BubbleTime(0), bubble_time: BubbleTime(0),
@ -9101,6 +9174,8 @@ impl Default for TntMinecartMetadataBundle {
_marker: TntMinecart, _marker: TntMinecart,
parent: AbstractMinecartMetadataBundle { parent: AbstractMinecartMetadataBundle {
_marker: AbstractMinecart, _marker: AbstractMinecart,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -9118,9 +9193,10 @@ impl Default for TntMinecartMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_minecart_hurt: AbstractMinecartHurt(0), hurt: Hurt(0),
abstract_minecart_hurtdir: AbstractMinecartHurtdir(1), hurtdir: Hurtdir(1),
abstract_minecart_damage: AbstractMinecartDamage(0.0), damage: Damage(0.0),
},
display_block: DisplayBlock(Default::default()), display_block: DisplayBlock(Default::default()),
display_offset: DisplayOffset(6), display_offset: DisplayOffset(6),
custom_display: CustomDisplay(false), custom_display: CustomDisplay(false),
@ -10920,16 +10996,7 @@ impl AbstractBoat {
d: EntityDataItem, d: EntityDataItem,
) -> Result<(), UpdateMetadataError> { ) -> Result<(), UpdateMetadataError> {
match d.index { match d.index {
0..=7 => AbstractEntity::apply_metadata(entity, d)?, 0..=10 => AbstractVehicle::apply_metadata(entity, d)?,
8 => {
entity.insert(AbstractBoatHurt(d.value.into_int()?));
}
9 => {
entity.insert(AbstractBoatHurtdir(d.value.into_int()?));
}
10 => {
entity.insert(AbstractBoatDamage(d.value.into_float()?));
}
11 => { 11 => {
entity.insert(PaddleLeft(d.value.into_boolean()?)); entity.insert(PaddleLeft(d.value.into_boolean()?));
} }
@ -10948,10 +11015,7 @@ impl AbstractBoat {
#[derive(Bundle)] #[derive(Bundle)]
pub struct AbstractBoatMetadataBundle { pub struct AbstractBoatMetadataBundle {
_marker: AbstractBoat, _marker: AbstractBoat,
parent: AbstractEntityMetadataBundle, parent: AbstractVehicleMetadataBundle,
abstract_boat_hurt: AbstractBoatHurt,
abstract_boat_hurtdir: AbstractBoatHurtdir,
abstract_boat_damage: AbstractBoatDamage,
paddle_left: PaddleLeft, paddle_left: PaddleLeft,
paddle_right: PaddleRight, paddle_right: PaddleRight,
bubble_time: BubbleTime, bubble_time: BubbleTime,
@ -10960,6 +11024,8 @@ impl Default for AbstractBoatMetadataBundle {
fn default() -> Self { fn default() -> Self {
Self { Self {
_marker: AbstractBoat, _marker: AbstractBoat,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -10977,9 +11043,10 @@ impl Default for AbstractBoatMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_boat_hurt: AbstractBoatHurt(0), hurt: Hurt(0),
abstract_boat_hurtdir: AbstractBoatHurtdir(1), hurtdir: Hurtdir(1),
abstract_boat_damage: AbstractBoatDamage(0.0), damage: Damage(0.0),
},
paddle_left: PaddleLeft(false), paddle_left: PaddleLeft(false),
paddle_right: PaddleRight(false), paddle_right: PaddleRight(false),
bubble_time: BubbleTime(0), bubble_time: BubbleTime(0),
@ -11680,16 +11747,7 @@ impl AbstractMinecart {
d: EntityDataItem, d: EntityDataItem,
) -> Result<(), UpdateMetadataError> { ) -> Result<(), UpdateMetadataError> {
match d.index { match d.index {
0..=7 => AbstractEntity::apply_metadata(entity, d)?, 0..=10 => AbstractVehicle::apply_metadata(entity, d)?,
8 => {
entity.insert(AbstractMinecartHurt(d.value.into_int()?));
}
9 => {
entity.insert(AbstractMinecartHurtdir(d.value.into_int()?));
}
10 => {
entity.insert(AbstractMinecartDamage(d.value.into_float()?));
}
11 => { 11 => {
entity.insert(DisplayBlock(d.value.into_int()?)); entity.insert(DisplayBlock(d.value.into_int()?));
} }
@ -11708,10 +11766,7 @@ impl AbstractMinecart {
#[derive(Bundle)] #[derive(Bundle)]
pub struct AbstractMinecartMetadataBundle { pub struct AbstractMinecartMetadataBundle {
_marker: AbstractMinecart, _marker: AbstractMinecart,
parent: AbstractEntityMetadataBundle, parent: AbstractVehicleMetadataBundle,
abstract_minecart_hurt: AbstractMinecartHurt,
abstract_minecart_hurtdir: AbstractMinecartHurtdir,
abstract_minecart_damage: AbstractMinecartDamage,
display_block: DisplayBlock, display_block: DisplayBlock,
display_offset: DisplayOffset, display_offset: DisplayOffset,
custom_display: CustomDisplay, custom_display: CustomDisplay,
@ -11720,6 +11775,8 @@ impl Default for AbstractMinecartMetadataBundle {
fn default() -> Self { fn default() -> Self {
Self { Self {
_marker: AbstractMinecart, _marker: AbstractMinecart,
parent: AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle { parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity, _marker: AbstractEntity,
on_fire: OnFire(false), on_fire: OnFire(false),
@ -11737,9 +11794,10 @@ impl Default for AbstractMinecartMetadataBundle {
pose: Pose::default(), pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()), ticks_frozen: TicksFrozen(Default::default()),
}, },
abstract_minecart_hurt: AbstractMinecartHurt(0), hurt: Hurt(0),
abstract_minecart_hurtdir: AbstractMinecartHurtdir(1), hurtdir: Hurtdir(1),
abstract_minecart_damage: AbstractMinecartDamage(0.0), damage: Damage(0.0),
},
display_block: DisplayBlock(Default::default()), display_block: DisplayBlock(Default::default()),
display_offset: DisplayOffset(6), display_offset: DisplayOffset(6),
custom_display: CustomDisplay(false), custom_display: CustomDisplay(false),
@ -11812,6 +11870,79 @@ impl Default for AbstractMonsterMetadataBundle {
} }
} }
#[derive(Component)]
pub struct AbstractPiglin;
impl AbstractPiglin {
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(AbstractPiglinImmuneToZombification(d.value.into_boolean()?));
}
_ => {}
}
Ok(())
}
}
#[derive(Bundle)]
pub struct AbstractPiglinMetadataBundle {
_marker: AbstractPiglin,
parent: AbstractMonsterMetadataBundle,
abstract_piglin_immune_to_zombification: AbstractPiglinImmuneToZombification,
}
impl Default for AbstractPiglinMetadataBundle {
fn default() -> Self {
Self {
_marker: AbstractPiglin,
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),
},
},
},
abstract_piglin_immune_to_zombification: AbstractPiglinImmuneToZombification(false),
}
}
}
#[derive(Component)] #[derive(Component)]
pub struct AbstractRaider; pub struct AbstractRaider;
impl AbstractRaider { impl AbstractRaider {
@ -12102,6 +12233,66 @@ impl Default for AbstractThrownItemProjectileMetadataBundle {
} }
} }
#[derive(Component)]
pub struct AbstractVehicle;
impl AbstractVehicle {
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(Hurt(d.value.into_int()?));
}
9 => {
entity.insert(Hurtdir(d.value.into_int()?));
}
10 => {
entity.insert(Damage(d.value.into_float()?));
}
_ => {}
}
Ok(())
}
}
#[derive(Bundle)]
pub struct AbstractVehicleMetadataBundle {
_marker: AbstractVehicle,
parent: AbstractEntityMetadataBundle,
hurt: Hurt,
hurtdir: Hurtdir,
damage: Damage,
}
impl Default for AbstractVehicleMetadataBundle {
fn default() -> Self {
Self {
_marker: AbstractVehicle,
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()),
},
hurt: Hurt(0),
hurtdir: Hurtdir(1),
damage: Damage(0.0),
}
}
}
#[derive(Component)] #[derive(Component)]
pub struct AbstractVillager; pub struct AbstractVillager;
impl AbstractVillager { impl AbstractVillager {

View file

@ -19,7 +19,7 @@ def get_burger():
f'cd {get_dir_location("__cache__")} && git clone https://github.com/mat-1/Burger && cd Burger && git pull') f'cd {get_dir_location("__cache__")} && git clone https://github.com/mat-1/Burger && cd Burger && git pull')
print('\033[92mInstalling dependencies...\033[m') print('\033[92mInstalling dependencies...\033[m')
os.system(f'cd {get_dir_location("__cache__")}/Burger && pip install six jawa') os.system(f'cd {get_dir_location("__cache__")}/Burger && python -m venv venv && venv/bin/pip install six jawa')
def get_pixlyzer(): def get_pixlyzer():