aboutsummaryrefslogtreecommitdiff
path: root/azalea-world/src/entity/metadata.rs
diff options
context:
space:
mode:
authormat <27899617+mat-1@users.noreply.github.com>2022-11-12 23:54:05 -0600
committerGitHub <noreply@github.com>2022-11-12 23:54:05 -0600
commit6eee543a3367d38a6f0e9bffb457a2bd76a8f9cc (patch)
treea5e493ccd7ec24293b8d866242c3836146517122 /azalea-world/src/entity/metadata.rs
parentfa57d03627aa20b1df44caed7cb025b6db1d9b53 (diff)
downloadazalea-drasl-6eee543a3367d38a6f0e9bffb457a2bd76a8f9cc.tar.xz
Pathfinder (#25)
Pathfinding is very much not done, but it works enough and I want to get this merged. TODO: fast replanning, goals that aren't a single node, falling moves (it should be able to play the dropper), parkour moves
Diffstat (limited to 'azalea-world/src/entity/metadata.rs')
-rw-r--r--azalea-world/src/entity/metadata.rs885
1 files changed, 884 insertions, 1 deletions
diff --git a/azalea-world/src/entity/metadata.rs b/azalea-world/src/entity/metadata.rs
index 59a8cb88..a031ade2 100644
--- a/azalea-world/src/entity/metadata.rs
+++ b/azalea-world/src/entity/metadata.rs
@@ -6,7 +6,10 @@ use super::{EntityDataValue, Pose, Rotations, VillagerData};
use azalea_block::BlockState;
use azalea_chat::Component;
use azalea_core::{BlockPos, Direction, Particle, Slot};
-use std::{collections::VecDeque, ops::Deref};
+use std::{
+ collections::VecDeque,
+ ops::{Deref, DerefMut},
+};
use uuid::Uuid;
#[derive(Debug, Clone)]
@@ -64,6 +67,11 @@ impl Deref for Allay {
&self.abstract_creature
}
}
+impl DerefMut for Allay {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_creature
+ }
+}
#[derive(Debug, Clone)]
pub struct AreaEffectCloud {
@@ -132,6 +140,11 @@ impl Deref for AreaEffectCloud {
&self.abstract_entity
}
}
+impl DerefMut for AreaEffectCloud {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct ArmorStand {
@@ -250,6 +263,11 @@ impl Deref for ArmorStand {
&self.abstract_living
}
}
+impl DerefMut for ArmorStand {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_living
+ }
+}
#[derive(Debug, Clone)]
pub struct Arrow {
@@ -336,6 +354,11 @@ impl Deref for Arrow {
&self.abstract_entity
}
}
+impl DerefMut for Arrow {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct Axolotl {
@@ -398,6 +421,11 @@ impl Deref for Axolotl {
&self.abstract_animal
}
}
+impl DerefMut for Axolotl {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_animal
+ }
+}
#[derive(Debug, Clone)]
pub struct Bat {
@@ -456,6 +484,11 @@ impl Deref for Bat {
&self.abstract_insentient
}
}
+impl DerefMut for Bat {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_insentient
+ }
+}
#[derive(Debug, Clone)]
pub struct Bee {
@@ -536,6 +569,11 @@ impl Deref for Bee {
&self.abstract_animal
}
}
+impl DerefMut for Bee {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_animal
+ }
+}
#[derive(Debug, Clone)]
pub struct Blaze {
@@ -594,6 +632,11 @@ impl Deref for Blaze {
&self.abstract_monster
}
}
+impl DerefMut for Blaze {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_monster
+ }
+}
#[derive(Debug, Clone)]
pub struct Boat {
@@ -680,6 +723,11 @@ impl Deref for Boat {
&self.abstract_entity
}
}
+impl DerefMut for Boat {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct Cat {
@@ -748,6 +796,11 @@ impl Deref for Cat {
&self.abstract_tameable
}
}
+impl DerefMut for Cat {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_tameable
+ }
+}
#[derive(Debug, Clone)]
pub struct CaveSpider {
@@ -786,6 +839,11 @@ impl Deref for CaveSpider {
&self.spider
}
}
+impl DerefMut for CaveSpider {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.spider
+ }
+}
#[derive(Debug, Clone)]
pub struct ChestBoat {
@@ -824,6 +882,11 @@ impl Deref for ChestBoat {
&self.boat
}
}
+impl DerefMut for ChestBoat {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.boat
+ }
+}
#[derive(Debug, Clone)]
pub struct ChestMinecart {
@@ -862,6 +925,11 @@ impl Deref for ChestMinecart {
&self.abstract_minecart
}
}
+impl DerefMut for ChestMinecart {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_minecart
+ }
+}
#[derive(Debug, Clone)]
pub struct Chicken {
@@ -900,6 +968,11 @@ impl Deref for Chicken {
&self.abstract_animal
}
}
+impl DerefMut for Chicken {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_animal
+ }
+}
#[derive(Debug, Clone)]
pub struct Cod {
@@ -950,6 +1023,11 @@ impl Deref for Cod {
&self.abstract_creature
}
}
+impl DerefMut for Cod {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_creature
+ }
+}
#[derive(Debug, Clone)]
pub struct CommandBlockMinecart {
@@ -1006,6 +1084,11 @@ impl Deref for CommandBlockMinecart {
&self.abstract_minecart
}
}
+impl DerefMut for CommandBlockMinecart {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_minecart
+ }
+}
#[derive(Debug, Clone)]
pub struct Cow {
@@ -1044,6 +1127,11 @@ impl Deref for Cow {
&self.abstract_animal
}
}
+impl DerefMut for Cow {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_animal
+ }
+}
#[derive(Debug, Clone)]
pub struct Creeper {
@@ -1106,6 +1194,11 @@ impl Deref for Creeper {
&self.abstract_monster
}
}
+impl DerefMut for Creeper {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_monster
+ }
+}
#[derive(Debug, Clone)]
pub struct Dolphin {
@@ -1168,6 +1261,11 @@ impl Deref for Dolphin {
&self.abstract_creature
}
}
+impl DerefMut for Dolphin {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_creature
+ }
+}
#[derive(Debug, Clone)]
pub struct Donkey {
@@ -1270,6 +1368,11 @@ impl Deref for Donkey {
&self.abstract_animal
}
}
+impl DerefMut for Donkey {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_animal
+ }
+}
#[derive(Debug, Clone)]
pub struct DragonFireball {
@@ -1308,6 +1411,11 @@ impl Deref for DragonFireball {
&self.abstract_entity
}
}
+impl DerefMut for DragonFireball {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct Drowned {
@@ -1346,6 +1454,11 @@ impl Deref for Drowned {
&self.zombie
}
}
+impl DerefMut for Drowned {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.zombie
+ }
+}
#[derive(Debug, Clone)]
pub struct Egg {
@@ -1396,6 +1509,11 @@ impl Deref for Egg {
&self.abstract_entity
}
}
+impl DerefMut for Egg {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct ElderGuardian {
@@ -1434,6 +1552,11 @@ impl Deref for ElderGuardian {
&self.guardian
}
}
+impl DerefMut for ElderGuardian {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.guardian
+ }
+}
#[derive(Debug, Clone)]
pub struct EndCrystal {
@@ -1490,6 +1613,11 @@ impl Deref for EndCrystal {
&self.abstract_entity
}
}
+impl DerefMut for EndCrystal {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct EnderDragon {
@@ -1540,6 +1668,11 @@ impl Deref for EnderDragon {
&self.abstract_insentient
}
}
+impl DerefMut for EnderDragon {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_insentient
+ }
+}
#[derive(Debug, Clone)]
pub struct EnderPearl {
@@ -1590,6 +1723,11 @@ impl Deref for EnderPearl {
&self.abstract_entity
}
}
+impl DerefMut for EnderPearl {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct Enderman {
@@ -1654,6 +1792,11 @@ impl Deref for Enderman {
&self.abstract_monster
}
}
+impl DerefMut for Enderman {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_monster
+ }
+}
#[derive(Debug, Clone)]
pub struct Endermite {
@@ -1692,6 +1835,11 @@ impl Deref for Endermite {
&self.abstract_monster
}
}
+impl DerefMut for Endermite {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_monster
+ }
+}
#[derive(Debug, Clone)]
pub struct Evoker {
@@ -1748,6 +1896,11 @@ impl Deref for Evoker {
&self.abstract_monster
}
}
+impl DerefMut for Evoker {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_monster
+ }
+}
#[derive(Debug, Clone)]
pub struct EvokerFangs {
@@ -1786,6 +1939,11 @@ impl Deref for EvokerFangs {
&self.abstract_entity
}
}
+impl DerefMut for EvokerFangs {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct ExperienceBottle {
@@ -1836,6 +1994,11 @@ impl Deref for ExperienceBottle {
&self.abstract_entity
}
}
+impl DerefMut for ExperienceBottle {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct ExperienceOrb {
@@ -1874,6 +2037,11 @@ impl Deref for ExperienceOrb {
&self.abstract_entity
}
}
+impl DerefMut for ExperienceOrb {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct EyeOfEnder {
@@ -1924,6 +2092,11 @@ impl Deref for EyeOfEnder {
&self.abstract_entity
}
}
+impl DerefMut for EyeOfEnder {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct FallingBlock {
@@ -1974,6 +2147,11 @@ impl Deref for FallingBlock {
&self.abstract_entity
}
}
+impl DerefMut for FallingBlock {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct Fireball {
@@ -2024,6 +2202,11 @@ impl Deref for Fireball {
&self.abstract_entity
}
}
+impl DerefMut for Fireball {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct FireworkRocket {
@@ -2088,6 +2271,11 @@ impl Deref for FireworkRocket {
&self.abstract_entity
}
}
+impl DerefMut for FireworkRocket {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct FishingBobber {
@@ -2144,6 +2332,11 @@ impl Deref for FishingBobber {
&self.abstract_entity
}
}
+impl DerefMut for FishingBobber {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct Fox {
@@ -2260,6 +2453,11 @@ impl Deref for Fox {
&self.abstract_animal
}
}
+impl DerefMut for Fox {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_animal
+ }
+}
#[derive(Debug, Clone)]
pub struct Frog {
@@ -2318,6 +2516,11 @@ impl Deref for Frog {
&self.abstract_animal
}
}
+impl DerefMut for Frog {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_animal
+ }
+}
#[derive(Debug, Clone)]
pub struct FurnaceMinecart {
@@ -2368,6 +2571,11 @@ impl Deref for FurnaceMinecart {
&self.abstract_minecart
}
}
+impl DerefMut for FurnaceMinecart {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_minecart
+ }
+}
#[derive(Debug, Clone)]
pub struct Ghast {
@@ -2418,6 +2626,11 @@ impl Deref for Ghast {
&self.abstract_insentient
}
}
+impl DerefMut for Ghast {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_insentient
+ }
+}
#[derive(Debug, Clone)]
pub struct Giant {
@@ -2456,6 +2669,11 @@ impl Deref for Giant {
&self.abstract_monster
}
}
+impl DerefMut for Giant {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_monster
+ }
+}
#[derive(Debug, Clone)]
pub struct GlowItemFrame {
@@ -2494,6 +2712,11 @@ impl Deref for GlowItemFrame {
&self.item_frame
}
}
+impl DerefMut for GlowItemFrame {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.item_frame
+ }
+}
#[derive(Debug, Clone)]
pub struct GlowSquid {
@@ -2544,6 +2767,11 @@ impl Deref for GlowSquid {
&self.squid
}
}
+impl DerefMut for GlowSquid {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.squid
+ }
+}
#[derive(Debug, Clone)]
pub struct Goat {
@@ -2606,6 +2834,11 @@ impl Deref for Goat {
&self.abstract_animal
}
}
+impl DerefMut for Goat {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_animal
+ }
+}
#[derive(Debug, Clone)]
pub struct Guardian {
@@ -2662,6 +2895,11 @@ impl Deref for Guardian {
&self.abstract_monster
}
}
+impl DerefMut for Guardian {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_monster
+ }
+}
#[derive(Debug, Clone)]
pub struct Hoglin {
@@ -2714,6 +2952,11 @@ impl Deref for Hoglin {
&self.abstract_animal
}
}
+impl DerefMut for Hoglin {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_animal
+ }
+}
#[derive(Debug, Clone)]
pub struct HopperMinecart {
@@ -2752,6 +2995,11 @@ impl Deref for HopperMinecart {
&self.abstract_minecart
}
}
+impl DerefMut for HopperMinecart {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_minecart
+ }
+}
#[derive(Debug, Clone)]
pub struct Horse {
@@ -2854,6 +3102,11 @@ impl Deref for Horse {
&self.abstract_animal
}
}
+impl DerefMut for Horse {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_animal
+ }
+}
#[derive(Debug, Clone)]
pub struct Husk {
@@ -2892,6 +3145,11 @@ impl Deref for Husk {
&self.zombie
}
}
+impl DerefMut for Husk {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.zombie
+ }
+}
#[derive(Debug, Clone)]
pub struct Illusioner {
@@ -2948,6 +3206,11 @@ impl Deref for Illusioner {
&self.abstract_monster
}
}
+impl DerefMut for Illusioner {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_monster
+ }
+}
#[derive(Debug, Clone)]
pub struct IronGolem {
@@ -3006,6 +3269,11 @@ impl Deref for IronGolem {
&self.abstract_creature
}
}
+impl DerefMut for IronGolem {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_creature
+ }
+}
#[derive(Debug, Clone)]
pub struct Item {
@@ -3056,6 +3324,11 @@ impl Deref for Item {
&self.abstract_entity
}
}
+impl DerefMut for Item {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct ItemFrame {
@@ -3112,6 +3385,11 @@ impl Deref for ItemFrame {
&self.abstract_entity
}
}
+impl DerefMut for ItemFrame {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct LeashKnot {
@@ -3150,6 +3428,11 @@ impl Deref for LeashKnot {
&self.abstract_entity
}
}
+impl DerefMut for LeashKnot {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct LightningBolt {
@@ -3188,6 +3471,11 @@ impl Deref for LightningBolt {
&self.abstract_entity
}
}
+impl DerefMut for LightningBolt {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct Llama {
@@ -3308,6 +3596,11 @@ impl Deref for Llama {
&self.abstract_animal
}
}
+impl DerefMut for Llama {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_animal
+ }
+}
#[derive(Debug, Clone)]
pub struct LlamaSpit {
@@ -3346,6 +3639,11 @@ impl Deref for LlamaSpit {
&self.abstract_entity
}
}
+impl DerefMut for LlamaSpit {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct MagmaCube {
@@ -3384,6 +3682,11 @@ impl Deref for MagmaCube {
&self.slime
}
}
+impl DerefMut for MagmaCube {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.slime
+ }
+}
#[derive(Debug, Clone)]
pub struct Marker {
@@ -3422,6 +3725,11 @@ impl Deref for Marker {
&self.abstract_entity
}
}
+impl DerefMut for Marker {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct Minecart {
@@ -3460,6 +3768,11 @@ impl Deref for Minecart {
&self.abstract_minecart
}
}
+impl DerefMut for Minecart {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_minecart
+ }
+}
#[derive(Debug, Clone)]
pub struct Mooshroom {
@@ -3507,6 +3820,11 @@ impl Deref for Mooshroom {
&self.cow
}
}
+impl DerefMut for Mooshroom {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.cow
+ }
+}
#[derive(Debug, Clone)]
pub struct Mule {
@@ -3609,6 +3927,11 @@ impl Deref for Mule {
&self.abstract_animal
}
}
+impl DerefMut for Mule {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_animal
+ }
+}
#[derive(Debug, Clone)]
pub struct Ocelot {
@@ -3659,6 +3982,11 @@ impl Deref for Ocelot {
&self.abstract_animal
}
}
+impl DerefMut for Ocelot {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_animal
+ }
+}
#[derive(Debug, Clone)]
pub struct Painting {
@@ -3711,6 +4039,11 @@ impl Deref for Painting {
&self.abstract_entity
}
}
+impl DerefMut for Painting {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct Panda {
@@ -3823,6 +4156,11 @@ impl Deref for Panda {
&self.abstract_animal
}
}
+impl DerefMut for Panda {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_animal
+ }
+}
#[derive(Debug, Clone)]
pub struct Parrot {
@@ -3873,6 +4211,11 @@ impl Deref for Parrot {
&self.abstract_tameable
}
}
+impl DerefMut for Parrot {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_tameable
+ }
+}
#[derive(Debug, Clone)]
pub struct Phantom {
@@ -3923,6 +4266,11 @@ impl Deref for Phantom {
&self.abstract_insentient
}
}
+impl DerefMut for Phantom {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_insentient
+ }
+}
#[derive(Debug, Clone)]
pub struct Pig {
@@ -3979,6 +4327,11 @@ impl Deref for Pig {
&self.abstract_animal
}
}
+impl DerefMut for Pig {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_animal
+ }
+}
#[derive(Debug, Clone)]
pub struct Piglin {
@@ -4049,6 +4402,11 @@ impl Deref for Piglin {
&self.abstract_monster
}
}
+impl DerefMut for Piglin {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_monster
+ }
+}
#[derive(Debug, Clone)]
pub struct PiglinBrute {
@@ -4101,6 +4459,11 @@ impl Deref for PiglinBrute {
&self.abstract_monster
}
}
+impl DerefMut for PiglinBrute {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_monster
+ }
+}
#[derive(Debug, Clone)]
pub struct Pillager {
@@ -4157,6 +4520,11 @@ impl Deref for Pillager {
&self.abstract_monster
}
}
+impl DerefMut for Pillager {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_monster
+ }
+}
#[derive(Debug, Clone)]
pub struct Player {
@@ -4239,6 +4607,11 @@ impl Deref for Player {
&self.abstract_living
}
}
+impl DerefMut for Player {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_living
+ }
+}
#[derive(Debug, Clone)]
pub struct PolarBear {
@@ -4289,6 +4662,11 @@ impl Deref for PolarBear {
&self.abstract_animal
}
}
+impl DerefMut for PolarBear {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_animal
+ }
+}
#[derive(Debug, Clone)]
pub struct Potion {
@@ -4339,6 +4717,11 @@ impl Deref for Potion {
&self.abstract_entity
}
}
+impl DerefMut for Potion {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct Pufferfish {
@@ -4395,6 +4778,11 @@ impl Deref for Pufferfish {
&self.abstract_creature
}
}
+impl DerefMut for Pufferfish {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_creature
+ }
+}
#[derive(Debug, Clone)]
pub struct Rabbit {
@@ -4445,6 +4833,11 @@ impl Deref for Rabbit {
&self.abstract_animal
}
}
+impl DerefMut for Rabbit {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_animal
+ }
+}
#[derive(Debug, Clone)]
pub struct Ravager {
@@ -4495,6 +4888,11 @@ impl Deref for Ravager {
&self.abstract_monster
}
}
+impl DerefMut for Ravager {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_monster
+ }
+}
#[derive(Debug, Clone)]
pub struct Salmon {
@@ -4545,6 +4943,11 @@ impl Deref for Salmon {
&self.abstract_creature
}
}
+impl DerefMut for Salmon {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_creature
+ }
+}
#[derive(Debug, Clone)]
pub struct Sheep {
@@ -4603,6 +5006,11 @@ impl Deref for Sheep {
&self.abstract_animal
}
}
+impl DerefMut for Sheep {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_animal
+ }
+}
#[derive(Debug, Clone)]
pub struct Shulker {
@@ -4665,6 +5073,11 @@ impl Deref for Shulker {
&self.abstract_creature
}
}
+impl DerefMut for Shulker {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_creature
+ }
+}
#[derive(Debug, Clone)]
pub struct ShulkerBullet {
@@ -4703,6 +5116,11 @@ impl Deref for ShulkerBullet {
&self.abstract_entity
}
}
+impl DerefMut for ShulkerBullet {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct Silverfish {
@@ -4741,6 +5159,11 @@ impl Deref for Silverfish {
&self.abstract_monster
}
}
+impl DerefMut for Silverfish {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_monster
+ }
+}
#[derive(Debug, Clone)]
pub struct Skeleton {
@@ -4791,6 +5214,11 @@ impl Deref for Skeleton {
&self.abstract_monster
}
}
+impl DerefMut for Skeleton {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_monster
+ }
+}
#[derive(Debug, Clone)]
pub struct SkeletonHorse {
@@ -4887,6 +5315,11 @@ impl Deref for SkeletonHorse {
&self.abstract_animal
}
}
+impl DerefMut for SkeletonHorse {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_animal
+ }
+}
#[derive(Debug, Clone)]
pub struct Slime {
@@ -4937,6 +5370,11 @@ impl Deref for Slime {
&self.abstract_insentient
}
}
+impl DerefMut for Slime {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_insentient
+ }
+}
#[derive(Debug, Clone)]
pub struct SmallFireball {
@@ -4987,6 +5425,11 @@ impl Deref for SmallFireball {
&self.abstract_entity
}
}
+impl DerefMut for SmallFireball {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct SnowGolem {
@@ -5045,6 +5488,11 @@ impl Deref for SnowGolem {
&self.abstract_creature
}
}
+impl DerefMut for SnowGolem {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_creature
+ }
+}
#[derive(Debug, Clone)]
pub struct Snowball {
@@ -5095,6 +5543,11 @@ impl Deref for Snowball {
&self.abstract_entity
}
}
+impl DerefMut for Snowball {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct SpawnerMinecart {
@@ -5133,6 +5586,11 @@ impl Deref for SpawnerMinecart {
&self.abstract_minecart
}
}
+impl DerefMut for SpawnerMinecart {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_minecart
+ }
+}
#[derive(Debug, Clone)]
pub struct SpectralArrow {
@@ -5213,6 +5671,11 @@ impl Deref for SpectralArrow {
&self.abstract_entity
}
}
+impl DerefMut for SpectralArrow {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct Spider {
@@ -5271,6 +5734,11 @@ impl Deref for Spider {
&self.abstract_monster
}
}
+impl DerefMut for Spider {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_monster
+ }
+}
#[derive(Debug, Clone)]
pub struct Squid {
@@ -5309,6 +5777,11 @@ impl Deref for Squid {
&self.abstract_creature
}
}
+impl DerefMut for Squid {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_creature
+ }
+}
#[derive(Debug, Clone)]
pub struct Stray {
@@ -5347,6 +5820,11 @@ impl Deref for Stray {
&self.abstract_monster
}
}
+impl DerefMut for Stray {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_monster
+ }
+}
#[derive(Debug, Clone)]
pub struct Strider {
@@ -5409,6 +5887,11 @@ impl Deref for Strider {
&self.abstract_animal
}
}
+impl DerefMut for Strider {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_animal
+ }
+}
#[derive(Debug, Clone)]
pub struct Tadpole {
@@ -5459,6 +5942,11 @@ impl Deref for Tadpole {
&self.abstract_creature
}
}
+impl DerefMut for Tadpole {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_creature
+ }
+}
#[derive(Debug, Clone)]
pub struct Tnt {
@@ -5509,6 +5997,11 @@ impl Deref for Tnt {
&self.abstract_entity
}
}
+impl DerefMut for Tnt {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct TntMinecart {
@@ -5547,6 +6040,11 @@ impl Deref for TntMinecart {
&self.abstract_minecart
}
}
+impl DerefMut for TntMinecart {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_minecart
+ }
+}
#[derive(Debug, Clone)]
pub struct TraderLlama {
@@ -5585,6 +6083,11 @@ impl Deref for TraderLlama {
&self.llama
}
}
+impl DerefMut for TraderLlama {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.llama
+ }
+}
#[derive(Debug, Clone)]
pub struct Trident {
@@ -5677,6 +6180,11 @@ impl Deref for Trident {
&self.abstract_entity
}
}
+impl DerefMut for Trident {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct TropicalFish {
@@ -5733,6 +6241,11 @@ impl Deref for TropicalFish {
&self.abstract_creature
}
}
+impl DerefMut for TropicalFish {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_creature
+ }
+}
#[derive(Debug, Clone)]
pub struct Turtle {
@@ -5813,6 +6326,11 @@ impl Deref for Turtle {
&self.abstract_animal
}
}
+impl DerefMut for Turtle {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_animal
+ }
+}
#[derive(Debug, Clone)]
pub struct Vex {
@@ -5863,6 +6381,11 @@ impl Deref for Vex {
&self.abstract_monster
}
}
+impl DerefMut for Vex {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_monster
+ }
+}
#[derive(Debug, Clone)]
pub struct Villager {
@@ -5919,6 +6442,11 @@ impl Deref for Villager {
&self.abstract_ageable
}
}
+impl DerefMut for Villager {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_ageable
+ }
+}
#[derive(Debug, Clone)]
pub struct Vindicator {
@@ -5969,6 +6497,11 @@ impl Deref for Vindicator {
&self.abstract_monster
}
}
+impl DerefMut for Vindicator {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_monster
+ }
+}
#[derive(Debug, Clone)]
pub struct WanderingTrader {
@@ -6019,6 +6552,11 @@ impl Deref for WanderingTrader {
&self.abstract_ageable
}
}
+impl DerefMut for WanderingTrader {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_ageable
+ }
+}
#[derive(Debug, Clone)]
pub struct Warden {
@@ -6069,6 +6607,11 @@ impl Deref for Warden {
&self.abstract_monster
}
}
+impl DerefMut for Warden {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_monster
+ }
+}
#[derive(Debug, Clone)]
pub struct Witch {
@@ -6125,6 +6668,11 @@ impl Deref for Witch {
&self.abstract_monster
}
}
+impl DerefMut for Witch {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_monster
+ }
+}
#[derive(Debug, Clone)]
pub struct Wither {
@@ -6193,6 +6741,11 @@ impl Deref for Wither {
&self.abstract_monster
}
}
+impl DerefMut for Wither {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_monster
+ }
+}
#[derive(Debug, Clone)]
pub struct WitherSkeleton {
@@ -6231,6 +6784,11 @@ impl Deref for WitherSkeleton {
&self.abstract_monster
}
}
+impl DerefMut for WitherSkeleton {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_monster
+ }
+}
#[derive(Debug, Clone)]
pub struct WitherSkull {
@@ -6281,6 +6839,11 @@ impl Deref for WitherSkull {
&self.abstract_entity
}
}
+impl DerefMut for WitherSkull {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct Wolf {
@@ -6343,6 +6906,11 @@ impl Deref for Wolf {
&self.abstract_tameable
}
}
+impl DerefMut for Wolf {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_tameable
+ }
+}
#[derive(Debug, Clone)]
pub struct Zoglin {
@@ -6393,6 +6961,11 @@ impl Deref for Zoglin {
&self.abstract_monster
}
}
+impl DerefMut for Zoglin {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_monster
+ }
+}
#[derive(Debug, Clone)]
pub struct Zombie {
@@ -6455,6 +7028,11 @@ impl Deref for Zombie {
&self.abstract_monster
}
}
+impl DerefMut for Zombie {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_monster
+ }
+}
#[derive(Debug, Clone)]
pub struct ZombieHorse {
@@ -6551,6 +7129,11 @@ impl Deref for ZombieHorse {
&self.abstract_animal
}
}
+impl DerefMut for ZombieHorse {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_animal
+ }
+}
#[derive(Debug, Clone)]
pub struct ZombieVillager {
@@ -6607,6 +7190,11 @@ impl Deref for ZombieVillager {
&self.zombie
}
}
+impl DerefMut for ZombieVillager {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.zombie
+ }
+}
#[derive(Debug, Clone)]
pub struct ZombifiedPiglin {
@@ -6645,6 +7233,11 @@ impl Deref for ZombifiedPiglin {
&self.zombie
}
}
+impl DerefMut for ZombifiedPiglin {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.zombie
+ }
+}
#[derive(Debug, Clone)]
pub struct AbstractAgeable {
@@ -6695,6 +7288,11 @@ impl Deref for AbstractAgeable {
&self.abstract_creature
}
}
+impl DerefMut for AbstractAgeable {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_creature
+ }
+}
#[derive(Debug, Clone)]
pub struct AbstractAnimal {
@@ -6733,6 +7331,11 @@ impl Deref for AbstractAnimal {
&self.abstract_ageable
}
}
+impl DerefMut for AbstractAnimal {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_ageable
+ }
+}
#[derive(Debug, Clone)]
pub struct AbstractCreature {
@@ -6773,6 +7376,11 @@ impl Deref for AbstractCreature {
&self.abstract_insentient
}
}
+impl DerefMut for AbstractCreature {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_insentient
+ }
+}
#[derive(Debug, Clone)]
pub struct AbstractEntity {
@@ -6982,6 +7590,11 @@ impl Deref for AbstractInsentient {
&self.abstract_living
}
}
+impl DerefMut for AbstractInsentient {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_living
+ }
+}
#[derive(Debug, Clone)]
pub struct AbstractLiving {
@@ -7084,6 +7697,11 @@ impl Deref for AbstractLiving {
&self.abstract_entity
}
}
+impl DerefMut for AbstractLiving {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct AbstractMinecart {
@@ -7164,6 +7782,11 @@ impl Deref for AbstractMinecart {
&self.abstract_entity
}
}
+impl DerefMut for AbstractMinecart {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_entity
+ }
+}
#[derive(Debug, Clone)]
pub struct AbstractMonster {
@@ -7202,6 +7825,11 @@ impl Deref for AbstractMonster {
&self.abstract_creature
}
}
+impl DerefMut for AbstractMonster {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_creature
+ }
+}
#[derive(Debug, Clone)]
pub struct AbstractTameable {
@@ -7274,6 +7902,11 @@ impl Deref for AbstractTameable {
&self.abstract_animal
}
}
+impl DerefMut for AbstractTameable {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.abstract_animal
+ }
+}
#[derive(Debug, Clone)]
pub enum EntityMetadata {
@@ -7748,3 +8381,253 @@ impl EntityMetadata {
}
}
}
+
+impl Deref for EntityMetadata {
+ type Target = AbstractEntity;
+ fn deref(&self) -> &Self::Target {
+ match self {
+ EntityMetadata::Allay(entity) => entity,
+ EntityMetadata::AreaEffectCloud(entity) => entity,
+ EntityMetadata::ArmorStand(entity) => entity,
+ EntityMetadata::Arrow(entity) => entity,
+ EntityMetadata::Axolotl(entity) => entity,
+ EntityMetadata::Bat(entity) => entity,
+ EntityMetadata::Bee(entity) => entity,
+ EntityMetadata::Blaze(entity) => entity,
+ EntityMetadata::Boat(entity) => entity,
+ EntityMetadata::Cat(entity) => entity,
+ EntityMetadata::CaveSpider(entity) => entity,
+ EntityMetadata::ChestBoat(entity) => entity,
+ EntityMetadata::ChestMinecart(entity) => entity,
+ EntityMetadata::Chicken(entity) => entity,
+ EntityMetadata::Cod(entity) => entity,
+ EntityMetadata::CommandBlockMinecart(entity) => entity,
+ EntityMetadata::Cow(entity) => entity,
+ EntityMetadata::Creeper(entity) => entity,
+ EntityMetadata::Dolphin(entity) => entity,
+ EntityMetadata::Donkey(entity) => entity,
+ EntityMetadata::DragonFireball(entity) => entity,
+ EntityMetadata::Drowned(entity) => entity,
+ EntityMetadata::Egg(entity) => entity,
+ EntityMetadata::ElderGuardian(entity) => entity,
+ EntityMetadata::EndCrystal(entity) => entity,
+ EntityMetadata::EnderDragon(entity) => entity,
+ EntityMetadata::EnderPearl(entity) => entity,
+ EntityMetadata::Enderman(entity) => entity,
+ EntityMetadata::Endermite(entity) => entity,
+ EntityMetadata::Evoker(entity) => entity,
+ EntityMetadata::EvokerFangs(entity) => entity,
+ EntityMetadata::ExperienceBottle(entity) => entity,
+ EntityMetadata::ExperienceOrb(entity) => entity,
+ EntityMetadata::EyeOfEnder(entity) => entity,
+ EntityMetadata::FallingBlock(entity) => entity,
+ EntityMetadata::Fireball(entity) => entity,
+ EntityMetadata::FireworkRocket(entity) => entity,
+ EntityMetadata::FishingBobber(entity) => entity,
+ EntityMetadata::Fox(entity) => entity,
+ EntityMetadata::Frog(entity) => entity,
+ EntityMetadata::FurnaceMinecart(entity) => entity,
+ EntityMetadata::Ghast(entity) => entity,
+ EntityMetadata::Giant(entity) => entity,
+ EntityMetadata::GlowItemFrame(entity) => entity,
+ EntityMetadata::GlowSquid(entity) => entity,
+ EntityMetadata::Goat(entity) => entity,
+ EntityMetadata::Guardian(entity) => entity,
+ EntityMetadata::Hoglin(entity) => entity,
+ EntityMetadata::HopperMinecart(entity) => entity,
+ EntityMetadata::Horse(entity) => entity,
+ EntityMetadata::Husk(entity) => entity,
+ EntityMetadata::Illusioner(entity) => entity,
+ EntityMetadata::IronGolem(entity) => entity,
+ EntityMetadata::Item(entity) => entity,
+ EntityMetadata::ItemFrame(entity) => entity,
+ EntityMetadata::LeashKnot(entity) => entity,
+ EntityMetadata::LightningBolt(entity) => entity,
+ EntityMetadata::Llama(entity) => entity,
+ EntityMetadata::LlamaSpit(entity) => entity,
+ EntityMetadata::MagmaCube(entity) => entity,
+ EntityMetadata::Marker(entity) => entity,
+ EntityMetadata::Minecart(entity) => entity,
+ EntityMetadata::Mooshroom(entity) => entity,
+ EntityMetadata::Mule(entity) => entity,
+ EntityMetadata::Ocelot(entity) => entity,
+ EntityMetadata::Painting(entity) => entity,
+ EntityMetadata::Panda(entity) => entity,
+ EntityMetadata::Parrot(entity) => entity,
+ EntityMetadata::Phantom(entity) => entity,
+ EntityMetadata::Pig(entity) => entity,
+ EntityMetadata::Piglin(entity) => entity,
+ EntityMetadata::PiglinBrute(entity) => entity,
+ EntityMetadata::Pillager(entity) => entity,
+ EntityMetadata::Player(entity) => entity,
+ EntityMetadata::PolarBear(entity) => entity,
+ EntityMetadata::Potion(entity) => entity,
+ EntityMetadata::Pufferfish(entity) => entity,
+ EntityMetadata::Rabbit(entity) => entity,
+ EntityMetadata::Ravager(entity) => entity,
+ EntityMetadata::Salmon(entity) => entity,
+ EntityMetadata::Sheep(entity) => entity,
+ EntityMetadata::Shulker(entity) => entity,
+ EntityMetadata::ShulkerBullet(entity) => entity,
+ EntityMetadata::Silverfish(entity) => entity,
+ EntityMetadata::Skeleton(entity) => entity,
+ EntityMetadata::SkeletonHorse(entity) => entity,
+ EntityMetadata::Slime(entity) => entity,
+ EntityMetadata::SmallFireball(entity) => entity,
+ EntityMetadata::SnowGolem(entity) => entity,
+ EntityMetadata::Snowball(entity) => entity,
+ EntityMetadata::SpawnerMinecart(entity) => entity,
+ EntityMetadata::SpectralArrow(entity) => entity,
+ EntityMetadata::Spider(entity) => entity,
+ EntityMetadata::Squid(entity) => entity,
+ EntityMetadata::Stray(entity) => entity,
+ EntityMetadata::Strider(entity) => entity,
+ EntityMetadata::Tadpole(entity) => entity,
+ EntityMetadata::Tnt(entity) => entity,
+ EntityMetadata::TntMinecart(entity) => entity,
+ EntityMetadata::TraderLlama(entity) => entity,
+ EntityMetadata::Trident(entity) => entity,
+ EntityMetadata::TropicalFish(entity) => entity,
+ EntityMetadata::Turtle(entity) => entity,
+ EntityMetadata::Vex(entity) => entity,
+ EntityMetadata::Villager(entity) => entity,
+ EntityMetadata::Vindicator(entity) => entity,
+ EntityMetadata::WanderingTrader(entity) => entity,
+ EntityMetadata::Warden(entity) => entity,
+ EntityMetadata::Witch(entity) => entity,
+ EntityMetadata::Wither(entity) => entity,
+ EntityMetadata::WitherSkeleton(entity) => entity,
+ EntityMetadata::WitherSkull(entity) => entity,
+ EntityMetadata::Wolf(entity) => entity,
+ EntityMetadata::Zoglin(entity) => entity,
+ EntityMetadata::Zombie(entity) => entity,
+ EntityMetadata::ZombieHorse(entity) => entity,
+ EntityMetadata::ZombieVillager(entity) => entity,
+ EntityMetadata::ZombifiedPiglin(entity) => entity,
+ }
+ }
+}
+impl DerefMut for EntityMetadata {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ match self {
+ EntityMetadata::Allay(entity) => entity,
+ EntityMetadata::AreaEffectCloud(entity) => entity,
+ EntityMetadata::ArmorStand(entity) => entity,
+ EntityMetadata::Arrow(entity) => entity,
+ EntityMetadata::Axolotl(entity) => entity,
+ EntityMetadata::Bat(entity) => entity,
+ EntityMetadata::Bee(entity) => entity,
+ EntityMetadata::Blaze(entity) => entity,
+ EntityMetadata::Boat(entity) => entity,
+ EntityMetadata::Cat(entity) => entity,
+ EntityMetadata::CaveSpider(entity) => entity,
+ EntityMetadata::ChestBoat(entity) => entity,
+ EntityMetadata::ChestMinecart(entity) => entity,
+ EntityMetadata::Chicken(entity) => entity,
+ EntityMetadata::Cod(entity) => entity,
+ EntityMetadata::CommandBlockMinecart(entity) => entity,
+ EntityMetadata::Cow(entity) => entity,
+ EntityMetadata::Creeper(entity) => entity,
+ EntityMetadata::Dolphin(entity) => entity,
+ EntityMetadata::Donkey(entity) => entity,
+ EntityMetadata::DragonFireball(entity) => entity,
+ EntityMetadata::Drowned(entity) => entity,
+ EntityMetadata::Egg(entity) => entity,
+ EntityMetadata::ElderGuardian(entity) => entity,
+ EntityMetadata::EndCrystal(entity) => entity,
+ EntityMetadata::EnderDragon(entity) => entity,
+ EntityMetadata::EnderPearl(entity) => entity,
+ EntityMetadata::Enderman(entity) => entity,
+ EntityMetadata::Endermite(entity) => entity,
+ EntityMetadata::Evoker(entity) => entity,
+ EntityMetadata::EvokerFangs(entity) => entity,
+ EntityMetadata::ExperienceBottle(entity) => entity,
+ EntityMetadata::ExperienceOrb(entity) => entity,
+ EntityMetadata::EyeOfEnder(entity) => entity,
+ EntityMetadata::FallingBlock(entity) => entity,
+ EntityMetadata::Fireball(entity) => entity,
+ EntityMetadata::FireworkRocket(entity) => entity,
+ EntityMetadata::FishingBobber(entity) => entity,
+ EntityMetadata::Fox(entity) => entity,
+ EntityMetadata::Frog(entity) => entity,
+ EntityMetadata::FurnaceMinecart(entity) => entity,
+ EntityMetadata::Ghast(entity) => entity,
+ EntityMetadata::Giant(entity) => entity,
+ EntityMetadata::GlowItemFrame(entity) => entity,
+ EntityMetadata::GlowSquid(entity) => entity,
+ EntityMetadata::Goat(entity) => entity,
+ EntityMetadata::Guardian(entity) => entity,
+ EntityMetadata::Hoglin(entity) => entity,
+ EntityMetadata::HopperMinecart(entity) => entity,
+ EntityMetadata::Horse(entity) => entity,
+ EntityMetadata::Husk(entity) => entity,
+ EntityMetadata::Illusioner(entity) => entity,
+ EntityMetadata::IronGolem(entity) => entity,
+ EntityMetadata::Item(entity) => entity,
+ EntityMetadata::ItemFrame(entity) => entity,
+ EntityMetadata::LeashKnot(entity) => entity,
+ EntityMetadata::LightningBolt(entity) => entity,
+ EntityMetadata::Llama(entity) => entity,
+ EntityMetadata::LlamaSpit(entity) => entity,
+ EntityMetadata::MagmaCube(entity) => entity,
+ EntityMetadata::Marker(entity) => entity,
+ EntityMetadata::Minecart(entity) => entity,
+ EntityMetadata::Mooshroom(entity) => entity,
+ EntityMetadata::Mule(entity) => entity,
+ EntityMetadata::Ocelot(entity) => entity,
+ EntityMetadata::Painting(entity) => entity,
+ EntityMetadata::Panda(entity) => entity,
+ EntityMetadata::Parrot(entity) => entity,
+ EntityMetadata::Phantom(entity) => entity,
+ EntityMetadata::Pig(entity) => entity,
+ EntityMetadata::Piglin(entity) => entity,
+ EntityMetadata::PiglinBrute(entity) => entity,
+ EntityMetadata::Pillager(entity) => entity,
+ EntityMetadata::Player(entity) => entity,
+ EntityMetadata::PolarBear(entity) => entity,
+ EntityMetadata::Potion(entity) => entity,
+ EntityMetadata::Pufferfish(entity) => entity,
+ EntityMetadata::Rabbit(entity) => entity,
+ EntityMetadata::Ravager(entity) => entity,
+ EntityMetadata::Salmon(entity) => entity,
+ EntityMetadata::Sheep(entity) => entity,
+ EntityMetadata::Shulker(entity) => entity,
+ EntityMetadata::ShulkerBullet(entity) => entity,
+ EntityMetadata::Silverfish(entity) => entity,
+ EntityMetadata::Skeleton(entity) => entity,
+ EntityMetadata::SkeletonHorse(entity) => entity,
+ EntityMetadata::Slime(entity) => entity,
+ EntityMetadata::SmallFireball(entity) => entity,
+ EntityMetadata::SnowGolem(entity) => entity,
+ EntityMetadata::Snowball(entity) => entity,
+ EntityMetadata::SpawnerMinecart(entity) => entity,
+ EntityMetadata::SpectralArrow(entity) => entity,
+ EntityMetadata::Spider(entity) => entity,
+ EntityMetadata::Squid(entity) => entity,
+ EntityMetadata::Stray(entity) => entity,
+ EntityMetadata::Strider(entity) => entity,
+ EntityMetadata::Tadpole(entity) => entity,
+ EntityMetadata::Tnt(entity) => entity,
+ EntityMetadata::TntMinecart(entity) => entity,
+ EntityMetadata::TraderLlama(entity) => entity,
+ EntityMetadata::Trident(entity) => entity,
+ EntityMetadata::TropicalFish(entity) => entity,
+ EntityMetadata::Turtle(entity) => entity,
+ EntityMetadata::Vex(entity) => entity,
+ EntityMetadata::Villager(entity) => entity,
+ EntityMetadata::Vindicator(entity) => entity,
+ EntityMetadata::WanderingTrader(entity) => entity,
+ EntityMetadata::Warden(entity) => entity,
+ EntityMetadata::Witch(entity) => entity,
+ EntityMetadata::Wither(entity) => entity,
+ EntityMetadata::WitherSkeleton(entity) => entity,
+ EntityMetadata::WitherSkull(entity) => entity,
+ EntityMetadata::Wolf(entity) => entity,
+ EntityMetadata::Zoglin(entity) => entity,
+ EntityMetadata::Zombie(entity) => entity,
+ EntityMetadata::ZombieHorse(entity) => entity,
+ EntityMetadata::ZombieVillager(entity) => entity,
+ EntityMetadata::ZombifiedPiglin(entity) => entity,
+ }
+ }
+}