mcdata/entity/
list.rs

1// IMPORTANT: DO NOT EDIT THIS FILE MANUALLY!
2// This file is automatically generated with `cargo xtask codegen`.
3// To make any changes, edit the xtask source instead.
4
5/// Re-exports for all items of the latest Minecraft version.
6#[cfg(feature = "latest")]
7pub mod latest {
8    pub use super::mc1_21_7::*;
9}
10
11/// Accompanying types for entities in Minecraft 1.14.
12#[cfg(feature = "1.14")]
13pub mod mc1_14 {
14    entities! {
15        "1.14", mc1_14;
16        "minecraft:area_effect_cloud", AreaEffectCloud: AreaEffectCloud;
17        "minecraft:armor_stand", ArmorStand: ArmorStand;
18        "minecraft:arrow", Arrow: Arrow;
19        "minecraft:bat", Bat: Bat;
20        "minecraft:blaze", Blaze: Blaze;
21        "minecraft:boat", Boat: Boat;
22        "minecraft:cat", Cat: Cat;
23        "minecraft:cave_spider", CaveSpider: CaveSpider;
24        "minecraft:chest_minecart", ChestMinecart: MinecartChest;
25        "minecraft:chicken", Chicken: Chicken;
26        "minecraft:cod", Cod: Cod;
27        "minecraft:command_block_minecart", CommandBlockMinecart: MinecartCommandBlock;
28        "minecraft:cow", Cow: Cow;
29        "minecraft:creeper", Creeper: Creeper;
30        "minecraft:dolphin", Dolphin: Dolphin;
31        "minecraft:donkey", Donkey: Donkey;
32        "minecraft:dragon_fireball", DragonFireball: DragonFireball;
33        "minecraft:drowned", Drowned: Drowned;
34        "minecraft:egg", Egg: ThrownEgg;
35        "minecraft:elder_guardian", ElderGuardian: ElderGuardian;
36        "minecraft:end_crystal", EndCrystal: EndCrystal;
37        "minecraft:ender_dragon", EnderDragon: EnderDragon;
38        "minecraft:ender_pearl", EnderPearl: ThrownEnderpearl;
39        "minecraft:enderman", Enderman: EnderMan;
40        "minecraft:endermite", Endermite: Endermite;
41        "minecraft:evoker", Evoker: Evoker;
42        "minecraft:evoker_fangs", EvokerFangs: EvokerFangs;
43        "minecraft:experience_bottle", ExperienceBottle: ThrownExperienceBottle;
44        "minecraft:experience_orb", ExperienceOrb: ExperienceOrb;
45        "minecraft:eye_of_ender", EyeOfEnder: EyeOfEnder;
46        "minecraft:falling_block", FallingBlock: FallingBlockEntity;
47        "minecraft:fireball", Fireball: LargeFireball;
48        "minecraft:firework_rocket", FireworkRocket: FireworkRocketEntity;
49        "minecraft:fishing_bobber", FishingBobber: FishingHook;
50        "minecraft:fox", Fox: Fox;
51        "minecraft:furnace_minecart", FurnaceMinecart: MinecartFurnace;
52        "minecraft:ghast", Ghast: Ghast;
53        "minecraft:giant", Giant: Giant;
54        "minecraft:guardian", Guardian: Guardian;
55        "minecraft:hopper_minecart", HopperMinecart: MinecartHopper;
56        "minecraft:horse", Horse: Horse;
57        "minecraft:husk", Husk: Husk;
58        "minecraft:illusioner", Illusioner: Illusioner;
59        "minecraft:iron_golem", IronGolem: IronGolem;
60        "minecraft:item", Item: ItemEntity;
61        "minecraft:item_frame", ItemFrame: ItemFrame;
62        "minecraft:leash_knot", LeashKnot: LeashFenceKnotEntity;
63        "minecraft:lightning_bolt", LightningBolt: LightningBolt;
64        "minecraft:llama", Llama: Llama;
65        "minecraft:llama_spit", LlamaSpit: LlamaSpit;
66        "minecraft:magma_cube", MagmaCube: MagmaCube;
67        "minecraft:minecart", Minecart: Minecart;
68        "minecraft:mooshroom", Mooshroom: MushroomCow;
69        "minecraft:mule", Mule: Mule;
70        "minecraft:ocelot", Ocelot: Ocelot;
71        "minecraft:painting", Painting: Painting;
72        "minecraft:panda", Panda: Panda;
73        "minecraft:parrot", Parrot: Parrot;
74        "minecraft:phantom", Phantom: Phantom;
75        "minecraft:pig", Pig: Pig;
76        "minecraft:pillager", Pillager: Pillager;
77        "minecraft:polar_bear", PolarBear: PolarBear;
78        "minecraft:potion", Potion: ThrownPotion;
79        "minecraft:pufferfish", Pufferfish: Pufferfish;
80        "minecraft:rabbit", Rabbit: Rabbit;
81        "minecraft:ravager", Ravager: Ravager;
82        "minecraft:salmon", Salmon: Salmon;
83        "minecraft:sheep", Sheep: Sheep;
84        "minecraft:shulker", Shulker: Shulker;
85        "minecraft:shulker_bullet", ShulkerBullet: ShulkerBullet;
86        "minecraft:silverfish", Silverfish: Silverfish;
87        "minecraft:skeleton", Skeleton: Skeleton;
88        "minecraft:skeleton_horse", SkeletonHorse: SkeletonHorse;
89        "minecraft:slime", Slime: Slime;
90        "minecraft:small_fireball", SmallFireball: SmallFireball;
91        "minecraft:snow_golem", SnowGolem: SnowGolem;
92        "minecraft:snowball", Snowball: Snowball;
93        "minecraft:spawner_minecart", SpawnerMinecart: MinecartSpawner;
94        "minecraft:spectral_arrow", SpectralArrow: SpectralArrow;
95        "minecraft:spider", Spider: Spider;
96        "minecraft:squid", Squid: Squid;
97        "minecraft:stray", Stray: Stray;
98        "minecraft:tnt", Tnt: PrimedTnt;
99        "minecraft:tnt_minecart", TntMinecart: MinecartTNT;
100        "minecraft:trader_llama", TraderLlama: TraderLlama;
101        "minecraft:trident", Trident: ThrownTrident;
102        "minecraft:tropical_fish", TropicalFish: TropicalFish;
103        "minecraft:turtle", Turtle: Turtle;
104        "minecraft:vex", Vex: Vex;
105        "minecraft:villager", Villager: Villager;
106        "minecraft:vindicator", Vindicator: Vindicator;
107        "minecraft:wandering_trader", WanderingTrader: WanderingTrader;
108        "minecraft:witch", Witch: Witch;
109        "minecraft:wither", Wither: WitherBoss;
110        "minecraft:wither_skeleton", WitherSkeleton: WitherSkeleton;
111        "minecraft:wither_skull", WitherSkull: WitherSkull;
112        "minecraft:wolf", Wolf: Wolf;
113        "minecraft:zombie", Zombie: Zombie;
114        "minecraft:zombie_horse", ZombieHorse: ZombieHorse;
115        "minecraft:zombie_pigman", ZombiePigman: PigZombie;
116        "minecraft:zombie_villager", ZombieVillager: ZombieVillager;
117    }
118
119    entity_types! {
120        "1.14";
121        AbstractArrow > Entity { optional "OwnerUUID" as owner_uuid: u128, "PierceLevel" as pierce_level: i8, "ShotFromCrossbow" as shot_from_crossbow: bool, "SoundEvent" as sound_event: CowStr, "crit" as crit: bool, "damage" as damage: f64, optional "inBlockState" as in_block_state: super::BlockState, "inGround" as in_ground: i8, "life" as life: i16, "pickup" as pickup: i8, "shake" as shake: i8 }
122        AbstractChestedHorse > AbstractHorse { "ChestedHorse" as chested_horse: bool, optional "Items" as items: Vec<super::compounds::ItemStack_save_1> }
123        AbstractFish > WaterAnimal { "FromBucket" as from_bucket: bool }
124        AbstractGolem > PathfinderMob {  }
125        AbstractHorse > Animal { "Bred" as bred: bool, "EatingHaystack" as eating_haystack: bool, optional "OwnerUUID" as owner_uuid: CowStr, optional "SaddleItem" as saddle_item: super::compounds::ItemStack_save_2, "Tame" as tame: bool, "Temper" as temper: i32 }
126        AbstractHurtingProjectile > Entity { "direction" as direction: Vec<f64>, "life" as life: i32, "power" as power: Vec<f64> }
127        AbstractIllager > Raider {  }
128        AbstractMinecart > Entity { optional "CustomDisplayTile" as custom_display_tile: bool, optional "DisplayOffset" as display_offset: i32, optional "DisplayState" as display_state: super::BlockState }
129        AbstractMinecartContainer > AbstractMinecart { optional "Items" as items: Vec<super::compounds::ItemStack_save_1>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
130        AbstractSchoolingFish > AbstractFish {  }
131        AbstractSkeleton > Monster {  }
132        AbstractVillager > AgableMob { "Inventory" as inventory: Vec<super::compounds::ItemStack_save_2>, optional "Offers" as offers: super::compounds::MerchantOffers_createTag }
133        AgableMob > PathfinderMob { "Age" as age: i32, "ForcedAge" as forced_age: i32 }
134        AmbientCreature > Mob {  }
135        Animal > AgableMob { "InLove" as in_love: i32, optional "LoveCause" as love_cause: u128 }
136        AreaEffectCloud > Entity { "Age" as age: i32, optional "Color" as color: i32, "Duration" as duration: i32, "DurationOnUse" as duration_on_use: i32, optional "Effects" as effects: Vec<super::compounds::MobEffectInstance_save>, optional "OwnerUUID" as owner_uuid: u128, "Particle" as particle: CowStr, optional "Potion" as potion: CowStr, "Radius" as radius: f32, "RadiusOnUse" as radius_on_use: f32, "RadiusPerTick" as radius_per_tick: f32, "ReapplicationDelay" as reapplication_delay: i32, "WaitTime" as wait_time: i32 }
137        ArmorStand > LivingEntity { "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save>, "DisabledSlots" as disabled_slots: i32, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save>, "Invisible" as invisible: bool, optional "Marker" as marker: bool, "NoBasePlate" as no_base_plate: bool, "Pose" as pose: super::compounds::ArmorStand_writePose, "ShowArms" as show_arms: bool, "Small" as small: bool }
138        Arrow > AbstractArrow { optional "Color" as color: i32, optional "CustomPotionEffects" as custom_potion_effects: Vec<super::compounds::MobEffectInstance_save>, optional "Potion" as potion: CowStr }
139        Bat > AmbientCreature { "BatFlags" as bat_flags: i8 }
140        Blaze > Monster {  }
141        Boat > Entity { "Type" as r#type: CowStr }
142        Cat > TamableAnimal { "CatType" as cat_type: i32, "CollarColor" as collar_color: i8 }
143        CaveSpider > Spider {  }
144        Chicken > Animal { "EggLayTime" as egg_lay_time: i32, "IsChickenJockey" as is_chicken_jockey: bool }
145        Cod > AbstractSchoolingFish {  }
146        Cow > Animal {  }
147        Creeper > Monster { "ExplosionRadius" as explosion_radius: i8, "Fuse" as fuse: i16, "ignited" as ignited: bool, optional "powered" as powered: bool }
148        Dolphin > WaterAnimal { "GotFish" as got_fish: bool, "Moistness" as moistness: i32, "TreasurePosX" as treasure_pos_x: i32, "TreasurePosY" as treasure_pos_y: i32, "TreasurePosZ" as treasure_pos_z: i32 }
149        Donkey > AbstractChestedHorse {  }
150        DragonFireball > AbstractHurtingProjectile {  }
151        Drowned > Zombie {  }
152        ElderGuardian > Guardian {  }
153        EndCrystal > Entity { optional "BeamTarget" as beam_target: super::compounds::NbtUtils_writeBlockPos, "ShowBottom" as show_bottom: bool }
154        EnderDragon > Mob { "DragonPhase" as dragon_phase: i32 }
155        EnderMan > Monster { optional "carriedBlockState" as carried_block_state: super::BlockState }
156        Endermite > Monster { "Lifetime" as lifetime: i32, "PlayerSpawned" as player_spawned: bool }
157        Entity { "Air" as air: i16, optional "CustomName" as custom_name: CowStr, optional "CustomNameVisible" as custom_name_visible: bool, "Dimension" as dimension: i32, "FallDistance" as fall_distance: f32, "Fire" as fire: i16, optional "Glowing" as glowing: bool, "Invulnerable" as invulnerable: bool, "Motion" as motion: Vec<f64>, optional "NoGravity" as no_gravity: bool, "OnGround" as on_ground: bool, optional "Passengers" as passengers: Vec<Box<super::Entity>>, "PortalCooldown" as portal_cooldown: i32, "Pos" as pos: Vec<f64>, "Rotation" as rotation: Vec<f32>, optional "Silent" as silent: bool, optional "Tags" as tags: Vec<CowStr>, "UUID" as uuid: u128 }
158        Evoker > SpellcasterIllager {  }
159        EvokerFangs > Entity { optional "OwnerUUID" as owner_uuid: u128, "Warmup" as warmup: i32 }
160        ExperienceOrb > Entity { "Age" as age: i16, "Health" as health: i16, "Value" as value: i16 }
161        EyeOfEnder > Entity { optional "Item" as item: super::compounds::ItemStack_save_2 }
162        FallingBlockEntity > Entity { "BlockState" as block_state: super::BlockState, "DropItem" as drop_item: bool, "FallHurtAmount" as fall_hurt_amount: f32, "FallHurtMax" as fall_hurt_max: i32, "HurtEntities" as hurt_entities: bool, optional "TileEntityData" as tile_entity_data: HashMap<CowStr, fastnbt::Value>, "Time" as time: i32 }
163        Fireball > AbstractHurtingProjectile { optional "Item" as item: super::compounds::ItemStack_save_2 }
164        FireworkRocketEntity > Entity { optional "FireworksItem" as fireworks_item: super::compounds::ItemStack_save_2, "Life" as life: i32, "LifeTime" as life_time: i32, "ShotAtAngle" as shot_at_angle: bool }
165        FishingHook > Entity {  }
166        FlyingMob > Mob {  }
167        Fox > Animal { "Crouching" as crouching: bool, "Sitting" as sitting: bool, "Sleeping" as sleeping: bool, "TrustedUUIDs" as trusted_uui_ds: Vec<super::compounds::NbtUtils_createUUIDTag>, "Type" as r#type: CowStr }
168        Ghast > FlyingMob { "ExplosionPower" as explosion_power: i32 }
169        Giant > Monster {  }
170        Guardian > Monster {  }
171        HangingEntity > Entity { "Facing" as facing: i8, "TileX" as tile_x: i32, "TileY" as tile_y: i32, "TileZ" as tile_z: i32 }
172        Horse > AbstractHorse { optional "ArmorItem" as armor_item: super::compounds::ItemStack_save_2, "Variant" as variant: i32 }
173        Husk > Zombie {  }
174        Illusioner > SpellcasterIllager {  }
175        IronGolem > AbstractGolem { "PlayerCreated" as player_created: bool }
176        ItemEntity > Entity { "Age" as age: i16, "Health" as health: i16, optional "Item" as item: super::compounds::ItemStack_save_2, optional "Owner" as owner: super::compounds::NbtUtils_createUUIDTag, "PickupDelay" as pickup_delay: i16, optional "Thrower" as thrower: super::compounds::NbtUtils_createUUIDTag }
177        ItemFrame > HangingEntity { "Facing" as facing: i8, optional "Item" as item: super::compounds::ItemStack_save_2, optional "ItemDropChance" as item_drop_chance: f32, optional "ItemRotation" as item_rotation: i8 }
178        LargeFireball > Fireball { "ExplosionPower" as explosion_power: i32 }
179        LeashFenceKnotEntity > HangingEntity {  }
180        LightningBolt > Entity {  }
181        LivingEntity > Entity { "AbsorptionAmount" as absorption_amount: f32, optional "ActiveEffects" as active_effects: Vec<super::compounds::MobEffectInstance_save>, "Attributes" as attributes: Vec<super::compounds::SharedMonsterAttributes_saveAttribute>, "Brain" as brain: fastnbt::Value, "DeathTime" as death_time: i16, "FallFlying" as fall_flying: bool, "Health" as health: f32, "HurtByTimestamp" as hurt_by_timestamp: i32, "HurtTime" as hurt_time: i16, optional "SleepingX" as sleeping_x: i32, optional "SleepingY" as sleeping_y: i32, optional "SleepingZ" as sleeping_z: i32 }
182        Llama > AbstractChestedHorse { optional "DecorItem" as decor_item: super::compounds::ItemStack_save_2, "Strength" as strength: i32, "Variant" as variant: i32 }
183        LlamaSpit > Entity { optional "Owner" as owner: super::compounds::Compound10 }
184        MagmaCube > Slime {  }
185        Minecart > AbstractMinecart {  }
186        MinecartChest > AbstractMinecartContainer {  }
187        MinecartCommandBlock > AbstractMinecart { "Command" as command: CowStr, "CustomName" as custom_name: CowStr, optional "LastExecution" as last_execution: i64, optional "LastOutput" as last_output: CowStr, "SuccessCount" as success_count: i32, "TrackOutput" as track_output: bool, "UpdateLastExecution" as update_last_execution: bool }
188        MinecartFurnace > AbstractMinecart { "Fuel" as fuel: i16, "PushX" as push_x: f64, "PushZ" as push_z: f64 }
189        MinecartHopper > AbstractMinecartContainer { "Enabled" as enabled: bool, "TransferCooldown" as transfer_cooldown: i32 }
190        MinecartSpawner > AbstractMinecart { optional "Delay" as delay: i16, optional "MaxNearbyEntities" as max_nearby_entities: i16, optional "MaxSpawnDelay" as max_spawn_delay: i16, optional "MinSpawnDelay" as min_spawn_delay: i16, optional "RequiredPlayerRange" as required_player_range: i16, optional "SpawnCount" as spawn_count: i16, optional "SpawnData" as spawn_data: HashMap<CowStr, fastnbt::Value>, optional "SpawnPotentials" as spawn_potentials: Vec<super::compounds::SpawnData_save>, optional "SpawnRange" as spawn_range: i16 }
191        MinecartTNT > AbstractMinecart { "TNTFuse" as tnt_fuse: i32 }
192        Mob > LivingEntity { "ArmorDropChances" as armor_drop_chances: Vec<f32>, "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save>, "CanPickUpLoot" as can_pick_up_loot: bool, optional "DeathLootTable" as death_loot_table: CowStr, optional "DeathLootTableSeed" as death_loot_table_seed: i64, "HandDropChances" as hand_drop_chances: Vec<f32>, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save>, optional "Leash" as leash: super::compounds::Compound5, "LeftHanded" as left_handed: bool, optional "NoAI" as no_ai: bool, "PersistenceRequired" as persistence_required: bool }
193        Monster > PathfinderMob {  }
194        Mule > AbstractChestedHorse {  }
195        MushroomCow > Cow { optional "EffectDuration" as effect_duration: i32, optional "EffectId" as effect_id: i8, "Type" as r#type: CowStr }
196        Ocelot > Animal { "Trusting" as trusting: bool }
197        Painting > HangingEntity { "Motive" as motive: CowStr }
198        Panda > Animal { "HiddenGene" as hidden_gene: CowStr, "MainGene" as main_gene: CowStr }
199        Parrot > ShoulderRidingEntity { "Variant" as variant: i32 }
200        PathfinderMob > Mob {  }
201        PatrollingMonster > Monster { "PatrolLeader" as patrol_leader: bool, optional "PatrolTarget" as patrol_target: super::compounds::NbtUtils_writeBlockPos, "Patrolling" as patrolling: bool }
202        Phantom > FlyingMob { "AX" as ax: i32, "AY" as ay: i32, "AZ" as az: i32, "Size" as size: i32 }
203        Pig > Animal { "Saddle" as saddle: bool }
204        PigZombie > Zombie { "Anger" as anger: i16, optional "HurtBy" as hurt_by: CowStr }
205        Pillager > AbstractIllager { "Inventory" as inventory: Vec<super::compounds::ItemStack_save_2> }
206        PolarBear > Animal {  }
207        PrimedTnt > Entity { "Fuse" as fuse: i16 }
208        Pufferfish > AbstractFish { "PuffState" as puff_state: i32 }
209        Rabbit > Animal { "MoreCarrotTicks" as more_carrot_ticks: i32, "RabbitType" as rabbit_type: i32 }
210        Raider > PatrollingMonster { "CanJoinRaid" as can_join_raid: bool, optional "RaidId" as raid_id: i32, "Wave" as wave: i32 }
211        Ravager > Raider { "AttackTick" as attack_tick: i32, "RoarTick" as roar_tick: i32, "StunTick" as stun_tick: i32 }
212        Salmon > AbstractSchoolingFish {  }
213        Sheep > Animal { "Color" as color: i8, "Sheared" as sheared: bool }
214        ShoulderRidingEntity > TamableAnimal {  }
215        Shulker > AbstractGolem { optional "APX" as apx: i32, optional "APY" as apy: i32, optional "APZ" as apz: i32, "AttachFace" as attach_face: i8, "Color" as color: i8, "Peek" as peek: i8 }
216        ShulkerBullet > Entity { optional "Dir" as dir: i32, optional "Owner" as owner: super::compounds::NbtUtils_createUUIDTag_1, "Steps" as steps: i32, "TXD" as txd: f64, "TYD" as tyd: f64, "TZD" as tzd: f64, optional "Target" as target: super::compounds::NbtUtils_createUUIDTag_1 }
217        Silverfish > Monster {  }
218        Skeleton > AbstractSkeleton {  }
219        SkeletonHorse > AbstractHorse { "SkeletonTrap" as skeleton_trap: bool, "SkeletonTrapTime" as skeleton_trap_time: i32 }
220        Slime > Mob { "Size" as size: i32, "wasOnGround" as was_on_ground: bool }
221        SmallFireball > Fireball {  }
222        SnowGolem > AbstractGolem { "Pumpkin" as pumpkin: bool }
223        Snowball > ThrowableItemProjectile {  }
224        SpectralArrow > AbstractArrow { "Duration" as duration: i32 }
225        SpellcasterIllager > AbstractIllager { "SpellTicks" as spell_ticks: i32 }
226        Spider > Monster {  }
227        Squid > WaterAnimal {  }
228        Stray > AbstractSkeleton {  }
229        TamableAnimal > Animal { optional "OwnerUUID" as owner_uuid: CowStr, "Sitting" as sitting: bool }
230        ThrowableItemProjectile > ThrowableProjectile { optional "Item" as item: super::compounds::ItemStack_save_2 }
231        ThrowableProjectile > Entity { "inGround" as in_ground: i8, optional "owner" as owner: super::compounds::NbtUtils_createUUIDTag, "shake" as shake: i8, "xTile" as x_tile: i32, "yTile" as y_tile: i32, "zTile" as z_tile: i32 }
232        ThrownEgg > ThrowableItemProjectile {  }
233        ThrownEnderpearl > ThrowableItemProjectile {  }
234        ThrownExperienceBottle > ThrowableItemProjectile {  }
235        ThrownPotion > ThrowableProjectile { optional "Potion" as potion: super::compounds::ItemStack_save_2 }
236        ThrownTrident > AbstractArrow { "DealtDamage" as dealt_damage: bool, "Trident" as trident: super::compounds::ItemStack_save_2 }
237        TraderLlama > Llama { "DespawnDelay" as despawn_delay: i32 }
238        TropicalFish > AbstractSchoolingFish { "Variant" as variant: i32 }
239        Turtle > Animal { "HasEgg" as has_egg: bool, "HomePosX" as home_pos_x: i32, "HomePosY" as home_pos_y: i32, "HomePosZ" as home_pos_z: i32, "TravelPosX" as travel_pos_x: i32, "TravelPosY" as travel_pos_y: i32, "TravelPosZ" as travel_pos_z: i32 }
240        Vex > Monster { optional "BoundX" as bound_x: i32, optional "BoundY" as bound_y: i32, optional "BoundZ" as bound_z: i32, optional "LifeTicks" as life_ticks: i32 }
241        Villager > AbstractVillager { "FoodLevel" as food_level: i8, "Gossips" as gossips: fastnbt::Value, "LastGossipDecay" as last_gossip_decay: i64, "LastRestock" as last_restock: i64, "RestocksToday" as restocks_today: i32, "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
242        Vindicator > AbstractIllager { optional "Johnny" as johnny: bool }
243        WanderingTrader > AbstractVillager { "DespawnDelay" as despawn_delay: i32, optional "WanderTarget" as wander_target: super::compounds::NbtUtils_writeBlockPos }
244        WaterAnimal > PathfinderMob {  }
245        Witch > Raider {  }
246        WitherBoss > Monster { "Invul" as invul: i32 }
247        WitherSkeleton > AbstractSkeleton {  }
248        WitherSkull > AbstractHurtingProjectile {  }
249        Wolf > TamableAnimal { "Angry" as angry: bool, "CollarColor" as collar_color: i8 }
250        Zombie > Monster { "CanBreakDoors" as can_break_doors: bool, "DrownedConversionTime" as drowned_conversion_time: i32, "InWaterTime" as in_water_time: i32, optional "IsBaby" as is_baby: bool }
251        ZombieHorse > AbstractHorse {  }
252        ZombieVillager > Zombie { optional "ConversionPlayer" as conversion_player: u128, "ConversionTime" as conversion_time: i32, optional "Gossips" as gossips: fastnbt::Value, optional "Offers" as offers: HashMap<CowStr, fastnbt::Value>, "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
253    }
254
255    entity_compound_types! {
256        "1.14";
257        ArmorStand_writePose { optional "Body" as body: Vec<f32>, optional "Head" as head: Vec<f32>, optional "LeftArm" as left_arm: Vec<f32>, optional "LeftLeg" as left_leg: Vec<f32>, optional "RightArm" as right_arm: Vec<f32>, optional "RightLeg" as right_leg: Vec<f32> }
258        Compound10 { "OwnerUUID" as owner_uuid: u128 }
259        Compound5 { optional "UUID" as uuid: u128, optional "X" as x: i32, optional "Y" as y: i32, optional "Z" as z: i32 }
260        ItemStack_save { optional "Count" as count: i8, optional "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
261        ItemStack_save_1 { "Count" as count: i8, "Slot" as slot: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
262        ItemStack_save_2 { "Count" as count: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
263        MerchantOffer_createTag { "buy" as buy: super::compounds::ItemStack_save_2, "buyB" as buy_b: super::compounds::ItemStack_save_2, "demand" as demand: i32, "maxUses" as max_uses: i32, "priceMultiplier" as price_multiplier: f32, "rewardExp" as reward_exp: bool, "sell" as sell: super::compounds::ItemStack_save_2, "specialPrice" as special_price: i32, "uses" as uses: i32, "xp" as xp: i32 }
264        MerchantOffers_createTag { "Recipes" as recipes: Vec<super::compounds::MerchantOffer_createTag> }
265        MobEffectInstance_save { "Ambient" as ambient: bool, "Amplifier" as amplifier: i8, "Duration" as duration: i32, "Id" as id: i8, "ShowIcon" as show_icon: bool, "ShowParticles" as show_particles: bool }
266        NbtUtils_createUUIDTag { "L" as l: i64, "M" as m: i64 }
267        NbtUtils_createUUIDTag_1 { "L" as l: i64, "M" as m: i64, "X" as x: i32, "Y" as y: i32, "Z" as z: i32 }
268        NbtUtils_writeBlockPos { "X" as x: i32, "Y" as y: i32, "Z" as z: i32 }
269        SharedMonsterAttributes_saveAttribute { "Base" as base: f64, optional "Modifiers" as modifiers: Vec<super::compounds::SharedMonsterAttributes_saveAttributeModifier>, "Name" as name: CowStr }
270        SharedMonsterAttributes_saveAttributeModifier { "Amount" as amount: f64, "Name" as name: CowStr, "Operation" as operation: i32, "UUID" as uuid: u128 }
271        SpawnData_save { "Entity" as entity: HashMap<CowStr, fastnbt::Value>, "Weight" as weight: i32 }
272    }
273}
274
275/// Accompanying types for entities in Minecraft 1.15.
276#[cfg(feature = "1.15")]
277pub mod mc1_15 {
278    entities! {
279        "1.15", mc1_15;
280        "minecraft:area_effect_cloud", AreaEffectCloud: AreaEffectCloud;
281        "minecraft:armor_stand", ArmorStand: ArmorStand;
282        "minecraft:arrow", Arrow: Arrow;
283        "minecraft:bat", Bat: Bat;
284        "minecraft:bee", Bee: Bee;
285        "minecraft:blaze", Blaze: Blaze;
286        "minecraft:boat", Boat: Boat;
287        "minecraft:cat", Cat: Cat;
288        "minecraft:cave_spider", CaveSpider: CaveSpider;
289        "minecraft:chest_minecart", ChestMinecart: MinecartChest;
290        "minecraft:chicken", Chicken: Chicken;
291        "minecraft:cod", Cod: Cod;
292        "minecraft:command_block_minecart", CommandBlockMinecart: MinecartCommandBlock;
293        "minecraft:cow", Cow: Cow;
294        "minecraft:creeper", Creeper: Creeper;
295        "minecraft:dolphin", Dolphin: Dolphin;
296        "minecraft:donkey", Donkey: Donkey;
297        "minecraft:dragon_fireball", DragonFireball: DragonFireball;
298        "minecraft:drowned", Drowned: Drowned;
299        "minecraft:egg", Egg: ThrownEgg;
300        "minecraft:elder_guardian", ElderGuardian: ElderGuardian;
301        "minecraft:end_crystal", EndCrystal: EndCrystal;
302        "minecraft:ender_dragon", EnderDragon: EnderDragon;
303        "minecraft:ender_pearl", EnderPearl: ThrownEnderpearl;
304        "minecraft:enderman", Enderman: EnderMan;
305        "minecraft:endermite", Endermite: Endermite;
306        "minecraft:evoker", Evoker: Evoker;
307        "minecraft:evoker_fangs", EvokerFangs: EvokerFangs;
308        "minecraft:experience_bottle", ExperienceBottle: ThrownExperienceBottle;
309        "minecraft:experience_orb", ExperienceOrb: ExperienceOrb;
310        "minecraft:eye_of_ender", EyeOfEnder: EyeOfEnder;
311        "minecraft:falling_block", FallingBlock: FallingBlockEntity;
312        "minecraft:fireball", Fireball: LargeFireball;
313        "minecraft:firework_rocket", FireworkRocket: FireworkRocketEntity;
314        "minecraft:fishing_bobber", FishingBobber: FishingHook;
315        "minecraft:fox", Fox: Fox;
316        "minecraft:furnace_minecart", FurnaceMinecart: MinecartFurnace;
317        "minecraft:ghast", Ghast: Ghast;
318        "minecraft:giant", Giant: Giant;
319        "minecraft:guardian", Guardian: Guardian;
320        "minecraft:hopper_minecart", HopperMinecart: MinecartHopper;
321        "minecraft:horse", Horse: Horse;
322        "minecraft:husk", Husk: Husk;
323        "minecraft:illusioner", Illusioner: Illusioner;
324        "minecraft:iron_golem", IronGolem: IronGolem;
325        "minecraft:item", Item: ItemEntity;
326        "minecraft:item_frame", ItemFrame: ItemFrame;
327        "minecraft:leash_knot", LeashKnot: LeashFenceKnotEntity;
328        "minecraft:lightning_bolt", LightningBolt: LightningBolt;
329        "minecraft:llama", Llama: Llama;
330        "minecraft:llama_spit", LlamaSpit: LlamaSpit;
331        "minecraft:magma_cube", MagmaCube: MagmaCube;
332        "minecraft:minecart", Minecart: Minecart;
333        "minecraft:mooshroom", Mooshroom: MushroomCow;
334        "minecraft:mule", Mule: Mule;
335        "minecraft:ocelot", Ocelot: Ocelot;
336        "minecraft:painting", Painting: Painting;
337        "minecraft:panda", Panda: Panda;
338        "minecraft:parrot", Parrot: Parrot;
339        "minecraft:phantom", Phantom: Phantom;
340        "minecraft:pig", Pig: Pig;
341        "minecraft:pillager", Pillager: Pillager;
342        "minecraft:polar_bear", PolarBear: PolarBear;
343        "minecraft:potion", Potion: ThrownPotion;
344        "minecraft:pufferfish", Pufferfish: Pufferfish;
345        "minecraft:rabbit", Rabbit: Rabbit;
346        "minecraft:ravager", Ravager: Ravager;
347        "minecraft:salmon", Salmon: Salmon;
348        "minecraft:sheep", Sheep: Sheep;
349        "minecraft:shulker", Shulker: Shulker;
350        "minecraft:shulker_bullet", ShulkerBullet: ShulkerBullet;
351        "minecraft:silverfish", Silverfish: Silverfish;
352        "minecraft:skeleton", Skeleton: Skeleton;
353        "minecraft:skeleton_horse", SkeletonHorse: SkeletonHorse;
354        "minecraft:slime", Slime: Slime;
355        "minecraft:small_fireball", SmallFireball: SmallFireball;
356        "minecraft:snow_golem", SnowGolem: SnowGolem;
357        "minecraft:snowball", Snowball: Snowball;
358        "minecraft:spawner_minecart", SpawnerMinecart: MinecartSpawner;
359        "minecraft:spectral_arrow", SpectralArrow: SpectralArrow;
360        "minecraft:spider", Spider: Spider;
361        "minecraft:squid", Squid: Squid;
362        "minecraft:stray", Stray: Stray;
363        "minecraft:tnt", Tnt: PrimedTnt;
364        "minecraft:tnt_minecart", TntMinecart: MinecartTNT;
365        "minecraft:trader_llama", TraderLlama: TraderLlama;
366        "minecraft:trident", Trident: ThrownTrident;
367        "minecraft:tropical_fish", TropicalFish: TropicalFish;
368        "minecraft:turtle", Turtle: Turtle;
369        "minecraft:vex", Vex: Vex;
370        "minecraft:villager", Villager: Villager;
371        "minecraft:vindicator", Vindicator: Vindicator;
372        "minecraft:wandering_trader", WanderingTrader: WanderingTrader;
373        "minecraft:witch", Witch: Witch;
374        "minecraft:wither", Wither: WitherBoss;
375        "minecraft:wither_skeleton", WitherSkeleton: WitherSkeleton;
376        "minecraft:wither_skull", WitherSkull: WitherSkull;
377        "minecraft:wolf", Wolf: Wolf;
378        "minecraft:zombie", Zombie: Zombie;
379        "minecraft:zombie_horse", ZombieHorse: ZombieHorse;
380        "minecraft:zombie_pigman", ZombiePigman: PigZombie;
381        "minecraft:zombie_villager", ZombieVillager: ZombieVillager;
382    }
383
384    entity_types! {
385        "1.15";
386        AbstractArrow > Entity { optional "OwnerUUID" as owner_uuid: u128, "PierceLevel" as pierce_level: i8, "ShotFromCrossbow" as shot_from_crossbow: bool, "SoundEvent" as sound_event: CowStr, "crit" as crit: bool, "damage" as damage: f64, optional "inBlockState" as in_block_state: super::BlockState, "inGround" as in_ground: bool, "life" as life: i16, "pickup" as pickup: i8, "shake" as shake: i8 }
387        AbstractChestedHorse > AbstractHorse { "ChestedHorse" as chested_horse: bool, optional "Items" as items: Vec<super::compounds::ItemStack_save_1> }
388        AbstractFish > WaterAnimal { "FromBucket" as from_bucket: bool }
389        AbstractGolem > PathfinderMob {  }
390        AbstractHorse > Animal { "Bred" as bred: bool, "EatingHaystack" as eating_haystack: bool, optional "OwnerUUID" as owner_uuid: CowStr, optional "SaddleItem" as saddle_item: super::compounds::ItemStack_save_2, "Tame" as tame: bool, "Temper" as temper: i32 }
391        AbstractHurtingProjectile > Entity { "direction" as direction: Vec<f64>, "life" as life: i32, "power" as power: Vec<f64> }
392        AbstractIllager > Raider {  }
393        AbstractMinecart > Entity { optional "CustomDisplayTile" as custom_display_tile: bool, optional "DisplayOffset" as display_offset: i32, optional "DisplayState" as display_state: super::BlockState }
394        AbstractMinecartContainer > AbstractMinecart { optional "Items" as items: Vec<super::compounds::ItemStack_save_1>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
395        AbstractSchoolingFish > AbstractFish {  }
396        AbstractSkeleton > Monster {  }
397        AbstractVillager > AgableMob { "Inventory" as inventory: Vec<super::compounds::ItemStack_save_2>, optional "Offers" as offers: super::compounds::MerchantOffers_createTag }
398        AgableMob > PathfinderMob { "Age" as age: i32, "ForcedAge" as forced_age: i32 }
399        AmbientCreature > Mob {  }
400        Animal > AgableMob { "InLove" as in_love: i32, optional "LoveCause" as love_cause: u128 }
401        AreaEffectCloud > Entity { "Age" as age: i32, optional "Color" as color: i32, "Duration" as duration: i32, "DurationOnUse" as duration_on_use: i32, optional "Effects" as effects: Vec<super::compounds::MobEffectInstance_save>, optional "OwnerUUID" as owner_uuid: u128, "Particle" as particle: CowStr, optional "Potion" as potion: CowStr, "Radius" as radius: f32, "RadiusOnUse" as radius_on_use: f32, "RadiusPerTick" as radius_per_tick: f32, "ReapplicationDelay" as reapplication_delay: i32, "WaitTime" as wait_time: i32 }
402        ArmorStand > LivingEntity { "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save>, "DisabledSlots" as disabled_slots: i32, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save>, "Invisible" as invisible: bool, optional "Marker" as marker: bool, "NoBasePlate" as no_base_plate: bool, "Pose" as pose: super::compounds::ArmorStand_writePose, "ShowArms" as show_arms: bool, "Small" as small: bool }
403        Arrow > AbstractArrow { optional "Color" as color: i32, optional "CustomPotionEffects" as custom_potion_effects: Vec<super::compounds::MobEffectInstance_save>, optional "Potion" as potion: CowStr }
404        Bat > AmbientCreature { "BatFlags" as bat_flags: i8 }
405        Bee > Animal { "Anger" as anger: i32, "CannotEnterHiveTicks" as cannot_enter_hive_ticks: i32, "CropsGrownSincePollination" as crops_grown_since_pollination: i32, optional "FlowerPos" as flower_pos: super::compounds::NbtUtils_writeBlockPos, "HasNectar" as has_nectar: bool, "HasStung" as has_stung: bool, optional "HivePos" as hive_pos: super::compounds::NbtUtils_writeBlockPos, optional "HurtBy" as hurt_by: CowStr, "TicksSincePollination" as ticks_since_pollination: i32 }
406        Blaze > Monster {  }
407        Boat > Entity { "Type" as r#type: CowStr }
408        Cat > TamableAnimal { "CatType" as cat_type: i32, "CollarColor" as collar_color: i8 }
409        CaveSpider > Spider {  }
410        Chicken > Animal { "EggLayTime" as egg_lay_time: i32, "IsChickenJockey" as is_chicken_jockey: bool }
411        Cod > AbstractSchoolingFish {  }
412        Cow > Animal {  }
413        Creeper > Monster { "ExplosionRadius" as explosion_radius: i8, "Fuse" as fuse: i16, "ignited" as ignited: bool, optional "powered" as powered: bool }
414        Dolphin > WaterAnimal { "GotFish" as got_fish: bool, "Moistness" as moistness: i32, "TreasurePosX" as treasure_pos_x: i32, "TreasurePosY" as treasure_pos_y: i32, "TreasurePosZ" as treasure_pos_z: i32 }
415        Donkey > AbstractChestedHorse {  }
416        DragonFireball > AbstractHurtingProjectile {  }
417        Drowned > Zombie {  }
418        ElderGuardian > Guardian {  }
419        EndCrystal > Entity { optional "BeamTarget" as beam_target: super::compounds::NbtUtils_writeBlockPos, "ShowBottom" as show_bottom: bool }
420        EnderDragon > Mob { "DragonPhase" as dragon_phase: i32 }
421        EnderMan > Monster { optional "carriedBlockState" as carried_block_state: super::BlockState }
422        Endermite > Monster { "Lifetime" as lifetime: i32, "PlayerSpawned" as player_spawned: bool }
423        Entity { "Air" as air: i16, optional "CustomName" as custom_name: CowStr, optional "CustomNameVisible" as custom_name_visible: bool, "Dimension" as dimension: i32, "FallDistance" as fall_distance: f32, "Fire" as fire: i16, optional "Glowing" as glowing: bool, "Invulnerable" as invulnerable: bool, "Motion" as motion: Vec<f64>, optional "NoGravity" as no_gravity: bool, "OnGround" as on_ground: bool, optional "Passengers" as passengers: Vec<Box<super::Entity>>, "PortalCooldown" as portal_cooldown: i32, "Pos" as pos: Vec<f64>, "Rotation" as rotation: Vec<f32>, optional "Silent" as silent: bool, optional "Tags" as tags: Vec<CowStr>, "UUID" as uuid: u128 }
424        Evoker > SpellcasterIllager {  }
425        EvokerFangs > Entity { optional "OwnerUUID" as owner_uuid: u128, "Warmup" as warmup: i32 }
426        ExperienceOrb > Entity { "Age" as age: i16, "Health" as health: i16, "Value" as value: i16 }
427        EyeOfEnder > Entity { optional "Item" as item: super::compounds::ItemStack_save_2 }
428        FallingBlockEntity > Entity { "BlockState" as block_state: super::BlockState, "DropItem" as drop_item: bool, "FallHurtAmount" as fall_hurt_amount: f32, "FallHurtMax" as fall_hurt_max: i32, "HurtEntities" as hurt_entities: bool, optional "TileEntityData" as tile_entity_data: HashMap<CowStr, fastnbt::Value>, "Time" as time: i32 }
429        Fireball > AbstractHurtingProjectile { optional "Item" as item: super::compounds::ItemStack_save_2 }
430        FireworkRocketEntity > Entity { optional "FireworksItem" as fireworks_item: super::compounds::ItemStack_save_2, "Life" as life: i32, "LifeTime" as life_time: i32, "ShotAtAngle" as shot_at_angle: bool }
431        FishingHook > Entity {  }
432        FlyingMob > Mob {  }
433        Fox > Animal { "Crouching" as crouching: bool, "Sitting" as sitting: bool, "Sleeping" as sleeping: bool, "TrustedUUIDs" as trusted_uui_ds: Vec<super::compounds::NbtUtils_createUUIDTag>, "Type" as r#type: CowStr }
434        Ghast > FlyingMob { "ExplosionPower" as explosion_power: i32 }
435        Giant > Monster {  }
436        Guardian > Monster {  }
437        HangingEntity > Entity { "Facing" as facing: i8, "TileX" as tile_x: i32, "TileY" as tile_y: i32, "TileZ" as tile_z: i32 }
438        Horse > AbstractHorse { optional "ArmorItem" as armor_item: super::compounds::ItemStack_save_2, "Variant" as variant: i32 }
439        Husk > Zombie {  }
440        Illusioner > SpellcasterIllager {  }
441        IronGolem > AbstractGolem { "PlayerCreated" as player_created: bool }
442        ItemEntity > Entity { "Age" as age: i16, "Health" as health: i16, optional "Item" as item: super::compounds::ItemStack_save_2, optional "Owner" as owner: super::compounds::NbtUtils_createUUIDTag, "PickupDelay" as pickup_delay: i16, optional "Thrower" as thrower: super::compounds::NbtUtils_createUUIDTag }
443        ItemFrame > HangingEntity { "Facing" as facing: i8, optional "Item" as item: super::compounds::ItemStack_save_2, optional "ItemDropChance" as item_drop_chance: f32, optional "ItemRotation" as item_rotation: i8 }
444        LargeFireball > Fireball { "ExplosionPower" as explosion_power: i32 }
445        LeashFenceKnotEntity > HangingEntity {  }
446        LightningBolt > Entity {  }
447        LivingEntity > Entity { "AbsorptionAmount" as absorption_amount: f32, optional "ActiveEffects" as active_effects: Vec<super::compounds::MobEffectInstance_save>, "Attributes" as attributes: Vec<super::compounds::SharedMonsterAttributes_saveAttribute>, "Brain" as brain: fastnbt::Value, "DeathTime" as death_time: i16, "FallFlying" as fall_flying: bool, "Health" as health: f32, "HurtByTimestamp" as hurt_by_timestamp: i32, "HurtTime" as hurt_time: i16, optional "SleepingX" as sleeping_x: i32, optional "SleepingY" as sleeping_y: i32, optional "SleepingZ" as sleeping_z: i32 }
448        Llama > AbstractChestedHorse { optional "DecorItem" as decor_item: super::compounds::ItemStack_save_2, "Strength" as strength: i32, "Variant" as variant: i32 }
449        LlamaSpit > Entity { optional "Owner" as owner: super::compounds::Compound10 }
450        MagmaCube > Slime {  }
451        Minecart > AbstractMinecart {  }
452        MinecartChest > AbstractMinecartContainer {  }
453        MinecartCommandBlock > AbstractMinecart { "Command" as command: CowStr, "CustomName" as custom_name: CowStr, optional "LastExecution" as last_execution: i64, optional "LastOutput" as last_output: CowStr, "SuccessCount" as success_count: i32, "TrackOutput" as track_output: bool, "UpdateLastExecution" as update_last_execution: bool }
454        MinecartFurnace > AbstractMinecart { "Fuel" as fuel: i16, "PushX" as push_x: f64, "PushZ" as push_z: f64 }
455        MinecartHopper > AbstractMinecartContainer { "Enabled" as enabled: bool, "TransferCooldown" as transfer_cooldown: i32 }
456        MinecartSpawner > AbstractMinecart { optional "Delay" as delay: i16, optional "MaxNearbyEntities" as max_nearby_entities: i16, optional "MaxSpawnDelay" as max_spawn_delay: i16, optional "MinSpawnDelay" as min_spawn_delay: i16, optional "RequiredPlayerRange" as required_player_range: i16, optional "SpawnCount" as spawn_count: i16, optional "SpawnData" as spawn_data: HashMap<CowStr, fastnbt::Value>, optional "SpawnPotentials" as spawn_potentials: Vec<super::compounds::SpawnData_save>, optional "SpawnRange" as spawn_range: i16 }
457        MinecartTNT > AbstractMinecart { "TNTFuse" as tnt_fuse: i32 }
458        Mob > LivingEntity { "ArmorDropChances" as armor_drop_chances: Vec<f32>, "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save>, "CanPickUpLoot" as can_pick_up_loot: bool, optional "DeathLootTable" as death_loot_table: CowStr, optional "DeathLootTableSeed" as death_loot_table_seed: i64, "HandDropChances" as hand_drop_chances: Vec<f32>, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save>, optional "Leash" as leash: super::compounds::Compound5, "LeftHanded" as left_handed: bool, optional "NoAI" as no_ai: bool, "PersistenceRequired" as persistence_required: bool }
459        Monster > PathfinderMob {  }
460        Mule > AbstractChestedHorse {  }
461        MushroomCow > Cow { optional "EffectDuration" as effect_duration: i32, optional "EffectId" as effect_id: i8, "Type" as r#type: CowStr }
462        Ocelot > Animal { "Trusting" as trusting: bool }
463        Painting > HangingEntity { "Motive" as motive: CowStr }
464        Panda > Animal { "HiddenGene" as hidden_gene: CowStr, "MainGene" as main_gene: CowStr }
465        Parrot > ShoulderRidingEntity { "Variant" as variant: i32 }
466        PathfinderMob > Mob {  }
467        PatrollingMonster > Monster { "PatrolLeader" as patrol_leader: bool, optional "PatrolTarget" as patrol_target: super::compounds::NbtUtils_writeBlockPos, "Patrolling" as patrolling: bool }
468        Phantom > FlyingMob { "AX" as ax: i32, "AY" as ay: i32, "AZ" as az: i32, "Size" as size: i32 }
469        Pig > Animal { "Saddle" as saddle: bool }
470        PigZombie > Zombie { "Anger" as anger: i16, optional "HurtBy" as hurt_by: CowStr }
471        Pillager > AbstractIllager { "Inventory" as inventory: Vec<super::compounds::ItemStack_save_2> }
472        PolarBear > Animal {  }
473        PrimedTnt > Entity { "Fuse" as fuse: i16 }
474        Pufferfish > AbstractFish { "PuffState" as puff_state: i32 }
475        Rabbit > Animal { "MoreCarrotTicks" as more_carrot_ticks: i32, "RabbitType" as rabbit_type: i32 }
476        Raider > PatrollingMonster { "CanJoinRaid" as can_join_raid: bool, optional "RaidId" as raid_id: i32, "Wave" as wave: i32 }
477        Ravager > Raider { "AttackTick" as attack_tick: i32, "RoarTick" as roar_tick: i32, "StunTick" as stun_tick: i32 }
478        Salmon > AbstractSchoolingFish {  }
479        Sheep > Animal { "Color" as color: i8, "Sheared" as sheared: bool }
480        ShoulderRidingEntity > TamableAnimal {  }
481        Shulker > AbstractGolem { optional "APX" as apx: i32, optional "APY" as apy: i32, optional "APZ" as apz: i32, "AttachFace" as attach_face: i8, "Color" as color: i8, "Peek" as peek: i8 }
482        ShulkerBullet > Entity { optional "Dir" as dir: i32, optional "Owner" as owner: super::compounds::NbtUtils_createUUIDTag_1, "Steps" as steps: i32, "TXD" as txd: f64, "TYD" as tyd: f64, "TZD" as tzd: f64, optional "Target" as target: super::compounds::NbtUtils_createUUIDTag_1 }
483        Silverfish > Monster {  }
484        Skeleton > AbstractSkeleton {  }
485        SkeletonHorse > AbstractHorse { "SkeletonTrap" as skeleton_trap: bool, "SkeletonTrapTime" as skeleton_trap_time: i32 }
486        Slime > Mob { "Size" as size: i32, "wasOnGround" as was_on_ground: bool }
487        SmallFireball > Fireball {  }
488        SnowGolem > AbstractGolem { "Pumpkin" as pumpkin: bool }
489        Snowball > ThrowableItemProjectile {  }
490        SpectralArrow > AbstractArrow { "Duration" as duration: i32 }
491        SpellcasterIllager > AbstractIllager { "SpellTicks" as spell_ticks: i32 }
492        Spider > Monster {  }
493        Squid > WaterAnimal {  }
494        Stray > AbstractSkeleton {  }
495        TamableAnimal > Animal { optional "OwnerUUID" as owner_uuid: CowStr, "Sitting" as sitting: bool }
496        ThrowableItemProjectile > ThrowableProjectile { optional "Item" as item: super::compounds::ItemStack_save_2 }
497        ThrowableProjectile > Entity { "inGround" as in_ground: bool, optional "owner" as owner: super::compounds::NbtUtils_createUUIDTag, "shake" as shake: i8, "xTile" as x_tile: i32, "yTile" as y_tile: i32, "zTile" as z_tile: i32 }
498        ThrownEgg > ThrowableItemProjectile {  }
499        ThrownEnderpearl > ThrowableItemProjectile {  }
500        ThrownExperienceBottle > ThrowableItemProjectile {  }
501        ThrownPotion > ThrowableProjectile { optional "Potion" as potion: super::compounds::ItemStack_save_2 }
502        ThrownTrident > AbstractArrow { "DealtDamage" as dealt_damage: bool, "Trident" as trident: super::compounds::ItemStack_save_2 }
503        TraderLlama > Llama { "DespawnDelay" as despawn_delay: i32 }
504        TropicalFish > AbstractSchoolingFish { "Variant" as variant: i32 }
505        Turtle > Animal { "HasEgg" as has_egg: bool, "HomePosX" as home_pos_x: i32, "HomePosY" as home_pos_y: i32, "HomePosZ" as home_pos_z: i32, "TravelPosX" as travel_pos_x: i32, "TravelPosY" as travel_pos_y: i32, "TravelPosZ" as travel_pos_z: i32 }
506        Vex > Monster { optional "BoundX" as bound_x: i32, optional "BoundY" as bound_y: i32, optional "BoundZ" as bound_z: i32, optional "LifeTicks" as life_ticks: i32 }
507        Villager > AbstractVillager { "FoodLevel" as food_level: i8, "Gossips" as gossips: fastnbt::Value, "LastGossipDecay" as last_gossip_decay: i64, "LastRestock" as last_restock: i64, "RestocksToday" as restocks_today: i32, "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
508        Vindicator > AbstractIllager { optional "Johnny" as johnny: bool }
509        WanderingTrader > AbstractVillager { "DespawnDelay" as despawn_delay: i32, optional "WanderTarget" as wander_target: super::compounds::NbtUtils_writeBlockPos }
510        WaterAnimal > PathfinderMob {  }
511        Witch > Raider {  }
512        WitherBoss > Monster { "Invul" as invul: i32 }
513        WitherSkeleton > AbstractSkeleton {  }
514        WitherSkull > AbstractHurtingProjectile {  }
515        Wolf > TamableAnimal { "Angry" as angry: bool, "CollarColor" as collar_color: i8 }
516        Zombie > Monster { "CanBreakDoors" as can_break_doors: bool, "DrownedConversionTime" as drowned_conversion_time: i32, "InWaterTime" as in_water_time: i32, optional "IsBaby" as is_baby: bool }
517        ZombieHorse > AbstractHorse {  }
518        ZombieVillager > Zombie { optional "ConversionPlayer" as conversion_player: u128, "ConversionTime" as conversion_time: i32, optional "Gossips" as gossips: fastnbt::Value, optional "Offers" as offers: HashMap<CowStr, fastnbt::Value>, "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
519    }
520
521    entity_compound_types! {
522        "1.15";
523        ArmorStand_writePose { optional "Body" as body: Vec<f32>, optional "Head" as head: Vec<f32>, optional "LeftArm" as left_arm: Vec<f32>, optional "LeftLeg" as left_leg: Vec<f32>, optional "RightArm" as right_arm: Vec<f32>, optional "RightLeg" as right_leg: Vec<f32> }
524        Compound10 { "OwnerUUID" as owner_uuid: u128 }
525        Compound5 { optional "UUID" as uuid: u128, optional "X" as x: i32, optional "Y" as y: i32, optional "Z" as z: i32 }
526        ItemStack_save { optional "Count" as count: i8, optional "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
527        ItemStack_save_1 { "Count" as count: i8, "Slot" as slot: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
528        ItemStack_save_2 { "Count" as count: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
529        MerchantOffer_createTag { "buy" as buy: super::compounds::ItemStack_save_2, "buyB" as buy_b: super::compounds::ItemStack_save_2, "demand" as demand: i32, "maxUses" as max_uses: i32, "priceMultiplier" as price_multiplier: f32, "rewardExp" as reward_exp: bool, "sell" as sell: super::compounds::ItemStack_save_2, "specialPrice" as special_price: i32, "uses" as uses: i32, "xp" as xp: i32 }
530        MerchantOffers_createTag { "Recipes" as recipes: Vec<super::compounds::MerchantOffer_createTag> }
531        MobEffectInstance_save { "Ambient" as ambient: bool, "Amplifier" as amplifier: i8, "Duration" as duration: i32, "Id" as id: i8, "ShowIcon" as show_icon: bool, "ShowParticles" as show_particles: bool }
532        NbtUtils_createUUIDTag { "L" as l: i64, "M" as m: i64 }
533        NbtUtils_createUUIDTag_1 { "L" as l: i64, "M" as m: i64, "X" as x: i32, "Y" as y: i32, "Z" as z: i32 }
534        NbtUtils_writeBlockPos { "X" as x: i32, "Y" as y: i32, "Z" as z: i32 }
535        SharedMonsterAttributes_saveAttribute { "Base" as base: f64, optional "Modifiers" as modifiers: Vec<super::compounds::SharedMonsterAttributes_saveAttributeModifier>, "Name" as name: CowStr }
536        SharedMonsterAttributes_saveAttributeModifier { "Amount" as amount: f64, "Name" as name: CowStr, "Operation" as operation: i32, "UUID" as uuid: u128 }
537        SpawnData_save { "Entity" as entity: HashMap<CowStr, fastnbt::Value>, "Weight" as weight: i32 }
538    }
539}
540
541/// Accompanying types for entities in Minecraft 1.15.2.
542#[cfg(feature = "1.15.2")]
543pub mod mc1_15_2 {
544    entities! {
545        "1.15.2", mc1_15_2;
546        "minecraft:area_effect_cloud", AreaEffectCloud: AreaEffectCloud;
547        "minecraft:armor_stand", ArmorStand: ArmorStand;
548        "minecraft:arrow", Arrow: Arrow;
549        "minecraft:bat", Bat: Bat;
550        "minecraft:bee", Bee: Bee;
551        "minecraft:blaze", Blaze: Blaze;
552        "minecraft:boat", Boat: Boat;
553        "minecraft:cat", Cat: Cat;
554        "minecraft:cave_spider", CaveSpider: CaveSpider;
555        "minecraft:chest_minecart", ChestMinecart: MinecartChest;
556        "minecraft:chicken", Chicken: Chicken;
557        "minecraft:cod", Cod: Cod;
558        "minecraft:command_block_minecart", CommandBlockMinecart: MinecartCommandBlock;
559        "minecraft:cow", Cow: Cow;
560        "minecraft:creeper", Creeper: Creeper;
561        "minecraft:dolphin", Dolphin: Dolphin;
562        "minecraft:donkey", Donkey: Donkey;
563        "minecraft:dragon_fireball", DragonFireball: DragonFireball;
564        "minecraft:drowned", Drowned: Drowned;
565        "minecraft:egg", Egg: ThrownEgg;
566        "minecraft:elder_guardian", ElderGuardian: ElderGuardian;
567        "minecraft:end_crystal", EndCrystal: EndCrystal;
568        "minecraft:ender_dragon", EnderDragon: EnderDragon;
569        "minecraft:ender_pearl", EnderPearl: ThrownEnderpearl;
570        "minecraft:enderman", Enderman: EnderMan;
571        "minecraft:endermite", Endermite: Endermite;
572        "minecraft:evoker", Evoker: Evoker;
573        "minecraft:evoker_fangs", EvokerFangs: EvokerFangs;
574        "minecraft:experience_bottle", ExperienceBottle: ThrownExperienceBottle;
575        "minecraft:experience_orb", ExperienceOrb: ExperienceOrb;
576        "minecraft:eye_of_ender", EyeOfEnder: EyeOfEnder;
577        "minecraft:falling_block", FallingBlock: FallingBlockEntity;
578        "minecraft:fireball", Fireball: LargeFireball;
579        "minecraft:firework_rocket", FireworkRocket: FireworkRocketEntity;
580        "minecraft:fishing_bobber", FishingBobber: FishingHook;
581        "minecraft:fox", Fox: Fox;
582        "minecraft:furnace_minecart", FurnaceMinecart: MinecartFurnace;
583        "minecraft:ghast", Ghast: Ghast;
584        "minecraft:giant", Giant: Giant;
585        "minecraft:guardian", Guardian: Guardian;
586        "minecraft:hopper_minecart", HopperMinecart: MinecartHopper;
587        "minecraft:horse", Horse: Horse;
588        "minecraft:husk", Husk: Husk;
589        "minecraft:illusioner", Illusioner: Illusioner;
590        "minecraft:iron_golem", IronGolem: IronGolem;
591        "minecraft:item", Item: ItemEntity;
592        "minecraft:item_frame", ItemFrame: ItemFrame;
593        "minecraft:leash_knot", LeashKnot: LeashFenceKnotEntity;
594        "minecraft:lightning_bolt", LightningBolt: LightningBolt;
595        "minecraft:llama", Llama: Llama;
596        "minecraft:llama_spit", LlamaSpit: LlamaSpit;
597        "minecraft:magma_cube", MagmaCube: MagmaCube;
598        "minecraft:minecart", Minecart: Minecart;
599        "minecraft:mooshroom", Mooshroom: MushroomCow;
600        "minecraft:mule", Mule: Mule;
601        "minecraft:ocelot", Ocelot: Ocelot;
602        "minecraft:painting", Painting: Painting;
603        "minecraft:panda", Panda: Panda;
604        "minecraft:parrot", Parrot: Parrot;
605        "minecraft:phantom", Phantom: Phantom;
606        "minecraft:pig", Pig: Pig;
607        "minecraft:pillager", Pillager: Pillager;
608        "minecraft:polar_bear", PolarBear: PolarBear;
609        "minecraft:potion", Potion: ThrownPotion;
610        "minecraft:pufferfish", Pufferfish: Pufferfish;
611        "minecraft:rabbit", Rabbit: Rabbit;
612        "minecraft:ravager", Ravager: Ravager;
613        "minecraft:salmon", Salmon: Salmon;
614        "minecraft:sheep", Sheep: Sheep;
615        "minecraft:shulker", Shulker: Shulker;
616        "minecraft:shulker_bullet", ShulkerBullet: ShulkerBullet;
617        "minecraft:silverfish", Silverfish: Silverfish;
618        "minecraft:skeleton", Skeleton: Skeleton;
619        "minecraft:skeleton_horse", SkeletonHorse: SkeletonHorse;
620        "minecraft:slime", Slime: Slime;
621        "minecraft:small_fireball", SmallFireball: SmallFireball;
622        "minecraft:snow_golem", SnowGolem: SnowGolem;
623        "minecraft:snowball", Snowball: Snowball;
624        "minecraft:spawner_minecart", SpawnerMinecart: MinecartSpawner;
625        "minecraft:spectral_arrow", SpectralArrow: SpectralArrow;
626        "minecraft:spider", Spider: Spider;
627        "minecraft:squid", Squid: Squid;
628        "minecraft:stray", Stray: Stray;
629        "minecraft:tnt", Tnt: PrimedTnt;
630        "minecraft:tnt_minecart", TntMinecart: MinecartTNT;
631        "minecraft:trader_llama", TraderLlama: TraderLlama;
632        "minecraft:trident", Trident: ThrownTrident;
633        "minecraft:tropical_fish", TropicalFish: TropicalFish;
634        "minecraft:turtle", Turtle: Turtle;
635        "minecraft:vex", Vex: Vex;
636        "minecraft:villager", Villager: Villager;
637        "minecraft:vindicator", Vindicator: Vindicator;
638        "minecraft:wandering_trader", WanderingTrader: WanderingTrader;
639        "minecraft:witch", Witch: Witch;
640        "minecraft:wither", Wither: WitherBoss;
641        "minecraft:wither_skeleton", WitherSkeleton: WitherSkeleton;
642        "minecraft:wither_skull", WitherSkull: WitherSkull;
643        "minecraft:wolf", Wolf: Wolf;
644        "minecraft:zombie", Zombie: Zombie;
645        "minecraft:zombie_horse", ZombieHorse: ZombieHorse;
646        "minecraft:zombie_pigman", ZombiePigman: PigZombie;
647        "minecraft:zombie_villager", ZombieVillager: ZombieVillager;
648    }
649
650    entity_types! {
651        "1.15.2";
652        AbstractArrow > Entity { optional "OwnerUUID" as owner_uuid: u128, "PierceLevel" as pierce_level: i8, "ShotFromCrossbow" as shot_from_crossbow: bool, "SoundEvent" as sound_event: CowStr, "crit" as crit: bool, "damage" as damage: f64, optional "inBlockState" as in_block_state: super::BlockState, "inGround" as in_ground: bool, "life" as life: i16, "pickup" as pickup: i8, "shake" as shake: i8 }
653        AbstractChestedHorse > AbstractHorse { "ChestedHorse" as chested_horse: bool, optional "Items" as items: Vec<super::compounds::ItemStack_save_1> }
654        AbstractFish > WaterAnimal { "FromBucket" as from_bucket: bool }
655        AbstractGolem > PathfinderMob {  }
656        AbstractHorse > Animal { "Bred" as bred: bool, "EatingHaystack" as eating_haystack: bool, optional "OwnerUUID" as owner_uuid: CowStr, optional "SaddleItem" as saddle_item: super::compounds::ItemStack_save_2, "Tame" as tame: bool, "Temper" as temper: i32 }
657        AbstractHurtingProjectile > Entity { "direction" as direction: Vec<f64>, "life" as life: i32, "power" as power: Vec<f64> }
658        AbstractIllager > Raider {  }
659        AbstractMinecart > Entity { optional "CustomDisplayTile" as custom_display_tile: bool, optional "DisplayOffset" as display_offset: i32, optional "DisplayState" as display_state: super::BlockState }
660        AbstractMinecartContainer > AbstractMinecart { optional "Items" as items: Vec<super::compounds::ItemStack_save_1>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
661        AbstractSchoolingFish > AbstractFish {  }
662        AbstractSkeleton > Monster {  }
663        AbstractVillager > AgableMob { "Inventory" as inventory: Vec<super::compounds::ItemStack_save_2>, optional "Offers" as offers: super::compounds::MerchantOffers_createTag }
664        AgableMob > PathfinderMob { "Age" as age: i32, "ForcedAge" as forced_age: i32 }
665        AmbientCreature > Mob {  }
666        Animal > AgableMob { "InLove" as in_love: i32, optional "LoveCause" as love_cause: u128 }
667        AreaEffectCloud > Entity { "Age" as age: i32, optional "Color" as color: i32, "Duration" as duration: i32, "DurationOnUse" as duration_on_use: i32, optional "Effects" as effects: Vec<super::compounds::MobEffectInstance_save>, optional "OwnerUUID" as owner_uuid: u128, "Particle" as particle: CowStr, optional "Potion" as potion: CowStr, "Radius" as radius: f32, "RadiusOnUse" as radius_on_use: f32, "RadiusPerTick" as radius_per_tick: f32, "ReapplicationDelay" as reapplication_delay: i32, "WaitTime" as wait_time: i32 }
668        ArmorStand > LivingEntity { "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save>, "DisabledSlots" as disabled_slots: i32, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save>, "Invisible" as invisible: bool, optional "Marker" as marker: bool, "NoBasePlate" as no_base_plate: bool, "Pose" as pose: super::compounds::ArmorStand_writePose, "ShowArms" as show_arms: bool, "Small" as small: bool }
669        Arrow > AbstractArrow { optional "Color" as color: i32, optional "CustomPotionEffects" as custom_potion_effects: Vec<super::compounds::MobEffectInstance_save>, optional "Potion" as potion: CowStr }
670        Bat > AmbientCreature { "BatFlags" as bat_flags: i8 }
671        Bee > Animal { "Anger" as anger: i32, "CannotEnterHiveTicks" as cannot_enter_hive_ticks: i32, "CropsGrownSincePollination" as crops_grown_since_pollination: i32, optional "FlowerPos" as flower_pos: super::compounds::NbtUtils_writeBlockPos, "HasNectar" as has_nectar: bool, "HasStung" as has_stung: bool, optional "HivePos" as hive_pos: super::compounds::NbtUtils_writeBlockPos, optional "HurtBy" as hurt_by: CowStr, "TicksSincePollination" as ticks_since_pollination: i32 }
672        Blaze > Monster {  }
673        Boat > Entity { "Type" as r#type: CowStr }
674        Cat > TamableAnimal { "CatType" as cat_type: i32, "CollarColor" as collar_color: i8 }
675        CaveSpider > Spider {  }
676        Chicken > Animal { "EggLayTime" as egg_lay_time: i32, "IsChickenJockey" as is_chicken_jockey: bool }
677        Cod > AbstractSchoolingFish {  }
678        Cow > Animal {  }
679        Creeper > Monster { "ExplosionRadius" as explosion_radius: i8, "Fuse" as fuse: i16, "ignited" as ignited: bool, optional "powered" as powered: bool }
680        Dolphin > WaterAnimal { "GotFish" as got_fish: bool, "Moistness" as moistness: i32, "TreasurePosX" as treasure_pos_x: i32, "TreasurePosY" as treasure_pos_y: i32, "TreasurePosZ" as treasure_pos_z: i32 }
681        Donkey > AbstractChestedHorse {  }
682        DragonFireball > AbstractHurtingProjectile {  }
683        Drowned > Zombie {  }
684        ElderGuardian > Guardian {  }
685        EndCrystal > Entity { optional "BeamTarget" as beam_target: super::compounds::NbtUtils_writeBlockPos, "ShowBottom" as show_bottom: bool }
686        EnderDragon > Mob { "DragonPhase" as dragon_phase: i32 }
687        EnderMan > Monster { optional "carriedBlockState" as carried_block_state: super::BlockState }
688        Endermite > Monster { "Lifetime" as lifetime: i32, "PlayerSpawned" as player_spawned: bool }
689        Entity { "Air" as air: i16, optional "CustomName" as custom_name: CowStr, optional "CustomNameVisible" as custom_name_visible: bool, "Dimension" as dimension: i32, "FallDistance" as fall_distance: f32, "Fire" as fire: i16, optional "Glowing" as glowing: bool, "Invulnerable" as invulnerable: bool, "Motion" as motion: Vec<f64>, optional "NoGravity" as no_gravity: bool, "OnGround" as on_ground: bool, optional "Passengers" as passengers: Vec<Box<super::Entity>>, "PortalCooldown" as portal_cooldown: i32, "Pos" as pos: Vec<f64>, "Rotation" as rotation: Vec<f32>, optional "Silent" as silent: bool, optional "Tags" as tags: Vec<CowStr>, "UUID" as uuid: u128 }
690        Evoker > SpellcasterIllager {  }
691        EvokerFangs > Entity { optional "OwnerUUID" as owner_uuid: u128, "Warmup" as warmup: i32 }
692        ExperienceOrb > Entity { "Age" as age: i16, "Health" as health: i16, "Value" as value: i16 }
693        EyeOfEnder > Entity { optional "Item" as item: super::compounds::ItemStack_save_2 }
694        FallingBlockEntity > Entity { "BlockState" as block_state: super::BlockState, "DropItem" as drop_item: bool, "FallHurtAmount" as fall_hurt_amount: f32, "FallHurtMax" as fall_hurt_max: i32, "HurtEntities" as hurt_entities: bool, optional "TileEntityData" as tile_entity_data: HashMap<CowStr, fastnbt::Value>, "Time" as time: i32 }
695        Fireball > AbstractHurtingProjectile { optional "Item" as item: super::compounds::ItemStack_save_2 }
696        FireworkRocketEntity > Entity { optional "FireworksItem" as fireworks_item: super::compounds::ItemStack_save_2, "Life" as life: i32, "LifeTime" as life_time: i32, "ShotAtAngle" as shot_at_angle: bool }
697        FishingHook > Entity {  }
698        FlyingMob > Mob {  }
699        Fox > Animal { "Crouching" as crouching: bool, "Sitting" as sitting: bool, "Sleeping" as sleeping: bool, "TrustedUUIDs" as trusted_uui_ds: Vec<super::compounds::NbtUtils_createUUIDTag>, "Type" as r#type: CowStr }
700        Ghast > FlyingMob { "ExplosionPower" as explosion_power: i32 }
701        Giant > Monster {  }
702        Guardian > Monster {  }
703        HangingEntity > Entity { "Facing" as facing: i8, "TileX" as tile_x: i32, "TileY" as tile_y: i32, "TileZ" as tile_z: i32 }
704        Horse > AbstractHorse { optional "ArmorItem" as armor_item: super::compounds::ItemStack_save_2, "Variant" as variant: i32 }
705        Husk > Zombie {  }
706        Illusioner > SpellcasterIllager {  }
707        IronGolem > AbstractGolem { "PlayerCreated" as player_created: bool }
708        ItemEntity > Entity { "Age" as age: i16, "Health" as health: i16, optional "Item" as item: super::compounds::ItemStack_save_2, optional "Owner" as owner: super::compounds::NbtUtils_createUUIDTag, "PickupDelay" as pickup_delay: i16, optional "Thrower" as thrower: super::compounds::NbtUtils_createUUIDTag }
709        ItemFrame > HangingEntity { "Facing" as facing: i8, optional "Item" as item: super::compounds::ItemStack_save_2, optional "ItemDropChance" as item_drop_chance: f32, optional "ItemRotation" as item_rotation: i8 }
710        LargeFireball > Fireball { "ExplosionPower" as explosion_power: i32 }
711        LeashFenceKnotEntity > HangingEntity {  }
712        LightningBolt > Entity {  }
713        LivingEntity > Entity { "AbsorptionAmount" as absorption_amount: f32, optional "ActiveEffects" as active_effects: Vec<super::compounds::MobEffectInstance_save>, "Attributes" as attributes: Vec<super::compounds::SharedMonsterAttributes_saveAttribute>, "Brain" as brain: fastnbt::Value, "DeathTime" as death_time: i16, "FallFlying" as fall_flying: bool, "Health" as health: f32, "HurtByTimestamp" as hurt_by_timestamp: i32, "HurtTime" as hurt_time: i16, optional "SleepingX" as sleeping_x: i32, optional "SleepingY" as sleeping_y: i32, optional "SleepingZ" as sleeping_z: i32 }
714        Llama > AbstractChestedHorse { optional "DecorItem" as decor_item: super::compounds::ItemStack_save_2, "Strength" as strength: i32, "Variant" as variant: i32 }
715        LlamaSpit > Entity { optional "Owner" as owner: super::compounds::Compound10 }
716        MagmaCube > Slime {  }
717        Minecart > AbstractMinecart {  }
718        MinecartChest > AbstractMinecartContainer {  }
719        MinecartCommandBlock > AbstractMinecart { "Command" as command: CowStr, "CustomName" as custom_name: CowStr, optional "LastExecution" as last_execution: i64, optional "LastOutput" as last_output: CowStr, "SuccessCount" as success_count: i32, "TrackOutput" as track_output: bool, "UpdateLastExecution" as update_last_execution: bool }
720        MinecartFurnace > AbstractMinecart { "Fuel" as fuel: i16, "PushX" as push_x: f64, "PushZ" as push_z: f64 }
721        MinecartHopper > AbstractMinecartContainer { "Enabled" as enabled: bool, "TransferCooldown" as transfer_cooldown: i32 }
722        MinecartSpawner > AbstractMinecart { optional "Delay" as delay: i16, optional "MaxNearbyEntities" as max_nearby_entities: i16, optional "MaxSpawnDelay" as max_spawn_delay: i16, optional "MinSpawnDelay" as min_spawn_delay: i16, optional "RequiredPlayerRange" as required_player_range: i16, optional "SpawnCount" as spawn_count: i16, optional "SpawnData" as spawn_data: HashMap<CowStr, fastnbt::Value>, optional "SpawnPotentials" as spawn_potentials: Vec<super::compounds::SpawnData_save>, optional "SpawnRange" as spawn_range: i16 }
723        MinecartTNT > AbstractMinecart { "TNTFuse" as tnt_fuse: i32 }
724        Mob > LivingEntity { "ArmorDropChances" as armor_drop_chances: Vec<f32>, "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save>, "CanPickUpLoot" as can_pick_up_loot: bool, optional "DeathLootTable" as death_loot_table: CowStr, optional "DeathLootTableSeed" as death_loot_table_seed: i64, "HandDropChances" as hand_drop_chances: Vec<f32>, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save>, optional "Leash" as leash: super::compounds::Compound5, "LeftHanded" as left_handed: bool, optional "NoAI" as no_ai: bool, "PersistenceRequired" as persistence_required: bool }
725        Monster > PathfinderMob {  }
726        Mule > AbstractChestedHorse {  }
727        MushroomCow > Cow { optional "EffectDuration" as effect_duration: i32, optional "EffectId" as effect_id: i8, "Type" as r#type: CowStr }
728        Ocelot > Animal { "Trusting" as trusting: bool }
729        Painting > HangingEntity { "Motive" as motive: CowStr }
730        Panda > Animal { "HiddenGene" as hidden_gene: CowStr, "MainGene" as main_gene: CowStr }
731        Parrot > ShoulderRidingEntity { "Variant" as variant: i32 }
732        PathfinderMob > Mob {  }
733        PatrollingMonster > Monster { "PatrolLeader" as patrol_leader: bool, optional "PatrolTarget" as patrol_target: super::compounds::NbtUtils_writeBlockPos, "Patrolling" as patrolling: bool }
734        Phantom > FlyingMob { "AX" as ax: i32, "AY" as ay: i32, "AZ" as az: i32, "Size" as size: i32 }
735        Pig > Animal { "Saddle" as saddle: bool }
736        PigZombie > Zombie { "Anger" as anger: i16, optional "HurtBy" as hurt_by: CowStr }
737        Pillager > AbstractIllager { "Inventory" as inventory: Vec<super::compounds::ItemStack_save_2> }
738        PolarBear > Animal {  }
739        PrimedTnt > Entity { "Fuse" as fuse: i16 }
740        Pufferfish > AbstractFish { "PuffState" as puff_state: i32 }
741        Rabbit > Animal { "MoreCarrotTicks" as more_carrot_ticks: i32, "RabbitType" as rabbit_type: i32 }
742        Raider > PatrollingMonster { "CanJoinRaid" as can_join_raid: bool, optional "RaidId" as raid_id: i32, "Wave" as wave: i32 }
743        Ravager > Raider { "AttackTick" as attack_tick: i32, "RoarTick" as roar_tick: i32, "StunTick" as stun_tick: i32 }
744        Salmon > AbstractSchoolingFish {  }
745        Sheep > Animal { "Color" as color: i8, "Sheared" as sheared: bool }
746        ShoulderRidingEntity > TamableAnimal {  }
747        Shulker > AbstractGolem { optional "APX" as apx: i32, optional "APY" as apy: i32, optional "APZ" as apz: i32, "AttachFace" as attach_face: i8, "Color" as color: i8, "Peek" as peek: i8 }
748        ShulkerBullet > Entity { optional "Dir" as dir: i32, optional "Owner" as owner: super::compounds::NbtUtils_createUUIDTag_1, "Steps" as steps: i32, "TXD" as txd: f64, "TYD" as tyd: f64, "TZD" as tzd: f64, optional "Target" as target: super::compounds::NbtUtils_createUUIDTag_1 }
749        Silverfish > Monster {  }
750        Skeleton > AbstractSkeleton {  }
751        SkeletonHorse > AbstractHorse { "SkeletonTrap" as skeleton_trap: bool, "SkeletonTrapTime" as skeleton_trap_time: i32 }
752        Slime > Mob { "Size" as size: i32, "wasOnGround" as was_on_ground: bool }
753        SmallFireball > Fireball {  }
754        SnowGolem > AbstractGolem { "Pumpkin" as pumpkin: bool }
755        Snowball > ThrowableItemProjectile {  }
756        SpectralArrow > AbstractArrow { "Duration" as duration: i32 }
757        SpellcasterIllager > AbstractIllager { "SpellTicks" as spell_ticks: i32 }
758        Spider > Monster {  }
759        Squid > WaterAnimal {  }
760        Stray > AbstractSkeleton {  }
761        TamableAnimal > Animal { optional "OwnerUUID" as owner_uuid: CowStr, "Sitting" as sitting: bool }
762        ThrowableItemProjectile > ThrowableProjectile { optional "Item" as item: super::compounds::ItemStack_save_2 }
763        ThrowableProjectile > Entity { "inGround" as in_ground: bool, optional "owner" as owner: super::compounds::NbtUtils_createUUIDTag, "shake" as shake: i8, "xTile" as x_tile: i32, "yTile" as y_tile: i32, "zTile" as z_tile: i32 }
764        ThrownEgg > ThrowableItemProjectile {  }
765        ThrownEnderpearl > ThrowableItemProjectile {  }
766        ThrownExperienceBottle > ThrowableItemProjectile {  }
767        ThrownPotion > ThrowableProjectile { optional "Potion" as potion: super::compounds::ItemStack_save_2 }
768        ThrownTrident > AbstractArrow { "DealtDamage" as dealt_damage: bool, "Trident" as trident: super::compounds::ItemStack_save_2 }
769        TraderLlama > Llama { "DespawnDelay" as despawn_delay: i32 }
770        TropicalFish > AbstractSchoolingFish { "Variant" as variant: i32 }
771        Turtle > Animal { "HasEgg" as has_egg: bool, "HomePosX" as home_pos_x: i32, "HomePosY" as home_pos_y: i32, "HomePosZ" as home_pos_z: i32, "TravelPosX" as travel_pos_x: i32, "TravelPosY" as travel_pos_y: i32, "TravelPosZ" as travel_pos_z: i32 }
772        Vex > Monster { optional "BoundX" as bound_x: i32, optional "BoundY" as bound_y: i32, optional "BoundZ" as bound_z: i32, optional "LifeTicks" as life_ticks: i32 }
773        Villager > AbstractVillager { "FoodLevel" as food_level: i8, "Gossips" as gossips: fastnbt::Value, "LastGossipDecay" as last_gossip_decay: i64, "LastRestock" as last_restock: i64, "RestocksToday" as restocks_today: i32, "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
774        Vindicator > AbstractIllager { optional "Johnny" as johnny: bool }
775        WanderingTrader > AbstractVillager { "DespawnDelay" as despawn_delay: i32, optional "WanderTarget" as wander_target: super::compounds::NbtUtils_writeBlockPos }
776        WaterAnimal > PathfinderMob {  }
777        Witch > Raider {  }
778        WitherBoss > Monster { "Invul" as invul: i32 }
779        WitherSkeleton > AbstractSkeleton {  }
780        WitherSkull > AbstractHurtingProjectile {  }
781        Wolf > TamableAnimal { "Angry" as angry: bool, "CollarColor" as collar_color: i8 }
782        Zombie > Monster { "CanBreakDoors" as can_break_doors: bool, "DrownedConversionTime" as drowned_conversion_time: i32, "InWaterTime" as in_water_time: i32, optional "IsBaby" as is_baby: bool }
783        ZombieHorse > AbstractHorse {  }
784        ZombieVillager > Zombie { optional "ConversionPlayer" as conversion_player: u128, "ConversionTime" as conversion_time: i32, optional "Gossips" as gossips: fastnbt::Value, optional "Offers" as offers: HashMap<CowStr, fastnbt::Value>, "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
785    }
786
787    entity_compound_types! {
788        "1.15.2";
789        ArmorStand_writePose { optional "Body" as body: Vec<f32>, optional "Head" as head: Vec<f32>, optional "LeftArm" as left_arm: Vec<f32>, optional "LeftLeg" as left_leg: Vec<f32>, optional "RightArm" as right_arm: Vec<f32>, optional "RightLeg" as right_leg: Vec<f32> }
790        Compound10 { "OwnerUUID" as owner_uuid: u128 }
791        Compound5 { optional "UUID" as uuid: u128, optional "X" as x: i32, optional "Y" as y: i32, optional "Z" as z: i32 }
792        ItemStack_save { optional "Count" as count: i8, optional "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
793        ItemStack_save_1 { "Count" as count: i8, "Slot" as slot: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
794        ItemStack_save_2 { "Count" as count: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
795        MerchantOffer_createTag { "buy" as buy: super::compounds::ItemStack_save_2, "buyB" as buy_b: super::compounds::ItemStack_save_2, "demand" as demand: i32, "maxUses" as max_uses: i32, "priceMultiplier" as price_multiplier: f32, "rewardExp" as reward_exp: bool, "sell" as sell: super::compounds::ItemStack_save_2, "specialPrice" as special_price: i32, "uses" as uses: i32, "xp" as xp: i32 }
796        MerchantOffers_createTag { "Recipes" as recipes: Vec<super::compounds::MerchantOffer_createTag> }
797        MobEffectInstance_save { "Ambient" as ambient: bool, "Amplifier" as amplifier: i8, "Duration" as duration: i32, optional "HiddenEffect" as hidden_effect: Box<super::compounds::MobEffectInstance_save>, "Id" as id: i8, "ShowIcon" as show_icon: bool, "ShowParticles" as show_particles: bool }
798        NbtUtils_createUUIDTag { "L" as l: i64, "M" as m: i64 }
799        NbtUtils_createUUIDTag_1 { "L" as l: i64, "M" as m: i64, "X" as x: i32, "Y" as y: i32, "Z" as z: i32 }
800        NbtUtils_writeBlockPos { "X" as x: i32, "Y" as y: i32, "Z" as z: i32 }
801        SharedMonsterAttributes_saveAttribute { "Base" as base: f64, optional "Modifiers" as modifiers: Vec<super::compounds::SharedMonsterAttributes_saveAttributeModifier>, "Name" as name: CowStr }
802        SharedMonsterAttributes_saveAttributeModifier { "Amount" as amount: f64, "Name" as name: CowStr, "Operation" as operation: i32, "UUID" as uuid: u128 }
803        SpawnData_save { "Entity" as entity: HashMap<CowStr, fastnbt::Value>, "Weight" as weight: i32 }
804    }
805}
806
807/// Accompanying types for entities in Minecraft 1.16.
808#[cfg(feature = "1.16")]
809pub mod mc1_16 {
810    entities! {
811        "1.16", mc1_16;
812        "minecraft:area_effect_cloud", AreaEffectCloud: AreaEffectCloud;
813        "minecraft:armor_stand", ArmorStand: ArmorStand;
814        "minecraft:arrow", Arrow: Arrow;
815        "minecraft:bat", Bat: Bat;
816        "minecraft:bee", Bee: Bee;
817        "minecraft:blaze", Blaze: Blaze;
818        "minecraft:boat", Boat: Boat;
819        "minecraft:cat", Cat: Cat;
820        "minecraft:cave_spider", CaveSpider: CaveSpider;
821        "minecraft:chest_minecart", ChestMinecart: MinecartChest;
822        "minecraft:chicken", Chicken: Chicken;
823        "minecraft:cod", Cod: Cod;
824        "minecraft:command_block_minecart", CommandBlockMinecart: MinecartCommandBlock;
825        "minecraft:cow", Cow: Cow;
826        "minecraft:creeper", Creeper: Creeper;
827        "minecraft:dolphin", Dolphin: Dolphin;
828        "minecraft:donkey", Donkey: Donkey;
829        "minecraft:dragon_fireball", DragonFireball: DragonFireball;
830        "minecraft:drowned", Drowned: Drowned;
831        "minecraft:egg", Egg: ThrownEgg;
832        "minecraft:elder_guardian", ElderGuardian: ElderGuardian;
833        "minecraft:end_crystal", EndCrystal: EndCrystal;
834        "minecraft:ender_dragon", EnderDragon: EnderDragon;
835        "minecraft:ender_pearl", EnderPearl: ThrownEnderpearl;
836        "minecraft:enderman", Enderman: EnderMan;
837        "minecraft:endermite", Endermite: Endermite;
838        "minecraft:evoker", Evoker: Evoker;
839        "minecraft:evoker_fangs", EvokerFangs: EvokerFangs;
840        "minecraft:experience_bottle", ExperienceBottle: ThrownExperienceBottle;
841        "minecraft:experience_orb", ExperienceOrb: ExperienceOrb;
842        "minecraft:eye_of_ender", EyeOfEnder: EyeOfEnder;
843        "minecraft:falling_block", FallingBlock: FallingBlockEntity;
844        "minecraft:fireball", Fireball: LargeFireball;
845        "minecraft:firework_rocket", FireworkRocket: FireworkRocketEntity;
846        "minecraft:fishing_bobber", FishingBobber: FishingHook;
847        "minecraft:fox", Fox: Fox;
848        "minecraft:furnace_minecart", FurnaceMinecart: MinecartFurnace;
849        "minecraft:ghast", Ghast: Ghast;
850        "minecraft:giant", Giant: Giant;
851        "minecraft:guardian", Guardian: Guardian;
852        "minecraft:hoglin", Hoglin: Hoglin;
853        "minecraft:hopper_minecart", HopperMinecart: MinecartHopper;
854        "minecraft:horse", Horse: Horse;
855        "minecraft:husk", Husk: Husk;
856        "minecraft:illusioner", Illusioner: Illusioner;
857        "minecraft:iron_golem", IronGolem: IronGolem;
858        "minecraft:item", Item: ItemEntity;
859        "minecraft:item_frame", ItemFrame: ItemFrame;
860        "minecraft:leash_knot", LeashKnot: LeashFenceKnotEntity;
861        "minecraft:lightning_bolt", LightningBolt: LightningBolt;
862        "minecraft:llama", Llama: Llama;
863        "minecraft:llama_spit", LlamaSpit: LlamaSpit;
864        "minecraft:magma_cube", MagmaCube: MagmaCube;
865        "minecraft:minecart", Minecart: Minecart;
866        "minecraft:mooshroom", Mooshroom: MushroomCow;
867        "minecraft:mule", Mule: Mule;
868        "minecraft:ocelot", Ocelot: Ocelot;
869        "minecraft:painting", Painting: Painting;
870        "minecraft:panda", Panda: Panda;
871        "minecraft:parrot", Parrot: Parrot;
872        "minecraft:phantom", Phantom: Phantom;
873        "minecraft:pig", Pig: Pig;
874        "minecraft:piglin", Piglin: Piglin;
875        "minecraft:pillager", Pillager: Pillager;
876        "minecraft:polar_bear", PolarBear: PolarBear;
877        "minecraft:potion", Potion: ThrownPotion;
878        "minecraft:pufferfish", Pufferfish: Pufferfish;
879        "minecraft:rabbit", Rabbit: Rabbit;
880        "minecraft:ravager", Ravager: Ravager;
881        "minecraft:salmon", Salmon: Salmon;
882        "minecraft:sheep", Sheep: Sheep;
883        "minecraft:shulker", Shulker: Shulker;
884        "minecraft:shulker_bullet", ShulkerBullet: ShulkerBullet;
885        "minecraft:silverfish", Silverfish: Silverfish;
886        "minecraft:skeleton", Skeleton: Skeleton;
887        "minecraft:skeleton_horse", SkeletonHorse: SkeletonHorse;
888        "minecraft:slime", Slime: Slime;
889        "minecraft:small_fireball", SmallFireball: SmallFireball;
890        "minecraft:snow_golem", SnowGolem: SnowGolem;
891        "minecraft:snowball", Snowball: Snowball;
892        "minecraft:spawner_minecart", SpawnerMinecart: MinecartSpawner;
893        "minecraft:spectral_arrow", SpectralArrow: SpectralArrow;
894        "minecraft:spider", Spider: Spider;
895        "minecraft:squid", Squid: Squid;
896        "minecraft:stray", Stray: Stray;
897        "minecraft:strider", Strider: Strider;
898        "minecraft:tnt", Tnt: PrimedTnt;
899        "minecraft:tnt_minecart", TntMinecart: MinecartTNT;
900        "minecraft:trader_llama", TraderLlama: TraderLlama;
901        "minecraft:trident", Trident: ThrownTrident;
902        "minecraft:tropical_fish", TropicalFish: TropicalFish;
903        "minecraft:turtle", Turtle: Turtle;
904        "minecraft:vex", Vex: Vex;
905        "minecraft:villager", Villager: Villager;
906        "minecraft:vindicator", Vindicator: Vindicator;
907        "minecraft:wandering_trader", WanderingTrader: WanderingTrader;
908        "minecraft:witch", Witch: Witch;
909        "minecraft:wither", Wither: WitherBoss;
910        "minecraft:wither_skeleton", WitherSkeleton: WitherSkeleton;
911        "minecraft:wither_skull", WitherSkull: WitherSkull;
912        "minecraft:wolf", Wolf: Wolf;
913        "minecraft:zoglin", Zoglin: Zoglin;
914        "minecraft:zombie", Zombie: Zombie;
915        "minecraft:zombie_horse", ZombieHorse: ZombieHorse;
916        "minecraft:zombie_villager", ZombieVillager: ZombieVillager;
917        "minecraft:zombified_piglin", ZombifiedPiglin: ZombifiedPiglin;
918    }
919
920    entity_types! {
921        "1.16";
922        AbstractArrow > Projectile { "PierceLevel" as pierce_level: i8, "ShotFromCrossbow" as shot_from_crossbow: bool, "SoundEvent" as sound_event: CowStr, "crit" as crit: bool, "damage" as damage: f64, optional "inBlockState" as in_block_state: super::BlockState, "inGround" as in_ground: bool, "life" as life: i16, "pickup" as pickup: i8, "shake" as shake: i8 }
923        AbstractChestedHorse > AbstractHorse { "ChestedHorse" as chested_horse: bool, optional "Items" as items: Vec<super::compounds::ItemStack_save_1> }
924        AbstractFish > WaterAnimal { "FromBucket" as from_bucket: bool }
925        AbstractGolem > PathfinderMob {  }
926        AbstractHorse > Animal { "Bred" as bred: bool, "EatingHaystack" as eating_haystack: bool, optional "Owner" as owner: u128, optional "SaddleItem" as saddle_item: super::compounds::ItemStack_save_2, "Tame" as tame: bool, "Temper" as temper: i32 }
927        AbstractHurtingProjectile > Projectile { "power" as power: Vec<f64> }
928        AbstractIllager > Raider {  }
929        AbstractMinecart > Entity { optional "CustomDisplayTile" as custom_display_tile: bool, optional "DisplayOffset" as display_offset: i32, optional "DisplayState" as display_state: super::BlockState }
930        AbstractMinecartContainer > AbstractMinecart { optional "Items" as items: Vec<super::compounds::ItemStack_save_1>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
931        AbstractSchoolingFish > AbstractFish {  }
932        AbstractSkeleton > Monster {  }
933        AbstractVillager > AgableMob { "Inventory" as inventory: Vec<super::compounds::ItemStack_save_2>, optional "Offers" as offers: super::compounds::MerchantOffers_createTag }
934        AgableMob > PathfinderMob { "Age" as age: i32, "ForcedAge" as forced_age: i32 }
935        AmbientCreature > Mob {  }
936        Animal > AgableMob { "InLove" as in_love: i32, optional "LoveCause" as love_cause: u128 }
937        AreaEffectCloud > Entity { "Age" as age: i32, optional "Color" as color: i32, "Duration" as duration: i32, "DurationOnUse" as duration_on_use: i32, optional "Effects" as effects: Vec<super::compounds::MobEffectInstance_save>, optional "Owner" as owner: u128, "Particle" as particle: CowStr, optional "Potion" as potion: CowStr, "Radius" as radius: f32, "RadiusOnUse" as radius_on_use: f32, "RadiusPerTick" as radius_per_tick: f32, "ReapplicationDelay" as reapplication_delay: i32, "WaitTime" as wait_time: i32 }
938        ArmorStand > LivingEntity { "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save>, "DisabledSlots" as disabled_slots: i32, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save>, "Invisible" as invisible: bool, optional "Marker" as marker: bool, "NoBasePlate" as no_base_plate: bool, "Pose" as pose: super::compounds::ArmorStand_writePose, "ShowArms" as show_arms: bool, "Small" as small: bool }
939        Arrow > AbstractArrow { optional "Color" as color: i32, optional "CustomPotionEffects" as custom_potion_effects: Vec<super::compounds::MobEffectInstance_save>, optional "Potion" as potion: CowStr }
940        Bat > AmbientCreature { "BatFlags" as bat_flags: i8 }
941        Bee > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CannotEnterHiveTicks" as cannot_enter_hive_ticks: i32, "CropsGrownSincePollination" as crops_grown_since_pollination: i32, optional "FlowerPos" as flower_pos: super::compounds::NbtUtils_writeBlockPos, "HasNectar" as has_nectar: bool, "HasStung" as has_stung: bool, optional "HivePos" as hive_pos: super::compounds::NbtUtils_writeBlockPos, "TicksSincePollination" as ticks_since_pollination: i32 }
942        Blaze > Monster {  }
943        Boat > Entity { "Type" as r#type: CowStr }
944        Cat > TamableAnimal { "CatType" as cat_type: i32, "CollarColor" as collar_color: i8 }
945        CaveSpider > Spider {  }
946        Chicken > Animal { "EggLayTime" as egg_lay_time: i32, "IsChickenJockey" as is_chicken_jockey: bool }
947        Cod > AbstractSchoolingFish {  }
948        Cow > Animal {  }
949        Creeper > Monster { "ExplosionRadius" as explosion_radius: i8, "Fuse" as fuse: i16, "ignited" as ignited: bool, optional "powered" as powered: bool }
950        Dolphin > WaterAnimal { "GotFish" as got_fish: bool, "Moistness" as moistness: i32, "TreasurePosX" as treasure_pos_x: i32, "TreasurePosY" as treasure_pos_y: i32, "TreasurePosZ" as treasure_pos_z: i32 }
951        Donkey > AbstractChestedHorse {  }
952        DragonFireball > AbstractHurtingProjectile {  }
953        Drowned > Zombie {  }
954        ElderGuardian > Guardian {  }
955        EndCrystal > Entity { optional "BeamTarget" as beam_target: super::compounds::NbtUtils_writeBlockPos, "ShowBottom" as show_bottom: bool }
956        EnderDragon > Mob { "DragonPhase" as dragon_phase: i32 }
957        EnderMan > Monster { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, optional "carriedBlockState" as carried_block_state: super::BlockState }
958        Endermite > Monster { "Lifetime" as lifetime: i32, "PlayerSpawned" as player_spawned: bool }
959        Entity { "Air" as air: i16, optional "CustomName" as custom_name: CowStr, optional "CustomNameVisible" as custom_name_visible: bool, "FallDistance" as fall_distance: f32, "Fire" as fire: i16, optional "Glowing" as glowing: bool, "Invulnerable" as invulnerable: bool, "Motion" as motion: Vec<f64>, optional "NoGravity" as no_gravity: bool, "OnGround" as on_ground: bool, optional "Passengers" as passengers: Vec<Box<super::Entity>>, "PortalCooldown" as portal_cooldown: i32, optional "Pos" as pos: Vec<f64>, "Rotation" as rotation: Vec<f32>, optional "Silent" as silent: bool, optional "Tags" as tags: Vec<CowStr>, "UUID" as uuid: u128 }
960        Evoker > SpellcasterIllager {  }
961        EvokerFangs > Entity { optional "Owner" as owner: u128, "Warmup" as warmup: i32 }
962        ExperienceOrb > Entity { "Age" as age: i16, "Health" as health: i16, "Value" as value: i16 }
963        EyeOfEnder > Entity { optional "Item" as item: super::compounds::ItemStack_save_2 }
964        FallingBlockEntity > Entity { "BlockState" as block_state: super::BlockState, "DropItem" as drop_item: bool, "FallHurtAmount" as fall_hurt_amount: f32, "FallHurtMax" as fall_hurt_max: i32, "HurtEntities" as hurt_entities: bool, optional "TileEntityData" as tile_entity_data: HashMap<CowStr, fastnbt::Value>, "Time" as time: i32 }
965        Fireball > AbstractHurtingProjectile { optional "Item" as item: super::compounds::ItemStack_save_2 }
966        FireworkRocketEntity > Projectile { optional "FireworksItem" as fireworks_item: super::compounds::ItemStack_save_2, "Life" as life: i32, "LifeTime" as life_time: i32, "ShotAtAngle" as shot_at_angle: bool }
967        FishingHook > Projectile {  }
968        FlyingMob > Mob {  }
969        Fox > Animal { "Crouching" as crouching: bool, "Sitting" as sitting: bool, "Sleeping" as sleeping: bool, "Trusted" as trusted: Vec<fastnbt::IntArray>, "Type" as r#type: CowStr }
970        Ghast > FlyingMob { "ExplosionPower" as explosion_power: i32 }
971        Giant > Monster {  }
972        Guardian > Monster {  }
973        HangingEntity > Entity { "Facing" as facing: i8, "TileX" as tile_x: i32, "TileY" as tile_y: i32, "TileZ" as tile_z: i32 }
974        Hoglin > Animal { optional "CannotBeHunted" as cannot_be_hunted: bool, optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
975        Horse > AbstractHorse { optional "ArmorItem" as armor_item: super::compounds::ItemStack_save_2, "Variant" as variant: i32 }
976        Husk > Zombie {  }
977        Illusioner > SpellcasterIllager {  }
978        IronGolem > AbstractGolem { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "PlayerCreated" as player_created: bool }
979        ItemEntity > Entity { "Age" as age: i16, "Health" as health: i16, optional "Item" as item: super::compounds::ItemStack_save_2, optional "Owner" as owner: u128, "PickupDelay" as pickup_delay: i16, optional "Thrower" as thrower: u128 }
980        ItemFrame > HangingEntity { "Facing" as facing: i8, "Fixed" as fixed: bool, "Invisible" as invisible: bool, optional "Item" as item: super::compounds::ItemStack_save_2, optional "ItemDropChance" as item_drop_chance: f32, optional "ItemRotation" as item_rotation: i8 }
981        LargeFireball > Fireball { "ExplosionPower" as explosion_power: i32 }
982        LeashFenceKnotEntity > HangingEntity {  }
983        LightningBolt > Entity {  }
984        LivingEntity > Entity { "AbsorptionAmount" as absorption_amount: f32, optional "ActiveEffects" as active_effects: Vec<super::compounds::MobEffectInstance_save>, "Attributes" as attributes: Vec<super::compounds::AttributeInstance_save>, optional "Brain" as brain: fastnbt::Value, "DeathTime" as death_time: i16, "FallFlying" as fall_flying: bool, "Health" as health: f32, "HurtByTimestamp" as hurt_by_timestamp: i32, "HurtTime" as hurt_time: i16, optional "SleepingX" as sleeping_x: i32, optional "SleepingY" as sleeping_y: i32, optional "SleepingZ" as sleeping_z: i32 }
985        Llama > AbstractChestedHorse { optional "DecorItem" as decor_item: super::compounds::ItemStack_save_2, "Strength" as strength: i32, "Variant" as variant: i32 }
986        LlamaSpit > Projectile {  }
987        MagmaCube > Slime {  }
988        Minecart > AbstractMinecart {  }
989        MinecartChest > AbstractMinecartContainer {  }
990        MinecartCommandBlock > AbstractMinecart { "Command" as command: CowStr, "CustomName" as custom_name: CowStr, optional "LastExecution" as last_execution: i64, optional "LastOutput" as last_output: CowStr, "SuccessCount" as success_count: i32, "TrackOutput" as track_output: bool, "UpdateLastExecution" as update_last_execution: bool }
991        MinecartFurnace > AbstractMinecart { "Fuel" as fuel: i16, "PushX" as push_x: f64, "PushZ" as push_z: f64 }
992        MinecartHopper > AbstractMinecartContainer { "Enabled" as enabled: bool, "TransferCooldown" as transfer_cooldown: i32 }
993        MinecartSpawner > AbstractMinecart { optional "Delay" as delay: i16, optional "MaxNearbyEntities" as max_nearby_entities: i16, optional "MaxSpawnDelay" as max_spawn_delay: i16, optional "MinSpawnDelay" as min_spawn_delay: i16, optional "RequiredPlayerRange" as required_player_range: i16, optional "SpawnCount" as spawn_count: i16, optional "SpawnData" as spawn_data: HashMap<CowStr, fastnbt::Value>, optional "SpawnPotentials" as spawn_potentials: Vec<super::compounds::SpawnData_save>, optional "SpawnRange" as spawn_range: i16 }
994        MinecartTNT > AbstractMinecart { "TNTFuse" as tnt_fuse: i32 }
995        Mob > LivingEntity { "ArmorDropChances" as armor_drop_chances: Vec<f32>, "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save>, "CanPickUpLoot" as can_pick_up_loot: bool, optional "DeathLootTable" as death_loot_table: CowStr, optional "DeathLootTableSeed" as death_loot_table_seed: i64, "HandDropChances" as hand_drop_chances: Vec<f32>, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save>, optional "Leash" as leash: super::compounds::Compound5, "LeftHanded" as left_handed: bool, optional "NoAI" as no_ai: bool, "PersistenceRequired" as persistence_required: bool }
996        Monster > PathfinderMob {  }
997        Mule > AbstractChestedHorse {  }
998        MushroomCow > Cow { optional "EffectDuration" as effect_duration: i32, optional "EffectId" as effect_id: i8, "Type" as r#type: CowStr }
999        Ocelot > Animal { "Trusting" as trusting: bool }
1000        Painting > HangingEntity { "Motive" as motive: CowStr }
1001        Panda > Animal { "HiddenGene" as hidden_gene: CowStr, "MainGene" as main_gene: CowStr }
1002        Parrot > ShoulderRidingEntity { "Variant" as variant: i32 }
1003        PathfinderMob > Mob {  }
1004        PatrollingMonster > Monster { "PatrolLeader" as patrol_leader: bool, optional "PatrolTarget" as patrol_target: super::compounds::NbtUtils_writeBlockPos, "Patrolling" as patrolling: bool }
1005        Phantom > FlyingMob { "AX" as ax: i32, "AY" as ay: i32, "AZ" as az: i32, "Size" as size: i32 }
1006        Pig > Animal { "Saddle" as saddle: bool }
1007        Piglin > Monster { optional "CannotHunt" as cannot_hunt: bool, "Inventory" as inventory: Vec<super::compounds::ItemStack_save_2>, optional "IsBaby" as is_baby: bool, optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
1008        Pillager > AbstractIllager { "Inventory" as inventory: Vec<super::compounds::ItemStack_save_2> }
1009        PolarBear > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
1010        PrimedTnt > Entity { "Fuse" as fuse: i16 }
1011        Projectile > Entity { optional "LeftOwner" as left_owner: bool, optional "Owner" as owner: u128 }
1012        Pufferfish > AbstractFish { "PuffState" as puff_state: i32 }
1013        Rabbit > Animal { "MoreCarrotTicks" as more_carrot_ticks: i32, "RabbitType" as rabbit_type: i32 }
1014        Raider > PatrollingMonster { "CanJoinRaid" as can_join_raid: bool, optional "RaidId" as raid_id: i32, "Wave" as wave: i32 }
1015        Ravager > Raider { "AttackTick" as attack_tick: i32, "RoarTick" as roar_tick: i32, "StunTick" as stun_tick: i32 }
1016        Salmon > AbstractSchoolingFish {  }
1017        Sheep > Animal { "Color" as color: i8, "Sheared" as sheared: bool }
1018        ShoulderRidingEntity > TamableAnimal {  }
1019        Shulker > AbstractGolem { optional "APX" as apx: i32, optional "APY" as apy: i32, optional "APZ" as apz: i32, "AttachFace" as attach_face: i8, "Color" as color: i8, "Peek" as peek: i8 }
1020        ShulkerBullet > Projectile { optional "Dir" as dir: i32, "Steps" as steps: i32, "TXD" as txd: f64, "TYD" as tyd: f64, "TZD" as tzd: f64, optional "Target" as target: u128 }
1021        Silverfish > Monster {  }
1022        Skeleton > AbstractSkeleton {  }
1023        SkeletonHorse > AbstractHorse { "SkeletonTrap" as skeleton_trap: bool, "SkeletonTrapTime" as skeleton_trap_time: i32 }
1024        Slime > Mob { "Size" as size: i32, "wasOnGround" as was_on_ground: bool }
1025        SmallFireball > Fireball {  }
1026        SnowGolem > AbstractGolem { "Pumpkin" as pumpkin: bool }
1027        Snowball > ThrowableItemProjectile {  }
1028        SpectralArrow > AbstractArrow { "Duration" as duration: i32 }
1029        SpellcasterIllager > AbstractIllager { "SpellTicks" as spell_ticks: i32 }
1030        Spider > Monster {  }
1031        Squid > WaterAnimal {  }
1032        Stray > AbstractSkeleton {  }
1033        Strider > Animal { "Saddle" as saddle: bool }
1034        TamableAnimal > Animal { optional "Owner" as owner: u128, "Sitting" as sitting: bool }
1035        ThrowableItemProjectile > ThrowableProjectile { optional "Item" as item: super::compounds::ItemStack_save_2 }
1036        ThrowableProjectile > Projectile {  }
1037        ThrownEgg > ThrowableItemProjectile {  }
1038        ThrownEnderpearl > ThrowableItemProjectile {  }
1039        ThrownExperienceBottle > ThrowableItemProjectile {  }
1040        ThrownPotion > ThrowableItemProjectile {  }
1041        ThrownTrident > AbstractArrow { "DealtDamage" as dealt_damage: bool, "Trident" as trident: super::compounds::ItemStack_save_2 }
1042        TraderLlama > Llama { "DespawnDelay" as despawn_delay: i32 }
1043        TropicalFish > AbstractSchoolingFish { "Variant" as variant: i32 }
1044        Turtle > Animal { "HasEgg" as has_egg: bool, "HomePosX" as home_pos_x: i32, "HomePosY" as home_pos_y: i32, "HomePosZ" as home_pos_z: i32, "TravelPosX" as travel_pos_x: i32, "TravelPosY" as travel_pos_y: i32, "TravelPosZ" as travel_pos_z: i32 }
1045        Vex > Monster { optional "BoundX" as bound_x: i32, optional "BoundY" as bound_y: i32, optional "BoundZ" as bound_z: i32, optional "LifeTicks" as life_ticks: i32 }
1046        Villager > AbstractVillager { optional "AssignProfessionWhenSpawned" as assign_profession_when_spawned: bool, "FoodLevel" as food_level: i8, "Gossips" as gossips: fastnbt::Value, "LastGossipDecay" as last_gossip_decay: i64, "LastRestock" as last_restock: i64, "RestocksToday" as restocks_today: i32, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
1047        Vindicator > AbstractIllager { optional "Johnny" as johnny: bool }
1048        WanderingTrader > AbstractVillager { "DespawnDelay" as despawn_delay: i32, optional "WanderTarget" as wander_target: super::compounds::NbtUtils_writeBlockPos }
1049        WaterAnimal > PathfinderMob {  }
1050        Witch > Raider {  }
1051        WitherBoss > Monster { "Invul" as invul: i32 }
1052        WitherSkeleton > AbstractSkeleton {  }
1053        WitherSkull > AbstractHurtingProjectile {  }
1054        Wolf > TamableAnimal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CollarColor" as collar_color: i8 }
1055        Zoglin > Monster { optional "IsBaby" as is_baby: bool }
1056        Zombie > Monster { "CanBreakDoors" as can_break_doors: bool, "DrownedConversionTime" as drowned_conversion_time: i32, "InWaterTime" as in_water_time: i32, optional "IsBaby" as is_baby: bool }
1057        ZombieHorse > AbstractHorse {  }
1058        ZombieVillager > Zombie { optional "ConversionPlayer" as conversion_player: u128, "ConversionTime" as conversion_time: i32, optional "Gossips" as gossips: fastnbt::Value, optional "Offers" as offers: HashMap<CowStr, fastnbt::Value>, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
1059        ZombifiedPiglin > Zombie { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
1060    }
1061
1062    entity_compound_types! {
1063        "1.16";
1064        ArmorStand_writePose { optional "Body" as body: Vec<f32>, optional "Head" as head: Vec<f32>, optional "LeftArm" as left_arm: Vec<f32>, optional "LeftLeg" as left_leg: Vec<f32>, optional "RightArm" as right_arm: Vec<f32>, optional "RightLeg" as right_leg: Vec<f32> }
1065        AttributeInstance_save { "Base" as base: f64, optional "Modifiers" as modifiers: Vec<super::compounds::AttributeModifier_save>, "Name" as name: CowStr }
1066        AttributeModifier_save { "Amount" as amount: f64, "Name" as name: CowStr, "Operation" as operation: i32, "UUID" as uuid: u128 }
1067        Compound5 { optional "UUID" as uuid: u128, optional "X" as x: i32, optional "Y" as y: i32, optional "Z" as z: i32 }
1068        ItemStack_save { optional "Count" as count: i8, optional "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
1069        ItemStack_save_1 { "Count" as count: i8, "Slot" as slot: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
1070        ItemStack_save_2 { "Count" as count: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
1071        MerchantOffer_createTag { "buy" as buy: super::compounds::ItemStack_save_2, "buyB" as buy_b: super::compounds::ItemStack_save_2, "demand" as demand: i32, "maxUses" as max_uses: i32, "priceMultiplier" as price_multiplier: f32, "rewardExp" as reward_exp: bool, "sell" as sell: super::compounds::ItemStack_save_2, "specialPrice" as special_price: i32, "uses" as uses: i32, "xp" as xp: i32 }
1072        MerchantOffers_createTag { "Recipes" as recipes: Vec<super::compounds::MerchantOffer_createTag> }
1073        MobEffectInstance_save { "Ambient" as ambient: bool, "Amplifier" as amplifier: i8, "Duration" as duration: i32, optional "HiddenEffect" as hidden_effect: Box<super::compounds::MobEffectInstance_save>, "Id" as id: i8, "ShowIcon" as show_icon: bool, "ShowParticles" as show_particles: bool }
1074        NbtUtils_writeBlockPos { "X" as x: i32, "Y" as y: i32, "Z" as z: i32 }
1075        SpawnData_save { "Entity" as entity: HashMap<CowStr, fastnbt::Value>, "Weight" as weight: i32 }
1076    }
1077}
1078
1079/// Accompanying types for entities in Minecraft 1.16.2.
1080#[cfg(feature = "1.16.2")]
1081pub mod mc1_16_2 {
1082    entities! {
1083        "1.16.2", mc1_16_2;
1084        "minecraft:area_effect_cloud", AreaEffectCloud: AreaEffectCloud;
1085        "minecraft:armor_stand", ArmorStand: ArmorStand;
1086        "minecraft:arrow", Arrow: Arrow;
1087        "minecraft:bat", Bat: Bat;
1088        "minecraft:bee", Bee: Bee;
1089        "minecraft:blaze", Blaze: Blaze;
1090        "minecraft:boat", Boat: Boat;
1091        "minecraft:cat", Cat: Cat;
1092        "minecraft:cave_spider", CaveSpider: CaveSpider;
1093        "minecraft:chest_minecart", ChestMinecart: MinecartChest;
1094        "minecraft:chicken", Chicken: Chicken;
1095        "minecraft:cod", Cod: Cod;
1096        "minecraft:command_block_minecart", CommandBlockMinecart: MinecartCommandBlock;
1097        "minecraft:cow", Cow: Cow;
1098        "minecraft:creeper", Creeper: Creeper;
1099        "minecraft:dolphin", Dolphin: Dolphin;
1100        "minecraft:donkey", Donkey: Donkey;
1101        "minecraft:dragon_fireball", DragonFireball: DragonFireball;
1102        "minecraft:drowned", Drowned: Drowned;
1103        "minecraft:egg", Egg: ThrownEgg;
1104        "minecraft:elder_guardian", ElderGuardian: ElderGuardian;
1105        "minecraft:end_crystal", EndCrystal: EndCrystal;
1106        "minecraft:ender_dragon", EnderDragon: EnderDragon;
1107        "minecraft:ender_pearl", EnderPearl: ThrownEnderpearl;
1108        "minecraft:enderman", Enderman: EnderMan;
1109        "minecraft:endermite", Endermite: Endermite;
1110        "minecraft:evoker", Evoker: Evoker;
1111        "minecraft:evoker_fangs", EvokerFangs: EvokerFangs;
1112        "minecraft:experience_bottle", ExperienceBottle: ThrownExperienceBottle;
1113        "minecraft:experience_orb", ExperienceOrb: ExperienceOrb;
1114        "minecraft:eye_of_ender", EyeOfEnder: EyeOfEnder;
1115        "minecraft:falling_block", FallingBlock: FallingBlockEntity;
1116        "minecraft:fireball", Fireball: LargeFireball;
1117        "minecraft:firework_rocket", FireworkRocket: FireworkRocketEntity;
1118        "minecraft:fishing_bobber", FishingBobber: FishingHook;
1119        "minecraft:fox", Fox: Fox;
1120        "minecraft:furnace_minecart", FurnaceMinecart: MinecartFurnace;
1121        "minecraft:ghast", Ghast: Ghast;
1122        "minecraft:giant", Giant: Giant;
1123        "minecraft:guardian", Guardian: Guardian;
1124        "minecraft:hoglin", Hoglin: Hoglin;
1125        "minecraft:hopper_minecart", HopperMinecart: MinecartHopper;
1126        "minecraft:horse", Horse: Horse;
1127        "minecraft:husk", Husk: Husk;
1128        "minecraft:illusioner", Illusioner: Illusioner;
1129        "minecraft:iron_golem", IronGolem: IronGolem;
1130        "minecraft:item", Item: ItemEntity;
1131        "minecraft:item_frame", ItemFrame: ItemFrame;
1132        "minecraft:leash_knot", LeashKnot: LeashFenceKnotEntity;
1133        "minecraft:lightning_bolt", LightningBolt: LightningBolt;
1134        "minecraft:llama", Llama: Llama;
1135        "minecraft:llama_spit", LlamaSpit: LlamaSpit;
1136        "minecraft:magma_cube", MagmaCube: MagmaCube;
1137        "minecraft:minecart", Minecart: Minecart;
1138        "minecraft:mooshroom", Mooshroom: MushroomCow;
1139        "minecraft:mule", Mule: Mule;
1140        "minecraft:ocelot", Ocelot: Ocelot;
1141        "minecraft:painting", Painting: Painting;
1142        "minecraft:panda", Panda: Panda;
1143        "minecraft:parrot", Parrot: Parrot;
1144        "minecraft:phantom", Phantom: Phantom;
1145        "minecraft:pig", Pig: Pig;
1146        "minecraft:piglin", Piglin: Piglin;
1147        "minecraft:piglin_brute", PiglinBrute: PiglinBrute;
1148        "minecraft:pillager", Pillager: Pillager;
1149        "minecraft:polar_bear", PolarBear: PolarBear;
1150        "minecraft:potion", Potion: ThrownPotion;
1151        "minecraft:pufferfish", Pufferfish: Pufferfish;
1152        "minecraft:rabbit", Rabbit: Rabbit;
1153        "minecraft:ravager", Ravager: Ravager;
1154        "minecraft:salmon", Salmon: Salmon;
1155        "minecraft:sheep", Sheep: Sheep;
1156        "minecraft:shulker", Shulker: Shulker;
1157        "minecraft:shulker_bullet", ShulkerBullet: ShulkerBullet;
1158        "minecraft:silverfish", Silverfish: Silverfish;
1159        "minecraft:skeleton", Skeleton: Skeleton;
1160        "minecraft:skeleton_horse", SkeletonHorse: SkeletonHorse;
1161        "minecraft:slime", Slime: Slime;
1162        "minecraft:small_fireball", SmallFireball: SmallFireball;
1163        "minecraft:snow_golem", SnowGolem: SnowGolem;
1164        "minecraft:snowball", Snowball: Snowball;
1165        "minecraft:spawner_minecart", SpawnerMinecart: MinecartSpawner;
1166        "minecraft:spectral_arrow", SpectralArrow: SpectralArrow;
1167        "minecraft:spider", Spider: Spider;
1168        "minecraft:squid", Squid: Squid;
1169        "minecraft:stray", Stray: Stray;
1170        "minecraft:strider", Strider: Strider;
1171        "minecraft:tnt", Tnt: PrimedTnt;
1172        "minecraft:tnt_minecart", TntMinecart: MinecartTNT;
1173        "minecraft:trader_llama", TraderLlama: TraderLlama;
1174        "minecraft:trident", Trident: ThrownTrident;
1175        "minecraft:tropical_fish", TropicalFish: TropicalFish;
1176        "minecraft:turtle", Turtle: Turtle;
1177        "minecraft:vex", Vex: Vex;
1178        "minecraft:villager", Villager: Villager;
1179        "minecraft:vindicator", Vindicator: Vindicator;
1180        "minecraft:wandering_trader", WanderingTrader: WanderingTrader;
1181        "minecraft:witch", Witch: Witch;
1182        "minecraft:wither", Wither: WitherBoss;
1183        "minecraft:wither_skeleton", WitherSkeleton: WitherSkeleton;
1184        "minecraft:wither_skull", WitherSkull: WitherSkull;
1185        "minecraft:wolf", Wolf: Wolf;
1186        "minecraft:zoglin", Zoglin: Zoglin;
1187        "minecraft:zombie", Zombie: Zombie;
1188        "minecraft:zombie_horse", ZombieHorse: ZombieHorse;
1189        "minecraft:zombie_villager", ZombieVillager: ZombieVillager;
1190        "minecraft:zombified_piglin", ZombifiedPiglin: ZombifiedPiglin;
1191    }
1192
1193    entity_types! {
1194        "1.16.2";
1195        AbstractArrow > Projectile { "PierceLevel" as pierce_level: i8, "ShotFromCrossbow" as shot_from_crossbow: bool, "SoundEvent" as sound_event: CowStr, "crit" as crit: bool, "damage" as damage: f64, optional "inBlockState" as in_block_state: super::BlockState, "inGround" as in_ground: bool, "life" as life: i16, "pickup" as pickup: i8, "shake" as shake: i8 }
1196        AbstractChestedHorse > AbstractHorse { "ChestedHorse" as chested_horse: bool, optional "Items" as items: Vec<super::compounds::ItemStack_save_1> }
1197        AbstractFish > WaterAnimal { "FromBucket" as from_bucket: bool }
1198        AbstractGolem > PathfinderMob {  }
1199        AbstractHorse > Animal { "Bred" as bred: bool, "EatingHaystack" as eating_haystack: bool, optional "Owner" as owner: u128, optional "SaddleItem" as saddle_item: super::compounds::ItemStack_save_2, "Tame" as tame: bool, "Temper" as temper: i32 }
1200        AbstractHurtingProjectile > Projectile { "power" as power: Vec<f64> }
1201        AbstractIllager > Raider {  }
1202        AbstractMinecart > Entity { optional "CustomDisplayTile" as custom_display_tile: bool, optional "DisplayOffset" as display_offset: i32, optional "DisplayState" as display_state: super::BlockState }
1203        AbstractMinecartContainer > AbstractMinecart { optional "Items" as items: Vec<super::compounds::ItemStack_save_1>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
1204        AbstractPiglin > Monster { optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
1205        AbstractSchoolingFish > AbstractFish {  }
1206        AbstractSkeleton > Monster {  }
1207        AbstractVillager > AgableMob { "Inventory" as inventory: Vec<super::compounds::ItemStack_save_2>, optional "Offers" as offers: super::compounds::MerchantOffers_createTag }
1208        AgableMob > PathfinderMob { "Age" as age: i32, "ForcedAge" as forced_age: i32 }
1209        AmbientCreature > Mob {  }
1210        Animal > AgableMob { "InLove" as in_love: i32, optional "LoveCause" as love_cause: u128 }
1211        AreaEffectCloud > Entity { "Age" as age: i32, optional "Color" as color: i32, "Duration" as duration: i32, "DurationOnUse" as duration_on_use: i32, optional "Effects" as effects: Vec<super::compounds::MobEffectInstance_save>, optional "Owner" as owner: u128, "Particle" as particle: CowStr, optional "Potion" as potion: CowStr, "Radius" as radius: f32, "RadiusOnUse" as radius_on_use: f32, "RadiusPerTick" as radius_per_tick: f32, "ReapplicationDelay" as reapplication_delay: i32, "WaitTime" as wait_time: i32 }
1212        ArmorStand > LivingEntity { "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save>, "DisabledSlots" as disabled_slots: i32, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save>, "Invisible" as invisible: bool, optional "Marker" as marker: bool, "NoBasePlate" as no_base_plate: bool, "Pose" as pose: super::compounds::ArmorStand_writePose, "ShowArms" as show_arms: bool, "Small" as small: bool }
1213        Arrow > AbstractArrow { optional "Color" as color: i32, optional "CustomPotionEffects" as custom_potion_effects: Vec<super::compounds::MobEffectInstance_save>, optional "Potion" as potion: CowStr }
1214        Bat > AmbientCreature { "BatFlags" as bat_flags: i8 }
1215        Bee > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CannotEnterHiveTicks" as cannot_enter_hive_ticks: i32, "CropsGrownSincePollination" as crops_grown_since_pollination: i32, optional "FlowerPos" as flower_pos: super::compounds::NbtUtils_writeBlockPos, "HasNectar" as has_nectar: bool, "HasStung" as has_stung: bool, optional "HivePos" as hive_pos: super::compounds::NbtUtils_writeBlockPos, "TicksSincePollination" as ticks_since_pollination: i32 }
1216        Blaze > Monster {  }
1217        Boat > Entity { "Type" as r#type: CowStr }
1218        Cat > TamableAnimal { "CatType" as cat_type: i32, "CollarColor" as collar_color: i8 }
1219        CaveSpider > Spider {  }
1220        Chicken > Animal { "EggLayTime" as egg_lay_time: i32, "IsChickenJockey" as is_chicken_jockey: bool }
1221        Cod > AbstractSchoolingFish {  }
1222        Cow > Animal {  }
1223        Creeper > Monster { "ExplosionRadius" as explosion_radius: i8, "Fuse" as fuse: i16, "ignited" as ignited: bool, optional "powered" as powered: bool }
1224        Dolphin > WaterAnimal { "GotFish" as got_fish: bool, "Moistness" as moistness: i32, "TreasurePosX" as treasure_pos_x: i32, "TreasurePosY" as treasure_pos_y: i32, "TreasurePosZ" as treasure_pos_z: i32 }
1225        Donkey > AbstractChestedHorse {  }
1226        DragonFireball > AbstractHurtingProjectile {  }
1227        Drowned > Zombie {  }
1228        ElderGuardian > Guardian {  }
1229        EndCrystal > Entity { optional "BeamTarget" as beam_target: super::compounds::NbtUtils_writeBlockPos, "ShowBottom" as show_bottom: bool }
1230        EnderDragon > Mob { "DragonPhase" as dragon_phase: i32 }
1231        EnderMan > Monster { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, optional "carriedBlockState" as carried_block_state: super::BlockState }
1232        Endermite > Monster { "Lifetime" as lifetime: i32, "PlayerSpawned" as player_spawned: bool }
1233        Entity { "Air" as air: i16, optional "CustomName" as custom_name: CowStr, optional "CustomNameVisible" as custom_name_visible: bool, "FallDistance" as fall_distance: f32, "Fire" as fire: i16, optional "Glowing" as glowing: bool, "Invulnerable" as invulnerable: bool, "Motion" as motion: Vec<f64>, optional "NoGravity" as no_gravity: bool, "OnGround" as on_ground: bool, optional "Passengers" as passengers: Vec<Box<super::Entity>>, "PortalCooldown" as portal_cooldown: i32, optional "Pos" as pos: Vec<f64>, "Rotation" as rotation: Vec<f32>, optional "Silent" as silent: bool, optional "Tags" as tags: Vec<CowStr>, "UUID" as uuid: u128 }
1234        Evoker > SpellcasterIllager {  }
1235        EvokerFangs > Entity { optional "Owner" as owner: u128, "Warmup" as warmup: i32 }
1236        ExperienceOrb > Entity { "Age" as age: i16, "Health" as health: i16, "Value" as value: i16 }
1237        EyeOfEnder > Entity { optional "Item" as item: super::compounds::ItemStack_save_2 }
1238        FallingBlockEntity > Entity { "BlockState" as block_state: super::BlockState, "DropItem" as drop_item: bool, "FallHurtAmount" as fall_hurt_amount: f32, "FallHurtMax" as fall_hurt_max: i32, "HurtEntities" as hurt_entities: bool, optional "TileEntityData" as tile_entity_data: HashMap<CowStr, fastnbt::Value>, "Time" as time: i32 }
1239        Fireball > AbstractHurtingProjectile { optional "Item" as item: super::compounds::ItemStack_save_2 }
1240        FireworkRocketEntity > Projectile { optional "FireworksItem" as fireworks_item: super::compounds::ItemStack_save_2, "Life" as life: i32, "LifeTime" as life_time: i32, "ShotAtAngle" as shot_at_angle: bool }
1241        FishingHook > Projectile {  }
1242        FlyingMob > Mob {  }
1243        Fox > Animal { "Crouching" as crouching: bool, "Sitting" as sitting: bool, "Sleeping" as sleeping: bool, "Trusted" as trusted: Vec<fastnbt::IntArray>, "Type" as r#type: CowStr }
1244        Ghast > FlyingMob { "ExplosionPower" as explosion_power: i32 }
1245        Giant > Monster {  }
1246        Guardian > Monster {  }
1247        HangingEntity > Entity { "TileX" as tile_x: i32, "TileY" as tile_y: i32, "TileZ" as tile_z: i32 }
1248        Hoglin > Animal { optional "CannotBeHunted" as cannot_be_hunted: bool, optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
1249        Horse > AbstractHorse { optional "ArmorItem" as armor_item: super::compounds::ItemStack_save_2, "Variant" as variant: i32 }
1250        Husk > Zombie {  }
1251        Illusioner > SpellcasterIllager {  }
1252        IronGolem > AbstractGolem { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "PlayerCreated" as player_created: bool }
1253        ItemEntity > Entity { "Age" as age: i16, "Health" as health: i16, optional "Item" as item: super::compounds::ItemStack_save_2, optional "Owner" as owner: u128, "PickupDelay" as pickup_delay: i16, optional "Thrower" as thrower: u128 }
1254        ItemFrame > HangingEntity { "Facing" as facing: i8, "Fixed" as fixed: bool, "Invisible" as invisible: bool, optional "Item" as item: super::compounds::ItemStack_save_2, optional "ItemDropChance" as item_drop_chance: f32, optional "ItemRotation" as item_rotation: i8 }
1255        LargeFireball > Fireball { "ExplosionPower" as explosion_power: i32 }
1256        LeashFenceKnotEntity > HangingEntity {  }
1257        LightningBolt > Entity {  }
1258        LivingEntity > Entity { "AbsorptionAmount" as absorption_amount: f32, optional "ActiveEffects" as active_effects: Vec<super::compounds::MobEffectInstance_save>, "Attributes" as attributes: Vec<super::compounds::AttributeInstance_save>, optional "Brain" as brain: fastnbt::Value, "DeathTime" as death_time: i16, "FallFlying" as fall_flying: bool, "Health" as health: f32, "HurtByTimestamp" as hurt_by_timestamp: i32, "HurtTime" as hurt_time: i16, optional "SleepingX" as sleeping_x: i32, optional "SleepingY" as sleeping_y: i32, optional "SleepingZ" as sleeping_z: i32 }
1259        Llama > AbstractChestedHorse { optional "DecorItem" as decor_item: super::compounds::ItemStack_save_2, "Strength" as strength: i32, "Variant" as variant: i32 }
1260        LlamaSpit > Projectile {  }
1261        MagmaCube > Slime {  }
1262        Minecart > AbstractMinecart {  }
1263        MinecartChest > AbstractMinecartContainer {  }
1264        MinecartCommandBlock > AbstractMinecart { "Command" as command: CowStr, "CustomName" as custom_name: CowStr, optional "LastExecution" as last_execution: i64, optional "LastOutput" as last_output: CowStr, "SuccessCount" as success_count: i32, "TrackOutput" as track_output: bool, "UpdateLastExecution" as update_last_execution: bool }
1265        MinecartFurnace > AbstractMinecart { "Fuel" as fuel: i16, "PushX" as push_x: f64, "PushZ" as push_z: f64 }
1266        MinecartHopper > AbstractMinecartContainer { "Enabled" as enabled: bool, "TransferCooldown" as transfer_cooldown: i32 }
1267        MinecartSpawner > AbstractMinecart { optional "Delay" as delay: i16, optional "MaxNearbyEntities" as max_nearby_entities: i16, optional "MaxSpawnDelay" as max_spawn_delay: i16, optional "MinSpawnDelay" as min_spawn_delay: i16, optional "RequiredPlayerRange" as required_player_range: i16, optional "SpawnCount" as spawn_count: i16, optional "SpawnData" as spawn_data: HashMap<CowStr, fastnbt::Value>, optional "SpawnPotentials" as spawn_potentials: Vec<super::compounds::SpawnData_save>, optional "SpawnRange" as spawn_range: i16 }
1268        MinecartTNT > AbstractMinecart { "TNTFuse" as tnt_fuse: i32 }
1269        Mob > LivingEntity { "ArmorDropChances" as armor_drop_chances: Vec<f32>, "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save>, "CanPickUpLoot" as can_pick_up_loot: bool, optional "DeathLootTable" as death_loot_table: CowStr, optional "DeathLootTableSeed" as death_loot_table_seed: i64, "HandDropChances" as hand_drop_chances: Vec<f32>, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save>, optional "Leash" as leash: super::compounds::Compound5, "LeftHanded" as left_handed: bool, optional "NoAI" as no_ai: bool, "PersistenceRequired" as persistence_required: bool }
1270        Monster > PathfinderMob {  }
1271        Mule > AbstractChestedHorse {  }
1272        MushroomCow > Cow { optional "EffectDuration" as effect_duration: i32, optional "EffectId" as effect_id: i8, "Type" as r#type: CowStr }
1273        Ocelot > Animal { "Trusting" as trusting: bool }
1274        Painting > HangingEntity { "Facing" as facing: i8, "Motive" as motive: CowStr }
1275        Panda > Animal { "HiddenGene" as hidden_gene: CowStr, "MainGene" as main_gene: CowStr }
1276        Parrot > ShoulderRidingEntity { "Variant" as variant: i32 }
1277        PathfinderMob > Mob {  }
1278        PatrollingMonster > Monster { "PatrolLeader" as patrol_leader: bool, optional "PatrolTarget" as patrol_target: super::compounds::NbtUtils_writeBlockPos, "Patrolling" as patrolling: bool }
1279        Phantom > FlyingMob { "AX" as ax: i32, "AY" as ay: i32, "AZ" as az: i32, "Size" as size: i32 }
1280        Pig > Animal { "Saddle" as saddle: bool }
1281        Piglin > AbstractPiglin { optional "CannotHunt" as cannot_hunt: bool, "Inventory" as inventory: Vec<super::compounds::ItemStack_save_2>, optional "IsBaby" as is_baby: bool }
1282        PiglinBrute > AbstractPiglin {  }
1283        Pillager > AbstractIllager { "Inventory" as inventory: Vec<super::compounds::ItemStack_save_2> }
1284        PolarBear > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
1285        PrimedTnt > Entity { "Fuse" as fuse: i16 }
1286        Projectile > Entity { optional "LeftOwner" as left_owner: bool, optional "Owner" as owner: u128 }
1287        Pufferfish > AbstractFish { "PuffState" as puff_state: i32 }
1288        Rabbit > Animal { "MoreCarrotTicks" as more_carrot_ticks: i32, "RabbitType" as rabbit_type: i32 }
1289        Raider > PatrollingMonster { "CanJoinRaid" as can_join_raid: bool, optional "RaidId" as raid_id: i32, "Wave" as wave: i32 }
1290        Ravager > Raider { "AttackTick" as attack_tick: i32, "RoarTick" as roar_tick: i32, "StunTick" as stun_tick: i32 }
1291        Salmon > AbstractSchoolingFish {  }
1292        Sheep > Animal { "Color" as color: i8, "Sheared" as sheared: bool }
1293        ShoulderRidingEntity > TamableAnimal {  }
1294        Shulker > AbstractGolem { optional "APX" as apx: i32, optional "APY" as apy: i32, optional "APZ" as apz: i32, "AttachFace" as attach_face: i8, "Color" as color: i8, "Peek" as peek: i8 }
1295        ShulkerBullet > Projectile { optional "Dir" as dir: i32, "Steps" as steps: i32, "TXD" as txd: f64, "TYD" as tyd: f64, "TZD" as tzd: f64, optional "Target" as target: u128 }
1296        Silverfish > Monster {  }
1297        Skeleton > AbstractSkeleton {  }
1298        SkeletonHorse > AbstractHorse { "SkeletonTrap" as skeleton_trap: bool, "SkeletonTrapTime" as skeleton_trap_time: i32 }
1299        Slime > Mob { "Size" as size: i32, "wasOnGround" as was_on_ground: bool }
1300        SmallFireball > Fireball {  }
1301        SnowGolem > AbstractGolem { "Pumpkin" as pumpkin: bool }
1302        Snowball > ThrowableItemProjectile {  }
1303        SpectralArrow > AbstractArrow { "Duration" as duration: i32 }
1304        SpellcasterIllager > AbstractIllager { "SpellTicks" as spell_ticks: i32 }
1305        Spider > Monster {  }
1306        Squid > WaterAnimal {  }
1307        Stray > AbstractSkeleton {  }
1308        Strider > Animal { "Saddle" as saddle: bool }
1309        TamableAnimal > Animal { optional "Owner" as owner: u128, "Sitting" as sitting: bool }
1310        ThrowableItemProjectile > ThrowableProjectile { optional "Item" as item: super::compounds::ItemStack_save_2 }
1311        ThrowableProjectile > Projectile {  }
1312        ThrownEgg > ThrowableItemProjectile {  }
1313        ThrownEnderpearl > ThrowableItemProjectile {  }
1314        ThrownExperienceBottle > ThrowableItemProjectile {  }
1315        ThrownPotion > ThrowableItemProjectile {  }
1316        ThrownTrident > AbstractArrow { "DealtDamage" as dealt_damage: bool, "Trident" as trident: super::compounds::ItemStack_save_2 }
1317        TraderLlama > Llama { "DespawnDelay" as despawn_delay: i32 }
1318        TropicalFish > AbstractSchoolingFish { "Variant" as variant: i32 }
1319        Turtle > Animal { "HasEgg" as has_egg: bool, "HomePosX" as home_pos_x: i32, "HomePosY" as home_pos_y: i32, "HomePosZ" as home_pos_z: i32, "TravelPosX" as travel_pos_x: i32, "TravelPosY" as travel_pos_y: i32, "TravelPosZ" as travel_pos_z: i32 }
1320        Vex > Monster { optional "BoundX" as bound_x: i32, optional "BoundY" as bound_y: i32, optional "BoundZ" as bound_z: i32, optional "LifeTicks" as life_ticks: i32 }
1321        Villager > AbstractVillager { optional "AssignProfessionWhenSpawned" as assign_profession_when_spawned: bool, "FoodLevel" as food_level: i8, "Gossips" as gossips: fastnbt::Value, "LastGossipDecay" as last_gossip_decay: i64, "LastRestock" as last_restock: i64, "RestocksToday" as restocks_today: i32, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
1322        Vindicator > AbstractIllager { optional "Johnny" as johnny: bool }
1323        WanderingTrader > AbstractVillager { "DespawnDelay" as despawn_delay: i32, optional "WanderTarget" as wander_target: super::compounds::NbtUtils_writeBlockPos }
1324        WaterAnimal > PathfinderMob {  }
1325        Witch > Raider {  }
1326        WitherBoss > Monster { "Invul" as invul: i32 }
1327        WitherSkeleton > AbstractSkeleton {  }
1328        WitherSkull > AbstractHurtingProjectile {  }
1329        Wolf > TamableAnimal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CollarColor" as collar_color: i8 }
1330        Zoglin > Monster { optional "IsBaby" as is_baby: bool }
1331        Zombie > Monster { "CanBreakDoors" as can_break_doors: bool, "DrownedConversionTime" as drowned_conversion_time: i32, "InWaterTime" as in_water_time: i32, "IsBaby" as is_baby: bool }
1332        ZombieHorse > AbstractHorse {  }
1333        ZombieVillager > Zombie { optional "ConversionPlayer" as conversion_player: u128, "ConversionTime" as conversion_time: i32, optional "Gossips" as gossips: fastnbt::Value, optional "Offers" as offers: HashMap<CowStr, fastnbt::Value>, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
1334        ZombifiedPiglin > Zombie { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
1335    }
1336
1337    entity_compound_types! {
1338        "1.16.2";
1339        ArmorStand_writePose { optional "Body" as body: Vec<f32>, optional "Head" as head: Vec<f32>, optional "LeftArm" as left_arm: Vec<f32>, optional "LeftLeg" as left_leg: Vec<f32>, optional "RightArm" as right_arm: Vec<f32>, optional "RightLeg" as right_leg: Vec<f32> }
1340        AttributeInstance_save { "Base" as base: f64, optional "Modifiers" as modifiers: Vec<super::compounds::AttributeModifier_save>, "Name" as name: CowStr }
1341        AttributeModifier_save { "Amount" as amount: f64, "Name" as name: CowStr, "Operation" as operation: i32, "UUID" as uuid: u128 }
1342        Compound5 { optional "UUID" as uuid: u128, optional "X" as x: i32, optional "Y" as y: i32, optional "Z" as z: i32 }
1343        ItemStack_save { optional "Count" as count: i8, optional "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
1344        ItemStack_save_1 { "Count" as count: i8, "Slot" as slot: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
1345        ItemStack_save_2 { "Count" as count: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
1346        MerchantOffer_createTag { "buy" as buy: super::compounds::ItemStack_save_2, "buyB" as buy_b: super::compounds::ItemStack_save_2, "demand" as demand: i32, "maxUses" as max_uses: i32, "priceMultiplier" as price_multiplier: f32, "rewardExp" as reward_exp: bool, "sell" as sell: super::compounds::ItemStack_save_2, "specialPrice" as special_price: i32, "uses" as uses: i32, "xp" as xp: i32 }
1347        MerchantOffers_createTag { "Recipes" as recipes: Vec<super::compounds::MerchantOffer_createTag> }
1348        MobEffectInstance_save { "Ambient" as ambient: bool, "Amplifier" as amplifier: i8, "Duration" as duration: i32, optional "HiddenEffect" as hidden_effect: Box<super::compounds::MobEffectInstance_save>, "Id" as id: i8, "ShowIcon" as show_icon: bool, "ShowParticles" as show_particles: bool }
1349        NbtUtils_writeBlockPos { "X" as x: i32, "Y" as y: i32, "Z" as z: i32 }
1350        SpawnData_save { "Entity" as entity: HashMap<CowStr, fastnbt::Value>, "Weight" as weight: i32 }
1351    }
1352}
1353
1354/// Accompanying types for entities in Minecraft 1.17.
1355#[cfg(feature = "1.17")]
1356pub mod mc1_17 {
1357    entities! {
1358        "1.17", mc1_17;
1359        "minecraft:area_effect_cloud", AreaEffectCloud: AreaEffectCloud;
1360        "minecraft:armor_stand", ArmorStand: ArmorStand;
1361        "minecraft:arrow", Arrow: Arrow;
1362        "minecraft:axolotl", Axolotl: Axolotl;
1363        "minecraft:bat", Bat: Bat;
1364        "minecraft:bee", Bee: Bee;
1365        "minecraft:blaze", Blaze: Blaze;
1366        "minecraft:boat", Boat: Boat;
1367        "minecraft:cat", Cat: Cat;
1368        "minecraft:cave_spider", CaveSpider: CaveSpider;
1369        "minecraft:chest_minecart", ChestMinecart: MinecartChest;
1370        "minecraft:chicken", Chicken: Chicken;
1371        "minecraft:cod", Cod: Cod;
1372        "minecraft:command_block_minecart", CommandBlockMinecart: MinecartCommandBlock;
1373        "minecraft:cow", Cow: Cow;
1374        "minecraft:creeper", Creeper: Creeper;
1375        "minecraft:dolphin", Dolphin: Dolphin;
1376        "minecraft:donkey", Donkey: Donkey;
1377        "minecraft:dragon_fireball", DragonFireball: DragonFireball;
1378        "minecraft:drowned", Drowned: Drowned;
1379        "minecraft:egg", Egg: ThrownEgg;
1380        "minecraft:elder_guardian", ElderGuardian: ElderGuardian;
1381        "minecraft:end_crystal", EndCrystal: EndCrystal;
1382        "minecraft:ender_dragon", EnderDragon: EnderDragon;
1383        "minecraft:ender_pearl", EnderPearl: ThrownEnderpearl;
1384        "minecraft:enderman", Enderman: EnderMan;
1385        "minecraft:endermite", Endermite: Endermite;
1386        "minecraft:evoker", Evoker: Evoker;
1387        "minecraft:evoker_fangs", EvokerFangs: EvokerFangs;
1388        "minecraft:experience_bottle", ExperienceBottle: ThrownExperienceBottle;
1389        "minecraft:experience_orb", ExperienceOrb: ExperienceOrb;
1390        "minecraft:eye_of_ender", EyeOfEnder: EyeOfEnder;
1391        "minecraft:falling_block", FallingBlock: FallingBlockEntity;
1392        "minecraft:fireball", Fireball: LargeFireball;
1393        "minecraft:firework_rocket", FireworkRocket: FireworkRocketEntity;
1394        "minecraft:fishing_bobber", FishingBobber: FishingHook;
1395        "minecraft:fox", Fox: Fox;
1396        "minecraft:furnace_minecart", FurnaceMinecart: MinecartFurnace;
1397        "minecraft:ghast", Ghast: Ghast;
1398        "minecraft:giant", Giant: Giant;
1399        "minecraft:glow_item_frame", GlowItemFrame: GlowItemFrame;
1400        "minecraft:glow_squid", GlowSquid: GlowSquid;
1401        "minecraft:goat", Goat: Goat;
1402        "minecraft:guardian", Guardian: Guardian;
1403        "minecraft:hoglin", Hoglin: Hoglin;
1404        "minecraft:hopper_minecart", HopperMinecart: MinecartHopper;
1405        "minecraft:horse", Horse: Horse;
1406        "minecraft:husk", Husk: Husk;
1407        "minecraft:illusioner", Illusioner: Illusioner;
1408        "minecraft:iron_golem", IronGolem: IronGolem;
1409        "minecraft:item", Item: ItemEntity;
1410        "minecraft:item_frame", ItemFrame: ItemFrame;
1411        "minecraft:leash_knot", LeashKnot: LeashFenceKnotEntity;
1412        "minecraft:lightning_bolt", LightningBolt: LightningBolt;
1413        "minecraft:llama", Llama: Llama;
1414        "minecraft:llama_spit", LlamaSpit: LlamaSpit;
1415        "minecraft:magma_cube", MagmaCube: MagmaCube;
1416        "minecraft:marker", Marker: Marker;
1417        "minecraft:minecart", Minecart: Minecart;
1418        "minecraft:mooshroom", Mooshroom: MushroomCow;
1419        "minecraft:mule", Mule: Mule;
1420        "minecraft:ocelot", Ocelot: Ocelot;
1421        "minecraft:painting", Painting: Painting;
1422        "minecraft:panda", Panda: Panda;
1423        "minecraft:parrot", Parrot: Parrot;
1424        "minecraft:phantom", Phantom: Phantom;
1425        "minecraft:pig", Pig: Pig;
1426        "minecraft:piglin", Piglin: Piglin;
1427        "minecraft:piglin_brute", PiglinBrute: PiglinBrute;
1428        "minecraft:pillager", Pillager: Pillager;
1429        "minecraft:polar_bear", PolarBear: PolarBear;
1430        "minecraft:potion", Potion: ThrownPotion;
1431        "minecraft:pufferfish", Pufferfish: Pufferfish;
1432        "minecraft:rabbit", Rabbit: Rabbit;
1433        "minecraft:ravager", Ravager: Ravager;
1434        "minecraft:salmon", Salmon: Salmon;
1435        "minecraft:sheep", Sheep: Sheep;
1436        "minecraft:shulker", Shulker: Shulker;
1437        "minecraft:shulker_bullet", ShulkerBullet: ShulkerBullet;
1438        "minecraft:silverfish", Silverfish: Silverfish;
1439        "minecraft:skeleton", Skeleton: Skeleton;
1440        "minecraft:skeleton_horse", SkeletonHorse: SkeletonHorse;
1441        "minecraft:slime", Slime: Slime;
1442        "minecraft:small_fireball", SmallFireball: SmallFireball;
1443        "minecraft:snow_golem", SnowGolem: SnowGolem;
1444        "minecraft:snowball", Snowball: Snowball;
1445        "minecraft:spawner_minecart", SpawnerMinecart: MinecartSpawner;
1446        "minecraft:spectral_arrow", SpectralArrow: SpectralArrow;
1447        "minecraft:spider", Spider: Spider;
1448        "minecraft:squid", Squid: Squid;
1449        "minecraft:stray", Stray: Stray;
1450        "minecraft:strider", Strider: Strider;
1451        "minecraft:tnt", Tnt: PrimedTnt;
1452        "minecraft:tnt_minecart", TntMinecart: MinecartTNT;
1453        "minecraft:trader_llama", TraderLlama: TraderLlama;
1454        "minecraft:trident", Trident: ThrownTrident;
1455        "minecraft:tropical_fish", TropicalFish: TropicalFish;
1456        "minecraft:turtle", Turtle: Turtle;
1457        "minecraft:vex", Vex: Vex;
1458        "minecraft:villager", Villager: Villager;
1459        "minecraft:vindicator", Vindicator: Vindicator;
1460        "minecraft:wandering_trader", WanderingTrader: WanderingTrader;
1461        "minecraft:witch", Witch: Witch;
1462        "minecraft:wither", Wither: WitherBoss;
1463        "minecraft:wither_skeleton", WitherSkeleton: WitherSkeleton;
1464        "minecraft:wither_skull", WitherSkull: WitherSkull;
1465        "minecraft:wolf", Wolf: Wolf;
1466        "minecraft:zoglin", Zoglin: Zoglin;
1467        "minecraft:zombie", Zombie: Zombie;
1468        "minecraft:zombie_horse", ZombieHorse: ZombieHorse;
1469        "minecraft:zombie_villager", ZombieVillager: ZombieVillager;
1470        "minecraft:zombified_piglin", ZombifiedPiglin: ZombifiedPiglin;
1471    }
1472
1473    entity_types! {
1474        "1.17";
1475        AbstractArrow > Projectile { "PierceLevel" as pierce_level: i8, "ShotFromCrossbow" as shot_from_crossbow: bool, "SoundEvent" as sound_event: CowStr, "crit" as crit: bool, "damage" as damage: f64, optional "inBlockState" as in_block_state: super::BlockState, "inGround" as in_ground: bool, "life" as life: i16, "pickup" as pickup: i8, "shake" as shake: i8 }
1476        AbstractChestedHorse > AbstractHorse { "ChestedHorse" as chested_horse: bool, optional "Items" as items: Vec<super::compounds::ItemStack_save_1> }
1477        AbstractFish > WaterAnimal { "FromBucket" as from_bucket: bool }
1478        AbstractGolem > PathfinderMob {  }
1479        AbstractHorse > Animal { "Bred" as bred: bool, "EatingHaystack" as eating_haystack: bool, optional "Owner" as owner: u128, optional "SaddleItem" as saddle_item: super::compounds::ItemStack_save_2, "Tame" as tame: bool, "Temper" as temper: i32 }
1480        AbstractHurtingProjectile > Projectile { "power" as power: Vec<f64> }
1481        AbstractIllager > Raider {  }
1482        AbstractMinecart > Entity { optional "CustomDisplayTile" as custom_display_tile: bool, optional "DisplayOffset" as display_offset: i32, optional "DisplayState" as display_state: super::BlockState }
1483        AbstractMinecartContainer > AbstractMinecart { optional "Items" as items: Vec<super::compounds::ItemStack_save_1>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
1484        AbstractPiglin > Monster { optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
1485        AbstractSchoolingFish > AbstractFish {  }
1486        AbstractSkeleton > Monster {  }
1487        AbstractVillager > AgeableMob { "Inventory" as inventory: Vec<super::compounds::ItemStack_save_2>, optional "Offers" as offers: super::compounds::MerchantOffers_createTag }
1488        AgeableMob > PathfinderMob { "Age" as age: i32, "ForcedAge" as forced_age: i32 }
1489        AmbientCreature > Mob {  }
1490        Animal > AgeableMob { "InLove" as in_love: i32, optional "LoveCause" as love_cause: u128 }
1491        AreaEffectCloud > Entity { "Age" as age: i32, optional "Color" as color: i32, "Duration" as duration: i32, "DurationOnUse" as duration_on_use: i32, optional "Effects" as effects: Vec<super::compounds::MobEffectInstance_save>, optional "Owner" as owner: u128, "Particle" as particle: CowStr, optional "Potion" as potion: CowStr, "Radius" as radius: f32, "RadiusOnUse" as radius_on_use: f32, "RadiusPerTick" as radius_per_tick: f32, "ReapplicationDelay" as reapplication_delay: i32, "WaitTime" as wait_time: i32 }
1492        ArmorStand > LivingEntity { "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save>, "DisabledSlots" as disabled_slots: i32, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save>, "Invisible" as invisible: bool, optional "Marker" as marker: bool, "NoBasePlate" as no_base_plate: bool, "Pose" as pose: super::compounds::ArmorStand_writePose, "ShowArms" as show_arms: bool, "Small" as small: bool }
1493        Arrow > AbstractArrow { optional "Color" as color: i32, optional "CustomPotionEffects" as custom_potion_effects: Vec<super::compounds::MobEffectInstance_save>, optional "Potion" as potion: CowStr }
1494        Axolotl > Animal { "FromBucket" as from_bucket: bool, "Variant" as variant: i32 }
1495        Bat > AmbientCreature { "BatFlags" as bat_flags: i8 }
1496        Bee > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CannotEnterHiveTicks" as cannot_enter_hive_ticks: i32, "CropsGrownSincePollination" as crops_grown_since_pollination: i32, optional "FlowerPos" as flower_pos: super::compounds::NbtUtils_writeBlockPos, "HasNectar" as has_nectar: bool, "HasStung" as has_stung: bool, optional "HivePos" as hive_pos: super::compounds::NbtUtils_writeBlockPos, "TicksSincePollination" as ticks_since_pollination: i32 }
1497        Blaze > Monster {  }
1498        Boat > Entity { "Type" as r#type: CowStr }
1499        Cat > TamableAnimal { "CatType" as cat_type: i32, "CollarColor" as collar_color: i8 }
1500        CaveSpider > Spider {  }
1501        Chicken > Animal { "EggLayTime" as egg_lay_time: i32, "IsChickenJockey" as is_chicken_jockey: bool }
1502        Cod > AbstractSchoolingFish {  }
1503        Cow > Animal {  }
1504        Creeper > Monster { "ExplosionRadius" as explosion_radius: i8, "Fuse" as fuse: i16, "ignited" as ignited: bool, optional "powered" as powered: bool }
1505        Dolphin > WaterAnimal { "GotFish" as got_fish: bool, "Moistness" as moistness: i32, "TreasurePosX" as treasure_pos_x: i32, "TreasurePosY" as treasure_pos_y: i32, "TreasurePosZ" as treasure_pos_z: i32 }
1506        Donkey > AbstractChestedHorse {  }
1507        DragonFireball > AbstractHurtingProjectile {  }
1508        Drowned > Zombie {  }
1509        ElderGuardian > Guardian {  }
1510        EndCrystal > Entity { optional "BeamTarget" as beam_target: super::compounds::NbtUtils_writeBlockPos, "ShowBottom" as show_bottom: bool }
1511        EnderDragon > Mob { "DragonDeathTime" as dragon_death_time: i32, "DragonPhase" as dragon_phase: i32 }
1512        EnderMan > Monster { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, optional "carriedBlockState" as carried_block_state: super::BlockState }
1513        Endermite > Monster { "Lifetime" as lifetime: i32 }
1514        Entity { "Air" as air: i16, optional "CustomName" as custom_name: CowStr, optional "CustomNameVisible" as custom_name_visible: bool, "FallDistance" as fall_distance: f32, "Fire" as fire: i16, optional "Glowing" as glowing: bool, optional "HasVisualFire" as has_visual_fire: bool, "Invulnerable" as invulnerable: bool, "Motion" as motion: Vec<f64>, optional "NoGravity" as no_gravity: bool, "OnGround" as on_ground: bool, optional "Passengers" as passengers: Vec<Box<super::Entity>>, "PortalCooldown" as portal_cooldown: i32, optional "Pos" as pos: Vec<f64>, "Rotation" as rotation: Vec<f32>, optional "Silent" as silent: bool, optional "Tags" as tags: Vec<CowStr>, optional "TicksFrozen" as ticks_frozen: i32, "UUID" as uuid: u128 }
1515        Evoker > SpellcasterIllager {  }
1516        EvokerFangs > Entity { optional "Owner" as owner: u128, "Warmup" as warmup: i32 }
1517        ExperienceOrb > Entity { "Age" as age: i16, "Count" as count: i32, "Health" as health: i16, "Value" as value: i16 }
1518        EyeOfEnder > Entity { optional "Item" as item: super::compounds::ItemStack_save_2 }
1519        FallingBlockEntity > Entity { "BlockState" as block_state: super::BlockState, "DropItem" as drop_item: bool, "FallHurtAmount" as fall_hurt_amount: f32, "FallHurtMax" as fall_hurt_max: i32, "HurtEntities" as hurt_entities: bool, optional "TileEntityData" as tile_entity_data: HashMap<CowStr, fastnbt::Value>, "Time" as time: i32 }
1520        Fireball > AbstractHurtingProjectile { optional "Item" as item: super::compounds::ItemStack_save_2 }
1521        FireworkRocketEntity > Projectile { optional "FireworksItem" as fireworks_item: super::compounds::ItemStack_save_2, "Life" as life: i32, "LifeTime" as life_time: i32, "ShotAtAngle" as shot_at_angle: bool }
1522        FishingHook > Projectile {  }
1523        FlyingMob > Mob {  }
1524        Fox > Animal { "Crouching" as crouching: bool, "Sitting" as sitting: bool, "Sleeping" as sleeping: bool, "Trusted" as trusted: Vec<fastnbt::IntArray>, "Type" as r#type: CowStr }
1525        Ghast > FlyingMob { "ExplosionPower" as explosion_power: i8 }
1526        Giant > Monster {  }
1527        GlowItemFrame > ItemFrame {  }
1528        GlowSquid > Squid { "DarkTicksRemaining" as dark_ticks_remaining: i32 }
1529        Goat > Animal { "IsScreamingGoat" as is_screaming_goat: bool }
1530        Guardian > Monster {  }
1531        HangingEntity > Entity { "TileX" as tile_x: i32, "TileY" as tile_y: i32, "TileZ" as tile_z: i32 }
1532        Hoglin > Animal { optional "CannotBeHunted" as cannot_be_hunted: bool, optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
1533        Horse > AbstractHorse { optional "ArmorItem" as armor_item: super::compounds::ItemStack_save_2, "Variant" as variant: i32 }
1534        Husk > Zombie {  }
1535        Illusioner > SpellcasterIllager {  }
1536        IronGolem > AbstractGolem { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "PlayerCreated" as player_created: bool }
1537        ItemEntity > Entity { "Age" as age: i16, "Health" as health: i16, optional "Item" as item: super::compounds::ItemStack_save_2, optional "Owner" as owner: u128, "PickupDelay" as pickup_delay: i16, optional "Thrower" as thrower: u128 }
1538        ItemFrame > HangingEntity { "Facing" as facing: i8, "Fixed" as fixed: bool, "Invisible" as invisible: bool, optional "Item" as item: super::compounds::ItemStack_save_2, optional "ItemDropChance" as item_drop_chance: f32, optional "ItemRotation" as item_rotation: i8 }
1539        LargeFireball > Fireball { "ExplosionPower" as explosion_power: i8 }
1540        LeashFenceKnotEntity > HangingEntity {  }
1541        LightningBolt > Entity {  }
1542        LivingEntity > Entity { "AbsorptionAmount" as absorption_amount: f32, optional "ActiveEffects" as active_effects: Vec<super::compounds::MobEffectInstance_save>, "Attributes" as attributes: Vec<super::compounds::AttributeInstance_save>, optional "Brain" as brain: fastnbt::Value, "DeathTime" as death_time: i16, "FallFlying" as fall_flying: bool, "Health" as health: f32, "HurtByTimestamp" as hurt_by_timestamp: i32, "HurtTime" as hurt_time: i16, optional "SleepingX" as sleeping_x: i32, optional "SleepingY" as sleeping_y: i32, optional "SleepingZ" as sleeping_z: i32 }
1543        Llama > AbstractChestedHorse { optional "DecorItem" as decor_item: super::compounds::ItemStack_save_2, "Strength" as strength: i32, "Variant" as variant: i32 }
1544        LlamaSpit > Projectile {  }
1545        MagmaCube > Slime {  }
1546        Marker > Entity { "data" as data: HashMap<CowStr, fastnbt::Value> }
1547        Minecart > AbstractMinecart {  }
1548        MinecartChest > AbstractMinecartContainer {  }
1549        MinecartCommandBlock > AbstractMinecart { "Command" as command: CowStr, "CustomName" as custom_name: CowStr, optional "LastExecution" as last_execution: i64, optional "LastOutput" as last_output: CowStr, "SuccessCount" as success_count: i32, "TrackOutput" as track_output: bool, "UpdateLastExecution" as update_last_execution: bool }
1550        MinecartFurnace > AbstractMinecart { "Fuel" as fuel: i16, "PushX" as push_x: f64, "PushZ" as push_z: f64 }
1551        MinecartHopper > AbstractMinecartContainer { "Enabled" as enabled: bool, "TransferCooldown" as transfer_cooldown: i32 }
1552        MinecartSpawner > AbstractMinecart { optional "Delay" as delay: i16, optional "MaxNearbyEntities" as max_nearby_entities: i16, optional "MaxSpawnDelay" as max_spawn_delay: i16, optional "MinSpawnDelay" as min_spawn_delay: i16, optional "RequiredPlayerRange" as required_player_range: i16, optional "SpawnCount" as spawn_count: i16, optional "SpawnData" as spawn_data: HashMap<CowStr, fastnbt::Value>, optional "SpawnPotentials" as spawn_potentials: Vec<super::compounds::SpawnData_save>, optional "SpawnRange" as spawn_range: i16 }
1553        MinecartTNT > AbstractMinecart { "TNTFuse" as tnt_fuse: i32 }
1554        Mob > LivingEntity { "ArmorDropChances" as armor_drop_chances: Vec<f32>, "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save>, "CanPickUpLoot" as can_pick_up_loot: bool, optional "DeathLootTable" as death_loot_table: CowStr, optional "DeathLootTableSeed" as death_loot_table_seed: i64, "HandDropChances" as hand_drop_chances: Vec<f32>, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save>, optional "Leash" as leash: super::compounds::Compound5, "LeftHanded" as left_handed: bool, optional "NoAI" as no_ai: bool, "PersistenceRequired" as persistence_required: bool }
1555        Monster > PathfinderMob {  }
1556        Mule > AbstractChestedHorse {  }
1557        MushroomCow > Cow { optional "EffectDuration" as effect_duration: i32, optional "EffectId" as effect_id: i8, "Type" as r#type: CowStr }
1558        Ocelot > Animal { "Trusting" as trusting: bool }
1559        Painting > HangingEntity { "Facing" as facing: i8, "Motive" as motive: CowStr }
1560        Panda > Animal { "HiddenGene" as hidden_gene: CowStr, "MainGene" as main_gene: CowStr }
1561        Parrot > ShoulderRidingEntity { "Variant" as variant: i32 }
1562        PathfinderMob > Mob {  }
1563        PatrollingMonster > Monster { "PatrolLeader" as patrol_leader: bool, optional "PatrolTarget" as patrol_target: super::compounds::NbtUtils_writeBlockPos, "Patrolling" as patrolling: bool }
1564        Phantom > FlyingMob { "AX" as ax: i32, "AY" as ay: i32, "AZ" as az: i32, "Size" as size: i32 }
1565        Pig > Animal { "Saddle" as saddle: bool }
1566        Piglin > AbstractPiglin { optional "CannotHunt" as cannot_hunt: bool, "Inventory" as inventory: Vec<super::compounds::ItemStack_save_2>, optional "IsBaby" as is_baby: bool }
1567        PiglinBrute > AbstractPiglin {  }
1568        Pillager > AbstractIllager { "Inventory" as inventory: Vec<super::compounds::ItemStack_save_2> }
1569        PolarBear > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
1570        PrimedTnt > Entity { "Fuse" as fuse: i16 }
1571        Projectile > Entity { "HasBeenShot" as has_been_shot: bool, optional "LeftOwner" as left_owner: bool, optional "Owner" as owner: u128 }
1572        Pufferfish > AbstractFish { "PuffState" as puff_state: i32 }
1573        Rabbit > Animal { "MoreCarrotTicks" as more_carrot_ticks: i32, "RabbitType" as rabbit_type: i32 }
1574        Raider > PatrollingMonster { "CanJoinRaid" as can_join_raid: bool, optional "RaidId" as raid_id: i32, "Wave" as wave: i32 }
1575        Ravager > Raider { "AttackTick" as attack_tick: i32, "RoarTick" as roar_tick: i32, "StunTick" as stun_tick: i32 }
1576        Salmon > AbstractSchoolingFish {  }
1577        Sheep > Animal { "Color" as color: i8, "Sheared" as sheared: bool }
1578        ShoulderRidingEntity > TamableAnimal {  }
1579        Shulker > AbstractGolem { "AttachFace" as attach_face: i8, "Color" as color: i8, "Peek" as peek: i8 }
1580        ShulkerBullet > Projectile { optional "Dir" as dir: i32, "Steps" as steps: i32, "TXD" as txd: f64, "TYD" as tyd: f64, "TZD" as tzd: f64, optional "Target" as target: u128 }
1581        Silverfish > Monster {  }
1582        Skeleton > AbstractSkeleton { "StrayConversionTime" as stray_conversion_time: i32 }
1583        SkeletonHorse > AbstractHorse { "SkeletonTrap" as skeleton_trap: bool, "SkeletonTrapTime" as skeleton_trap_time: i32 }
1584        Slime > Mob { "Size" as size: i32, "wasOnGround" as was_on_ground: bool }
1585        SmallFireball > Fireball {  }
1586        SnowGolem > AbstractGolem { "Pumpkin" as pumpkin: bool }
1587        Snowball > ThrowableItemProjectile {  }
1588        SpectralArrow > AbstractArrow { "Duration" as duration: i32 }
1589        SpellcasterIllager > AbstractIllager { "SpellTicks" as spell_ticks: i32 }
1590        Spider > Monster {  }
1591        Squid > WaterAnimal {  }
1592        Stray > AbstractSkeleton {  }
1593        Strider > Animal { "Saddle" as saddle: bool }
1594        TamableAnimal > Animal { optional "Owner" as owner: u128, "Sitting" as sitting: bool }
1595        ThrowableItemProjectile > ThrowableProjectile { optional "Item" as item: super::compounds::ItemStack_save_2 }
1596        ThrowableProjectile > Projectile {  }
1597        ThrownEgg > ThrowableItemProjectile {  }
1598        ThrownEnderpearl > ThrowableItemProjectile {  }
1599        ThrownExperienceBottle > ThrowableItemProjectile {  }
1600        ThrownPotion > ThrowableItemProjectile {  }
1601        ThrownTrident > AbstractArrow { "DealtDamage" as dealt_damage: bool, "Trident" as trident: super::compounds::ItemStack_save_2 }
1602        TraderLlama > Llama { "DespawnDelay" as despawn_delay: i32 }
1603        TropicalFish > AbstractSchoolingFish { "Variant" as variant: i32 }
1604        Turtle > Animal { "HasEgg" as has_egg: bool, "HomePosX" as home_pos_x: i32, "HomePosY" as home_pos_y: i32, "HomePosZ" as home_pos_z: i32, "TravelPosX" as travel_pos_x: i32, "TravelPosY" as travel_pos_y: i32, "TravelPosZ" as travel_pos_z: i32 }
1605        Vex > Monster { optional "BoundX" as bound_x: i32, optional "BoundY" as bound_y: i32, optional "BoundZ" as bound_z: i32, optional "LifeTicks" as life_ticks: i32 }
1606        Villager > AbstractVillager { optional "AssignProfessionWhenSpawned" as assign_profession_when_spawned: bool, "FoodLevel" as food_level: i8, "Gossips" as gossips: fastnbt::Value, "LastGossipDecay" as last_gossip_decay: i64, "LastRestock" as last_restock: i64, "RestocksToday" as restocks_today: i32, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
1607        Vindicator > AbstractIllager { optional "Johnny" as johnny: bool }
1608        WanderingTrader > AbstractVillager { "DespawnDelay" as despawn_delay: i32, optional "WanderTarget" as wander_target: super::compounds::NbtUtils_writeBlockPos }
1609        WaterAnimal > PathfinderMob {  }
1610        Witch > Raider {  }
1611        WitherBoss > Monster { "Invul" as invul: i32 }
1612        WitherSkeleton > AbstractSkeleton {  }
1613        WitherSkull > AbstractHurtingProjectile {  }
1614        Wolf > TamableAnimal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CollarColor" as collar_color: i8 }
1615        Zoglin > Monster { optional "IsBaby" as is_baby: bool }
1616        Zombie > Monster { "CanBreakDoors" as can_break_doors: bool, "DrownedConversionTime" as drowned_conversion_time: i32, "InWaterTime" as in_water_time: i32, "IsBaby" as is_baby: bool }
1617        ZombieHorse > AbstractHorse {  }
1618        ZombieVillager > Zombie { optional "ConversionPlayer" as conversion_player: u128, "ConversionTime" as conversion_time: i32, optional "Gossips" as gossips: fastnbt::Value, optional "Offers" as offers: HashMap<CowStr, fastnbt::Value>, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
1619        ZombifiedPiglin > Zombie { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
1620    }
1621
1622    entity_compound_types! {
1623        "1.17";
1624        ArmorStand_writePose { optional "Body" as body: Vec<f32>, optional "Head" as head: Vec<f32>, optional "LeftArm" as left_arm: Vec<f32>, optional "LeftLeg" as left_leg: Vec<f32>, optional "RightArm" as right_arm: Vec<f32>, optional "RightLeg" as right_leg: Vec<f32> }
1625        AttributeInstance_save { "Base" as base: f64, optional "Modifiers" as modifiers: Vec<super::compounds::AttributeModifier_save>, "Name" as name: CowStr }
1626        AttributeModifier_save { "Amount" as amount: f64, "Name" as name: CowStr, "Operation" as operation: i32, "UUID" as uuid: u128 }
1627        Compound5 { optional "UUID" as uuid: u128, optional "X" as x: i32, optional "Y" as y: i32, optional "Z" as z: i32 }
1628        ItemStack_save { optional "Count" as count: i8, optional "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
1629        ItemStack_save_1 { "Count" as count: i8, "Slot" as slot: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
1630        ItemStack_save_2 { "Count" as count: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
1631        MerchantOffer_createTag { "buy" as buy: super::compounds::ItemStack_save_2, "buyB" as buy_b: super::compounds::ItemStack_save_2, "demand" as demand: i32, "maxUses" as max_uses: i32, "priceMultiplier" as price_multiplier: f32, "rewardExp" as reward_exp: bool, "sell" as sell: super::compounds::ItemStack_save_2, "specialPrice" as special_price: i32, "uses" as uses: i32, "xp" as xp: i32 }
1632        MerchantOffers_createTag { "Recipes" as recipes: Vec<super::compounds::MerchantOffer_createTag> }
1633        MobEffectInstance_save { "Ambient" as ambient: bool, "Amplifier" as amplifier: i8, "Duration" as duration: i32, optional "HiddenEffect" as hidden_effect: Box<super::compounds::MobEffectInstance_save>, "Id" as id: i8, "ShowIcon" as show_icon: bool, "ShowParticles" as show_particles: bool }
1634        NbtUtils_writeBlockPos { "X" as x: i32, "Y" as y: i32, "Z" as z: i32 }
1635        SpawnData_save { "Entity" as entity: HashMap<CowStr, fastnbt::Value>, "Weight" as weight: i32 }
1636    }
1637}
1638
1639/// Accompanying types for entities in Minecraft 1.18.
1640#[cfg(feature = "1.18")]
1641pub mod mc1_18 {
1642    entities! {
1643        "1.18", mc1_18;
1644        "minecraft:area_effect_cloud", AreaEffectCloud: AreaEffectCloud;
1645        "minecraft:armor_stand", ArmorStand: ArmorStand;
1646        "minecraft:arrow", Arrow: Arrow;
1647        "minecraft:axolotl", Axolotl: Axolotl;
1648        "minecraft:bat", Bat: Bat;
1649        "minecraft:bee", Bee: Bee;
1650        "minecraft:blaze", Blaze: Blaze;
1651        "minecraft:boat", Boat: Boat;
1652        "minecraft:cat", Cat: Cat;
1653        "minecraft:cave_spider", CaveSpider: CaveSpider;
1654        "minecraft:chest_minecart", ChestMinecart: MinecartChest;
1655        "minecraft:chicken", Chicken: Chicken;
1656        "minecraft:cod", Cod: Cod;
1657        "minecraft:command_block_minecart", CommandBlockMinecart: MinecartCommandBlock;
1658        "minecraft:cow", Cow: Cow;
1659        "minecraft:creeper", Creeper: Creeper;
1660        "minecraft:dolphin", Dolphin: Dolphin;
1661        "minecraft:donkey", Donkey: Donkey;
1662        "minecraft:dragon_fireball", DragonFireball: DragonFireball;
1663        "minecraft:drowned", Drowned: Drowned;
1664        "minecraft:egg", Egg: ThrownEgg;
1665        "minecraft:elder_guardian", ElderGuardian: ElderGuardian;
1666        "minecraft:end_crystal", EndCrystal: EndCrystal;
1667        "minecraft:ender_dragon", EnderDragon: EnderDragon;
1668        "minecraft:ender_pearl", EnderPearl: ThrownEnderpearl;
1669        "minecraft:enderman", Enderman: EnderMan;
1670        "minecraft:endermite", Endermite: Endermite;
1671        "minecraft:evoker", Evoker: Evoker;
1672        "minecraft:evoker_fangs", EvokerFangs: EvokerFangs;
1673        "minecraft:experience_bottle", ExperienceBottle: ThrownExperienceBottle;
1674        "minecraft:experience_orb", ExperienceOrb: ExperienceOrb;
1675        "minecraft:eye_of_ender", EyeOfEnder: EyeOfEnder;
1676        "minecraft:falling_block", FallingBlock: FallingBlockEntity;
1677        "minecraft:fireball", Fireball: LargeFireball;
1678        "minecraft:firework_rocket", FireworkRocket: FireworkRocketEntity;
1679        "minecraft:fishing_bobber", FishingBobber: FishingHook;
1680        "minecraft:fox", Fox: Fox;
1681        "minecraft:furnace_minecart", FurnaceMinecart: MinecartFurnace;
1682        "minecraft:ghast", Ghast: Ghast;
1683        "minecraft:giant", Giant: Giant;
1684        "minecraft:glow_item_frame", GlowItemFrame: GlowItemFrame;
1685        "minecraft:glow_squid", GlowSquid: GlowSquid;
1686        "minecraft:goat", Goat: Goat;
1687        "minecraft:guardian", Guardian: Guardian;
1688        "minecraft:hoglin", Hoglin: Hoglin;
1689        "minecraft:hopper_minecart", HopperMinecart: MinecartHopper;
1690        "minecraft:horse", Horse: Horse;
1691        "minecraft:husk", Husk: Husk;
1692        "minecraft:illusioner", Illusioner: Illusioner;
1693        "minecraft:iron_golem", IronGolem: IronGolem;
1694        "minecraft:item", Item: ItemEntity;
1695        "minecraft:item_frame", ItemFrame: ItemFrame;
1696        "minecraft:leash_knot", LeashKnot: LeashFenceKnotEntity;
1697        "minecraft:lightning_bolt", LightningBolt: LightningBolt;
1698        "minecraft:llama", Llama: Llama;
1699        "minecraft:llama_spit", LlamaSpit: LlamaSpit;
1700        "minecraft:magma_cube", MagmaCube: MagmaCube;
1701        "minecraft:marker", Marker: Marker;
1702        "minecraft:minecart", Minecart: Minecart;
1703        "minecraft:mooshroom", Mooshroom: MushroomCow;
1704        "minecraft:mule", Mule: Mule;
1705        "minecraft:ocelot", Ocelot: Ocelot;
1706        "minecraft:painting", Painting: Painting;
1707        "minecraft:panda", Panda: Panda;
1708        "minecraft:parrot", Parrot: Parrot;
1709        "minecraft:phantom", Phantom: Phantom;
1710        "minecraft:pig", Pig: Pig;
1711        "minecraft:piglin", Piglin: Piglin;
1712        "minecraft:piglin_brute", PiglinBrute: PiglinBrute;
1713        "minecraft:pillager", Pillager: Pillager;
1714        "minecraft:polar_bear", PolarBear: PolarBear;
1715        "minecraft:potion", Potion: ThrownPotion;
1716        "minecraft:pufferfish", Pufferfish: Pufferfish;
1717        "minecraft:rabbit", Rabbit: Rabbit;
1718        "minecraft:ravager", Ravager: Ravager;
1719        "minecraft:salmon", Salmon: Salmon;
1720        "minecraft:sheep", Sheep: Sheep;
1721        "minecraft:shulker", Shulker: Shulker;
1722        "minecraft:shulker_bullet", ShulkerBullet: ShulkerBullet;
1723        "minecraft:silverfish", Silverfish: Silverfish;
1724        "minecraft:skeleton", Skeleton: Skeleton;
1725        "minecraft:skeleton_horse", SkeletonHorse: SkeletonHorse;
1726        "minecraft:slime", Slime: Slime;
1727        "minecraft:small_fireball", SmallFireball: SmallFireball;
1728        "minecraft:snow_golem", SnowGolem: SnowGolem;
1729        "minecraft:snowball", Snowball: Snowball;
1730        "minecraft:spawner_minecart", SpawnerMinecart: MinecartSpawner;
1731        "minecraft:spectral_arrow", SpectralArrow: SpectralArrow;
1732        "minecraft:spider", Spider: Spider;
1733        "minecraft:squid", Squid: Squid;
1734        "minecraft:stray", Stray: Stray;
1735        "minecraft:strider", Strider: Strider;
1736        "minecraft:tnt", Tnt: PrimedTnt;
1737        "minecraft:tnt_minecart", TntMinecart: MinecartTNT;
1738        "minecraft:trader_llama", TraderLlama: TraderLlama;
1739        "minecraft:trident", Trident: ThrownTrident;
1740        "minecraft:tropical_fish", TropicalFish: TropicalFish;
1741        "minecraft:turtle", Turtle: Turtle;
1742        "minecraft:vex", Vex: Vex;
1743        "minecraft:villager", Villager: Villager;
1744        "minecraft:vindicator", Vindicator: Vindicator;
1745        "minecraft:wandering_trader", WanderingTrader: WanderingTrader;
1746        "minecraft:witch", Witch: Witch;
1747        "minecraft:wither", Wither: WitherBoss;
1748        "minecraft:wither_skeleton", WitherSkeleton: WitherSkeleton;
1749        "minecraft:wither_skull", WitherSkull: WitherSkull;
1750        "minecraft:wolf", Wolf: Wolf;
1751        "minecraft:zoglin", Zoglin: Zoglin;
1752        "minecraft:zombie", Zombie: Zombie;
1753        "minecraft:zombie_horse", ZombieHorse: ZombieHorse;
1754        "minecraft:zombie_villager", ZombieVillager: ZombieVillager;
1755        "minecraft:zombified_piglin", ZombifiedPiglin: ZombifiedPiglin;
1756    }
1757
1758    entity_types! {
1759        "1.18";
1760        AbstractArrow > Projectile { "PierceLevel" as pierce_level: i8, "ShotFromCrossbow" as shot_from_crossbow: bool, "SoundEvent" as sound_event: CowStr, "crit" as crit: bool, "damage" as damage: f64, optional "inBlockState" as in_block_state: super::BlockState, "inGround" as in_ground: bool, "life" as life: i16, "pickup" as pickup: i8, "shake" as shake: i8 }
1761        AbstractChestedHorse > AbstractHorse { "ChestedHorse" as chested_horse: bool, optional "Items" as items: Vec<super::compounds::ItemStack_save_1> }
1762        AbstractFish > WaterAnimal { "FromBucket" as from_bucket: bool }
1763        AbstractGolem > PathfinderMob {  }
1764        AbstractHorse > Animal { "Bred" as bred: bool, "EatingHaystack" as eating_haystack: bool, optional "Owner" as owner: u128, optional "SaddleItem" as saddle_item: super::compounds::ItemStack_save_2, "Tame" as tame: bool, "Temper" as temper: i32 }
1765        AbstractHurtingProjectile > Projectile { "power" as power: Vec<f64> }
1766        AbstractIllager > Raider {  }
1767        AbstractMinecart > Entity { optional "CustomDisplayTile" as custom_display_tile: bool, optional "DisplayOffset" as display_offset: i32, optional "DisplayState" as display_state: super::BlockState }
1768        AbstractMinecartContainer > AbstractMinecart { optional "Items" as items: Vec<super::compounds::ItemStack_save_1>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
1769        AbstractPiglin > Monster { optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
1770        AbstractSchoolingFish > AbstractFish {  }
1771        AbstractSkeleton > Monster {  }
1772        AbstractVillager > AgeableMob { "Inventory" as inventory: Vec<super::compounds::ItemStack_save_2>, optional "Offers" as offers: super::compounds::MerchantOffers_createTag }
1773        AgeableMob > PathfinderMob { "Age" as age: i32, "ForcedAge" as forced_age: i32 }
1774        AmbientCreature > Mob {  }
1775        Animal > AgeableMob { "InLove" as in_love: i32, optional "LoveCause" as love_cause: u128 }
1776        AreaEffectCloud > Entity { "Age" as age: i32, optional "Color" as color: i32, "Duration" as duration: i32, "DurationOnUse" as duration_on_use: i32, optional "Effects" as effects: Vec<super::compounds::MobEffectInstance_save>, optional "Owner" as owner: u128, "Particle" as particle: CowStr, optional "Potion" as potion: CowStr, "Radius" as radius: f32, "RadiusOnUse" as radius_on_use: f32, "RadiusPerTick" as radius_per_tick: f32, "ReapplicationDelay" as reapplication_delay: i32, "WaitTime" as wait_time: i32 }
1777        ArmorStand > LivingEntity { "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save>, "DisabledSlots" as disabled_slots: i32, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save>, "Invisible" as invisible: bool, optional "Marker" as marker: bool, "NoBasePlate" as no_base_plate: bool, "Pose" as pose: super::compounds::ArmorStand_writePose, "ShowArms" as show_arms: bool, "Small" as small: bool }
1778        Arrow > AbstractArrow { optional "Color" as color: i32, optional "CustomPotionEffects" as custom_potion_effects: Vec<super::compounds::MobEffectInstance_save>, optional "Potion" as potion: CowStr }
1779        Axolotl > Animal { "FromBucket" as from_bucket: bool, "Variant" as variant: i32 }
1780        Bat > AmbientCreature { "BatFlags" as bat_flags: i8 }
1781        Bee > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CannotEnterHiveTicks" as cannot_enter_hive_ticks: i32, "CropsGrownSincePollination" as crops_grown_since_pollination: i32, optional "FlowerPos" as flower_pos: super::compounds::NbtUtils_writeBlockPos, "HasNectar" as has_nectar: bool, "HasStung" as has_stung: bool, optional "HivePos" as hive_pos: super::compounds::NbtUtils_writeBlockPos, "TicksSincePollination" as ticks_since_pollination: i32 }
1782        Blaze > Monster {  }
1783        Boat > Entity { "Type" as r#type: CowStr }
1784        Cat > TamableAnimal { "CatType" as cat_type: i32, "CollarColor" as collar_color: i8 }
1785        CaveSpider > Spider {  }
1786        Chicken > Animal { "EggLayTime" as egg_lay_time: i32, "IsChickenJockey" as is_chicken_jockey: bool }
1787        Cod > AbstractSchoolingFish {  }
1788        Cow > Animal {  }
1789        Creeper > Monster { "ExplosionRadius" as explosion_radius: i8, "Fuse" as fuse: i16, "ignited" as ignited: bool, optional "powered" as powered: bool }
1790        Dolphin > WaterAnimal { "GotFish" as got_fish: bool, "Moistness" as moistness: i32, "TreasurePosX" as treasure_pos_x: i32, "TreasurePosY" as treasure_pos_y: i32, "TreasurePosZ" as treasure_pos_z: i32 }
1791        Donkey > AbstractChestedHorse {  }
1792        DragonFireball > AbstractHurtingProjectile {  }
1793        Drowned > Zombie {  }
1794        ElderGuardian > Guardian {  }
1795        EndCrystal > Entity { optional "BeamTarget" as beam_target: super::compounds::NbtUtils_writeBlockPos, "ShowBottom" as show_bottom: bool }
1796        EnderDragon > Mob { "DragonDeathTime" as dragon_death_time: i32, "DragonPhase" as dragon_phase: i32 }
1797        EnderMan > Monster { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, optional "carriedBlockState" as carried_block_state: super::BlockState }
1798        Endermite > Monster { "Lifetime" as lifetime: i32 }
1799        Entity { "Air" as air: i16, optional "CustomName" as custom_name: CowStr, optional "CustomNameVisible" as custom_name_visible: bool, "FallDistance" as fall_distance: f32, "Fire" as fire: i16, optional "Glowing" as glowing: bool, optional "HasVisualFire" as has_visual_fire: bool, "Invulnerable" as invulnerable: bool, "Motion" as motion: Vec<f64>, optional "NoGravity" as no_gravity: bool, "OnGround" as on_ground: bool, optional "Passengers" as passengers: Vec<Box<super::Entity>>, "PortalCooldown" as portal_cooldown: i32, optional "Pos" as pos: Vec<f64>, "Rotation" as rotation: Vec<f32>, optional "Silent" as silent: bool, optional "Tags" as tags: Vec<CowStr>, optional "TicksFrozen" as ticks_frozen: i32, "UUID" as uuid: u128 }
1800        Evoker > SpellcasterIllager {  }
1801        EvokerFangs > Entity { optional "Owner" as owner: u128, "Warmup" as warmup: i32 }
1802        ExperienceOrb > Entity { "Age" as age: i16, "Count" as count: i32, "Health" as health: i16, "Value" as value: i16 }
1803        EyeOfEnder > Entity { optional "Item" as item: super::compounds::ItemStack_save_2 }
1804        FallingBlockEntity > Entity { "BlockState" as block_state: super::BlockState, "DropItem" as drop_item: bool, "FallHurtAmount" as fall_hurt_amount: f32, "FallHurtMax" as fall_hurt_max: i32, "HurtEntities" as hurt_entities: bool, optional "TileEntityData" as tile_entity_data: HashMap<CowStr, fastnbt::Value>, "Time" as time: i32 }
1805        Fireball > AbstractHurtingProjectile { optional "Item" as item: super::compounds::ItemStack_save_2 }
1806        FireworkRocketEntity > Projectile { optional "FireworksItem" as fireworks_item: super::compounds::ItemStack_save_2, "Life" as life: i32, "LifeTime" as life_time: i32, "ShotAtAngle" as shot_at_angle: bool }
1807        FishingHook > Projectile {  }
1808        FlyingMob > Mob {  }
1809        Fox > Animal { "Crouching" as crouching: bool, "Sitting" as sitting: bool, "Sleeping" as sleeping: bool, "Trusted" as trusted: Vec<fastnbt::IntArray>, "Type" as r#type: CowStr }
1810        Ghast > FlyingMob { "ExplosionPower" as explosion_power: i8 }
1811        Giant > Monster {  }
1812        GlowItemFrame > ItemFrame {  }
1813        GlowSquid > Squid { "DarkTicksRemaining" as dark_ticks_remaining: i32 }
1814        Goat > Animal { "IsScreamingGoat" as is_screaming_goat: bool }
1815        Guardian > Monster {  }
1816        HangingEntity > Entity { "TileX" as tile_x: i32, "TileY" as tile_y: i32, "TileZ" as tile_z: i32 }
1817        Hoglin > Animal { optional "CannotBeHunted" as cannot_be_hunted: bool, optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
1818        Horse > AbstractHorse { optional "ArmorItem" as armor_item: super::compounds::ItemStack_save_2, "Variant" as variant: i32 }
1819        Husk > Zombie {  }
1820        Illusioner > SpellcasterIllager {  }
1821        IronGolem > AbstractGolem { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "PlayerCreated" as player_created: bool }
1822        ItemEntity > Entity { "Age" as age: i16, "Health" as health: i16, optional "Item" as item: super::compounds::ItemStack_save_2, optional "Owner" as owner: u128, "PickupDelay" as pickup_delay: i16, optional "Thrower" as thrower: u128 }
1823        ItemFrame > HangingEntity { "Facing" as facing: i8, "Fixed" as fixed: bool, "Invisible" as invisible: bool, optional "Item" as item: super::compounds::ItemStack_save_2, optional "ItemDropChance" as item_drop_chance: f32, optional "ItemRotation" as item_rotation: i8 }
1824        LargeFireball > Fireball { "ExplosionPower" as explosion_power: i8 }
1825        LeashFenceKnotEntity > HangingEntity {  }
1826        LightningBolt > Entity {  }
1827        LivingEntity > Entity { "AbsorptionAmount" as absorption_amount: f32, optional "ActiveEffects" as active_effects: Vec<super::compounds::MobEffectInstance_save>, "Attributes" as attributes: Vec<super::compounds::AttributeInstance_save>, optional "Brain" as brain: fastnbt::Value, "DeathTime" as death_time: i16, "FallFlying" as fall_flying: bool, "Health" as health: f32, "HurtByTimestamp" as hurt_by_timestamp: i32, "HurtTime" as hurt_time: i16, optional "SleepingX" as sleeping_x: i32, optional "SleepingY" as sleeping_y: i32, optional "SleepingZ" as sleeping_z: i32 }
1828        Llama > AbstractChestedHorse { optional "DecorItem" as decor_item: super::compounds::ItemStack_save_2, "Strength" as strength: i32, "Variant" as variant: i32 }
1829        LlamaSpit > Projectile {  }
1830        MagmaCube > Slime {  }
1831        Marker > Entity { "data" as data: HashMap<CowStr, fastnbt::Value> }
1832        Minecart > AbstractMinecart {  }
1833        MinecartChest > AbstractMinecartContainer {  }
1834        MinecartCommandBlock > AbstractMinecart { "Command" as command: CowStr, "CustomName" as custom_name: CowStr, optional "LastExecution" as last_execution: i64, optional "LastOutput" as last_output: CowStr, "SuccessCount" as success_count: i32, "TrackOutput" as track_output: bool, "UpdateLastExecution" as update_last_execution: bool }
1835        MinecartFurnace > AbstractMinecart { "Fuel" as fuel: i16, "PushX" as push_x: f64, "PushZ" as push_z: f64 }
1836        MinecartHopper > AbstractMinecartContainer { "Enabled" as enabled: bool, "TransferCooldown" as transfer_cooldown: i32 }
1837        MinecartSpawner > AbstractMinecart { "Delay" as delay: i16, "MaxNearbyEntities" as max_nearby_entities: i16, "MaxSpawnDelay" as max_spawn_delay: i16, "MinSpawnDelay" as min_spawn_delay: i16, "RequiredPlayerRange" as required_player_range: i16, "SpawnCount" as spawn_count: i16, "SpawnData" as spawn_data: fastnbt::Value, "SpawnPotentials" as spawn_potentials: fastnbt::Value, "SpawnRange" as spawn_range: i16 }
1838        MinecartTNT > AbstractMinecart { "TNTFuse" as tnt_fuse: i32 }
1839        Mob > LivingEntity { "ArmorDropChances" as armor_drop_chances: Vec<f32>, "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save>, "CanPickUpLoot" as can_pick_up_loot: bool, optional "DeathLootTable" as death_loot_table: CowStr, optional "DeathLootTableSeed" as death_loot_table_seed: i64, "HandDropChances" as hand_drop_chances: Vec<f32>, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save>, optional "Leash" as leash: super::compounds::Compound5, "LeftHanded" as left_handed: bool, optional "NoAI" as no_ai: bool, "PersistenceRequired" as persistence_required: bool }
1840        Monster > PathfinderMob {  }
1841        Mule > AbstractChestedHorse {  }
1842        MushroomCow > Cow { optional "EffectDuration" as effect_duration: i32, optional "EffectId" as effect_id: i8, "Type" as r#type: CowStr }
1843        Ocelot > Animal { "Trusting" as trusting: bool }
1844        Painting > HangingEntity { "Facing" as facing: i8, "Motive" as motive: CowStr }
1845        Panda > Animal { "HiddenGene" as hidden_gene: CowStr, "MainGene" as main_gene: CowStr }
1846        Parrot > ShoulderRidingEntity { "Variant" as variant: i32 }
1847        PathfinderMob > Mob {  }
1848        PatrollingMonster > Monster { "PatrolLeader" as patrol_leader: bool, optional "PatrolTarget" as patrol_target: super::compounds::NbtUtils_writeBlockPos, "Patrolling" as patrolling: bool }
1849        Phantom > FlyingMob { "AX" as ax: i32, "AY" as ay: i32, "AZ" as az: i32, "Size" as size: i32 }
1850        Pig > Animal { "Saddle" as saddle: bool }
1851        Piglin > AbstractPiglin { optional "CannotHunt" as cannot_hunt: bool, "Inventory" as inventory: Vec<super::compounds::ItemStack_save_2>, optional "IsBaby" as is_baby: bool }
1852        PiglinBrute > AbstractPiglin {  }
1853        Pillager > AbstractIllager { "Inventory" as inventory: Vec<super::compounds::ItemStack_save_2> }
1854        PolarBear > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
1855        PrimedTnt > Entity { "Fuse" as fuse: i16 }
1856        Projectile > Entity { "HasBeenShot" as has_been_shot: bool, optional "LeftOwner" as left_owner: bool, optional "Owner" as owner: u128 }
1857        Pufferfish > AbstractFish { "PuffState" as puff_state: i32 }
1858        Rabbit > Animal { "MoreCarrotTicks" as more_carrot_ticks: i32, "RabbitType" as rabbit_type: i32 }
1859        Raider > PatrollingMonster { "CanJoinRaid" as can_join_raid: bool, optional "RaidId" as raid_id: i32, "Wave" as wave: i32 }
1860        Ravager > Raider { "AttackTick" as attack_tick: i32, "RoarTick" as roar_tick: i32, "StunTick" as stun_tick: i32 }
1861        Salmon > AbstractSchoolingFish {  }
1862        Sheep > Animal { "Color" as color: i8, "Sheared" as sheared: bool }
1863        ShoulderRidingEntity > TamableAnimal {  }
1864        Shulker > AbstractGolem { "AttachFace" as attach_face: i8, "Color" as color: i8, "Peek" as peek: i8 }
1865        ShulkerBullet > Projectile { optional "Dir" as dir: i32, "Steps" as steps: i32, "TXD" as txd: f64, "TYD" as tyd: f64, "TZD" as tzd: f64, optional "Target" as target: u128 }
1866        Silverfish > Monster {  }
1867        Skeleton > AbstractSkeleton { "StrayConversionTime" as stray_conversion_time: i32 }
1868        SkeletonHorse > AbstractHorse { "SkeletonTrap" as skeleton_trap: bool, "SkeletonTrapTime" as skeleton_trap_time: i32 }
1869        Slime > Mob { "Size" as size: i32, "wasOnGround" as was_on_ground: bool }
1870        SmallFireball > Fireball {  }
1871        SnowGolem > AbstractGolem { "Pumpkin" as pumpkin: bool }
1872        Snowball > ThrowableItemProjectile {  }
1873        SpectralArrow > AbstractArrow { "Duration" as duration: i32 }
1874        SpellcasterIllager > AbstractIllager { "SpellTicks" as spell_ticks: i32 }
1875        Spider > Monster {  }
1876        Squid > WaterAnimal {  }
1877        Stray > AbstractSkeleton {  }
1878        Strider > Animal { "Saddle" as saddle: bool }
1879        TamableAnimal > Animal { optional "Owner" as owner: u128, "Sitting" as sitting: bool }
1880        ThrowableItemProjectile > ThrowableProjectile { optional "Item" as item: super::compounds::ItemStack_save_2 }
1881        ThrowableProjectile > Projectile {  }
1882        ThrownEgg > ThrowableItemProjectile {  }
1883        ThrownEnderpearl > ThrowableItemProjectile {  }
1884        ThrownExperienceBottle > ThrowableItemProjectile {  }
1885        ThrownPotion > ThrowableItemProjectile {  }
1886        ThrownTrident > AbstractArrow { "DealtDamage" as dealt_damage: bool, "Trident" as trident: super::compounds::ItemStack_save_2 }
1887        TraderLlama > Llama { "DespawnDelay" as despawn_delay: i32 }
1888        TropicalFish > AbstractSchoolingFish { "Variant" as variant: i32 }
1889        Turtle > Animal { "HasEgg" as has_egg: bool, "HomePosX" as home_pos_x: i32, "HomePosY" as home_pos_y: i32, "HomePosZ" as home_pos_z: i32, "TravelPosX" as travel_pos_x: i32, "TravelPosY" as travel_pos_y: i32, "TravelPosZ" as travel_pos_z: i32 }
1890        Vex > Monster { optional "BoundX" as bound_x: i32, optional "BoundY" as bound_y: i32, optional "BoundZ" as bound_z: i32, optional "LifeTicks" as life_ticks: i32 }
1891        Villager > AbstractVillager { optional "AssignProfessionWhenSpawned" as assign_profession_when_spawned: bool, "FoodLevel" as food_level: i8, "Gossips" as gossips: fastnbt::Value, "LastGossipDecay" as last_gossip_decay: i64, "LastRestock" as last_restock: i64, "RestocksToday" as restocks_today: i32, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
1892        Vindicator > AbstractIllager { optional "Johnny" as johnny: bool }
1893        WanderingTrader > AbstractVillager { "DespawnDelay" as despawn_delay: i32, optional "WanderTarget" as wander_target: super::compounds::NbtUtils_writeBlockPos }
1894        WaterAnimal > PathfinderMob {  }
1895        Witch > Raider {  }
1896        WitherBoss > Monster { "Invul" as invul: i32 }
1897        WitherSkeleton > AbstractSkeleton {  }
1898        WitherSkull > AbstractHurtingProjectile {  }
1899        Wolf > TamableAnimal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CollarColor" as collar_color: i8 }
1900        Zoglin > Monster { optional "IsBaby" as is_baby: bool }
1901        Zombie > Monster { "CanBreakDoors" as can_break_doors: bool, "DrownedConversionTime" as drowned_conversion_time: i32, "InWaterTime" as in_water_time: i32, "IsBaby" as is_baby: bool }
1902        ZombieHorse > AbstractHorse {  }
1903        ZombieVillager > Zombie { optional "ConversionPlayer" as conversion_player: u128, "ConversionTime" as conversion_time: i32, optional "Gossips" as gossips: fastnbt::Value, optional "Offers" as offers: HashMap<CowStr, fastnbt::Value>, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
1904        ZombifiedPiglin > Zombie { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
1905    }
1906
1907    entity_compound_types! {
1908        "1.18";
1909        ArmorStand_writePose { optional "Body" as body: Vec<f32>, optional "Head" as head: Vec<f32>, optional "LeftArm" as left_arm: Vec<f32>, optional "LeftLeg" as left_leg: Vec<f32>, optional "RightArm" as right_arm: Vec<f32>, optional "RightLeg" as right_leg: Vec<f32> }
1910        AttributeInstance_save { "Base" as base: f64, optional "Modifiers" as modifiers: Vec<super::compounds::AttributeModifier_save>, "Name" as name: CowStr }
1911        AttributeModifier_save { "Amount" as amount: f64, "Name" as name: CowStr, "Operation" as operation: i32, "UUID" as uuid: u128 }
1912        Compound5 { optional "UUID" as uuid: u128, optional "X" as x: i32, optional "Y" as y: i32, optional "Z" as z: i32 }
1913        ItemStack_save { optional "Count" as count: i8, optional "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
1914        ItemStack_save_1 { "Count" as count: i8, "Slot" as slot: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
1915        ItemStack_save_2 { "Count" as count: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
1916        MerchantOffer_createTag { "buy" as buy: super::compounds::ItemStack_save_2, "buyB" as buy_b: super::compounds::ItemStack_save_2, "demand" as demand: i32, "maxUses" as max_uses: i32, "priceMultiplier" as price_multiplier: f32, "rewardExp" as reward_exp: bool, "sell" as sell: super::compounds::ItemStack_save_2, "specialPrice" as special_price: i32, "uses" as uses: i32, "xp" as xp: i32 }
1917        MerchantOffers_createTag { "Recipes" as recipes: Vec<super::compounds::MerchantOffer_createTag> }
1918        MobEffectInstance_save { "Ambient" as ambient: bool, "Amplifier" as amplifier: i8, "Duration" as duration: i32, optional "HiddenEffect" as hidden_effect: Box<super::compounds::MobEffectInstance_save>, "Id" as id: i8, "ShowIcon" as show_icon: bool, "ShowParticles" as show_particles: bool }
1919        NbtUtils_writeBlockPos { "X" as x: i32, "Y" as y: i32, "Z" as z: i32 }
1920    }
1921}
1922
1923/// Accompanying types for entities in Minecraft 1.19.
1924#[cfg(feature = "1.19")]
1925pub mod mc1_19 {
1926    entities! {
1927        "1.19", mc1_19;
1928        "minecraft:allay", Allay: Allay;
1929        "minecraft:area_effect_cloud", AreaEffectCloud: AreaEffectCloud;
1930        "minecraft:armor_stand", ArmorStand: ArmorStand;
1931        "minecraft:arrow", Arrow: Arrow;
1932        "minecraft:axolotl", Axolotl: Axolotl;
1933        "minecraft:bat", Bat: Bat;
1934        "minecraft:bee", Bee: Bee;
1935        "minecraft:blaze", Blaze: Blaze;
1936        "minecraft:boat", Boat: Boat;
1937        "minecraft:cat", Cat: Cat;
1938        "minecraft:cave_spider", CaveSpider: CaveSpider;
1939        "minecraft:chest_boat", ChestBoat: ChestBoat;
1940        "minecraft:chest_minecart", ChestMinecart: MinecartChest;
1941        "minecraft:chicken", Chicken: Chicken;
1942        "minecraft:cod", Cod: Cod;
1943        "minecraft:command_block_minecart", CommandBlockMinecart: MinecartCommandBlock;
1944        "minecraft:cow", Cow: Cow;
1945        "minecraft:creeper", Creeper: Creeper;
1946        "minecraft:dolphin", Dolphin: Dolphin;
1947        "minecraft:donkey", Donkey: Donkey;
1948        "minecraft:dragon_fireball", DragonFireball: DragonFireball;
1949        "minecraft:drowned", Drowned: Drowned;
1950        "minecraft:egg", Egg: ThrownEgg;
1951        "minecraft:elder_guardian", ElderGuardian: ElderGuardian;
1952        "minecraft:end_crystal", EndCrystal: EndCrystal;
1953        "minecraft:ender_dragon", EnderDragon: EnderDragon;
1954        "minecraft:ender_pearl", EnderPearl: ThrownEnderpearl;
1955        "minecraft:enderman", Enderman: EnderMan;
1956        "minecraft:endermite", Endermite: Endermite;
1957        "minecraft:evoker", Evoker: Evoker;
1958        "minecraft:evoker_fangs", EvokerFangs: EvokerFangs;
1959        "minecraft:experience_bottle", ExperienceBottle: ThrownExperienceBottle;
1960        "minecraft:experience_orb", ExperienceOrb: ExperienceOrb;
1961        "minecraft:eye_of_ender", EyeOfEnder: EyeOfEnder;
1962        "minecraft:falling_block", FallingBlock: FallingBlockEntity;
1963        "minecraft:fireball", Fireball: LargeFireball;
1964        "minecraft:firework_rocket", FireworkRocket: FireworkRocketEntity;
1965        "minecraft:fishing_bobber", FishingBobber: FishingHook;
1966        "minecraft:fox", Fox: Fox;
1967        "minecraft:frog", Frog: Frog;
1968        "minecraft:furnace_minecart", FurnaceMinecart: MinecartFurnace;
1969        "minecraft:ghast", Ghast: Ghast;
1970        "minecraft:giant", Giant: Giant;
1971        "minecraft:glow_item_frame", GlowItemFrame: GlowItemFrame;
1972        "minecraft:glow_squid", GlowSquid: GlowSquid;
1973        "minecraft:goat", Goat: Goat;
1974        "minecraft:guardian", Guardian: Guardian;
1975        "minecraft:hoglin", Hoglin: Hoglin;
1976        "minecraft:hopper_minecart", HopperMinecart: MinecartHopper;
1977        "minecraft:horse", Horse: Horse;
1978        "minecraft:husk", Husk: Husk;
1979        "minecraft:illusioner", Illusioner: Illusioner;
1980        "minecraft:iron_golem", IronGolem: IronGolem;
1981        "minecraft:item", Item: ItemEntity;
1982        "minecraft:item_frame", ItemFrame: ItemFrame;
1983        "minecraft:leash_knot", LeashKnot: LeashFenceKnotEntity;
1984        "minecraft:lightning_bolt", LightningBolt: LightningBolt;
1985        "minecraft:llama", Llama: Llama;
1986        "minecraft:llama_spit", LlamaSpit: LlamaSpit;
1987        "minecraft:magma_cube", MagmaCube: MagmaCube;
1988        "minecraft:marker", Marker: Marker;
1989        "minecraft:minecart", Minecart: Minecart;
1990        "minecraft:mooshroom", Mooshroom: MushroomCow;
1991        "minecraft:mule", Mule: Mule;
1992        "minecraft:ocelot", Ocelot: Ocelot;
1993        "minecraft:painting", Painting: Painting;
1994        "minecraft:panda", Panda: Panda;
1995        "minecraft:parrot", Parrot: Parrot;
1996        "minecraft:phantom", Phantom: Phantom;
1997        "minecraft:pig", Pig: Pig;
1998        "minecraft:piglin", Piglin: Piglin;
1999        "minecraft:piglin_brute", PiglinBrute: PiglinBrute;
2000        "minecraft:pillager", Pillager: Pillager;
2001        "minecraft:polar_bear", PolarBear: PolarBear;
2002        "minecraft:potion", Potion: ThrownPotion;
2003        "minecraft:pufferfish", Pufferfish: Pufferfish;
2004        "minecraft:rabbit", Rabbit: Rabbit;
2005        "minecraft:ravager", Ravager: Ravager;
2006        "minecraft:salmon", Salmon: Salmon;
2007        "minecraft:sheep", Sheep: Sheep;
2008        "minecraft:shulker", Shulker: Shulker;
2009        "minecraft:shulker_bullet", ShulkerBullet: ShulkerBullet;
2010        "minecraft:silverfish", Silverfish: Silverfish;
2011        "minecraft:skeleton", Skeleton: Skeleton;
2012        "minecraft:skeleton_horse", SkeletonHorse: SkeletonHorse;
2013        "minecraft:slime", Slime: Slime;
2014        "minecraft:small_fireball", SmallFireball: SmallFireball;
2015        "minecraft:snow_golem", SnowGolem: SnowGolem;
2016        "minecraft:snowball", Snowball: Snowball;
2017        "minecraft:spawner_minecart", SpawnerMinecart: MinecartSpawner;
2018        "minecraft:spectral_arrow", SpectralArrow: SpectralArrow;
2019        "minecraft:spider", Spider: Spider;
2020        "minecraft:squid", Squid: Squid;
2021        "minecraft:stray", Stray: Stray;
2022        "minecraft:strider", Strider: Strider;
2023        "minecraft:tadpole", Tadpole: Tadpole;
2024        "minecraft:tnt", Tnt: PrimedTnt;
2025        "minecraft:tnt_minecart", TntMinecart: MinecartTNT;
2026        "minecraft:trader_llama", TraderLlama: TraderLlama;
2027        "minecraft:trident", Trident: ThrownTrident;
2028        "minecraft:tropical_fish", TropicalFish: TropicalFish;
2029        "minecraft:turtle", Turtle: Turtle;
2030        "minecraft:vex", Vex: Vex;
2031        "minecraft:villager", Villager: Villager;
2032        "minecraft:vindicator", Vindicator: Vindicator;
2033        "minecraft:wandering_trader", WanderingTrader: WanderingTrader;
2034        "minecraft:warden", Warden: Warden;
2035        "minecraft:witch", Witch: Witch;
2036        "minecraft:wither", Wither: WitherBoss;
2037        "minecraft:wither_skeleton", WitherSkeleton: WitherSkeleton;
2038        "minecraft:wither_skull", WitherSkull: WitherSkull;
2039        "minecraft:wolf", Wolf: Wolf;
2040        "minecraft:zoglin", Zoglin: Zoglin;
2041        "minecraft:zombie", Zombie: Zombie;
2042        "minecraft:zombie_horse", ZombieHorse: ZombieHorse;
2043        "minecraft:zombie_villager", ZombieVillager: ZombieVillager;
2044        "minecraft:zombified_piglin", ZombifiedPiglin: ZombifiedPiglin;
2045    }
2046
2047    entity_types! {
2048        "1.19";
2049        AbstractArrow > Projectile { "PierceLevel" as pierce_level: i8, "ShotFromCrossbow" as shot_from_crossbow: bool, "SoundEvent" as sound_event: CowStr, "crit" as crit: bool, "damage" as damage: f64, optional "inBlockState" as in_block_state: super::BlockState, "inGround" as in_ground: bool, "life" as life: i16, "pickup" as pickup: i8, "shake" as shake: i8 }
2050        AbstractChestedHorse > AbstractHorse { "ChestedHorse" as chested_horse: bool, optional "Items" as items: Vec<super::compounds::ItemStack_save_2> }
2051        AbstractFish > WaterAnimal { "FromBucket" as from_bucket: bool }
2052        AbstractGolem > PathfinderMob {  }
2053        AbstractHorse > Animal { "Bred" as bred: bool, "EatingHaystack" as eating_haystack: bool, optional "Owner" as owner: u128, optional "SaddleItem" as saddle_item: super::compounds::ItemStack_save, "Tame" as tame: bool, "Temper" as temper: i32 }
2054        AbstractHurtingProjectile > Projectile { "power" as power: Vec<f64> }
2055        AbstractIllager > Raider {  }
2056        AbstractMinecart > Entity { optional "CustomDisplayTile" as custom_display_tile: bool, optional "DisplayOffset" as display_offset: i32, optional "DisplayState" as display_state: super::BlockState }
2057        AbstractMinecartContainer > AbstractMinecart { optional "Items" as items: Vec<super::compounds::ItemStack_save_2>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
2058        AbstractPiglin > Monster { optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
2059        AbstractSchoolingFish > AbstractFish {  }
2060        AbstractSkeleton > Monster {  }
2061        AbstractVillager > AgeableMob { "Inventory" as inventory: Vec<super::compounds::ItemStack_save>, optional "Offers" as offers: super::compounds::MerchantOffers_createTag }
2062        AgeableMob > PathfinderMob { "Age" as age: i32, "ForcedAge" as forced_age: i32 }
2063        Allay > PathfinderMob { "Inventory" as inventory: Vec<super::compounds::ItemStack_save>, optional "listener" as listener: fastnbt::Value }
2064        AmbientCreature > Mob {  }
2065        Animal > AgeableMob { "InLove" as in_love: i32, optional "LoveCause" as love_cause: u128 }
2066        AreaEffectCloud > Entity { "Age" as age: i32, optional "Color" as color: i32, "Duration" as duration: i32, "DurationOnUse" as duration_on_use: i32, optional "Effects" as effects: Vec<super::compounds::MobEffectInstance_save>, optional "Owner" as owner: u128, "Particle" as particle: CowStr, optional "Potion" as potion: CowStr, "Radius" as radius: f32, "RadiusOnUse" as radius_on_use: f32, "RadiusPerTick" as radius_per_tick: f32, "ReapplicationDelay" as reapplication_delay: i32, "WaitTime" as wait_time: i32 }
2067        ArmorStand > LivingEntity { "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save_1>, "DisabledSlots" as disabled_slots: i32, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save_1>, "Invisible" as invisible: bool, optional "Marker" as marker: bool, "NoBasePlate" as no_base_plate: bool, "Pose" as pose: super::compounds::ArmorStand_writePose, "ShowArms" as show_arms: bool, "Small" as small: bool }
2068        Arrow > AbstractArrow { optional "Color" as color: i32, optional "CustomPotionEffects" as custom_potion_effects: Vec<super::compounds::MobEffectInstance_save>, optional "Potion" as potion: CowStr }
2069        Axolotl > Animal { "FromBucket" as from_bucket: bool, "Variant" as variant: i32 }
2070        Bat > AmbientCreature { "BatFlags" as bat_flags: i8 }
2071        Bee > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CannotEnterHiveTicks" as cannot_enter_hive_ticks: i32, "CropsGrownSincePollination" as crops_grown_since_pollination: i32, optional "FlowerPos" as flower_pos: super::compounds::NbtUtils_writeBlockPos, "HasNectar" as has_nectar: bool, "HasStung" as has_stung: bool, optional "HivePos" as hive_pos: super::compounds::NbtUtils_writeBlockPos, "TicksSincePollination" as ticks_since_pollination: i32 }
2072        Blaze > Monster {  }
2073        Boat > Entity { "Type" as r#type: CowStr }
2074        Cat > TamableAnimal { "CollarColor" as collar_color: i8, "variant" as variant: CowStr }
2075        CaveSpider > Spider {  }
2076        ChestBoat > Boat { optional "Items" as items: Vec<super::compounds::ItemStack_save_2>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
2077        Chicken > Animal { "EggLayTime" as egg_lay_time: i32, "IsChickenJockey" as is_chicken_jockey: bool }
2078        Cod > AbstractSchoolingFish {  }
2079        Cow > Animal {  }
2080        Creeper > Monster { "ExplosionRadius" as explosion_radius: i8, "Fuse" as fuse: i16, "ignited" as ignited: bool, optional "powered" as powered: bool }
2081        Dolphin > WaterAnimal { "GotFish" as got_fish: bool, "Moistness" as moistness: i32, "TreasurePosX" as treasure_pos_x: i32, "TreasurePosY" as treasure_pos_y: i32, "TreasurePosZ" as treasure_pos_z: i32 }
2082        Donkey > AbstractChestedHorse {  }
2083        DragonFireball > AbstractHurtingProjectile {  }
2084        Drowned > Zombie {  }
2085        ElderGuardian > Guardian {  }
2086        EndCrystal > Entity { optional "BeamTarget" as beam_target: super::compounds::NbtUtils_writeBlockPos, "ShowBottom" as show_bottom: bool }
2087        EnderDragon > Mob { "DragonDeathTime" as dragon_death_time: i32, "DragonPhase" as dragon_phase: i32 }
2088        EnderMan > Monster { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, optional "carriedBlockState" as carried_block_state: super::BlockState }
2089        Endermite > Monster { "Lifetime" as lifetime: i32 }
2090        Entity { "Air" as air: i16, optional "CustomName" as custom_name: CowStr, optional "CustomNameVisible" as custom_name_visible: bool, "FallDistance" as fall_distance: f32, "Fire" as fire: i16, optional "Glowing" as glowing: bool, optional "HasVisualFire" as has_visual_fire: bool, "Invulnerable" as invulnerable: bool, "Motion" as motion: Vec<f64>, optional "NoGravity" as no_gravity: bool, "OnGround" as on_ground: bool, optional "Passengers" as passengers: Vec<Box<super::Entity>>, "PortalCooldown" as portal_cooldown: i32, optional "Pos" as pos: Vec<f64>, "Rotation" as rotation: Vec<f32>, optional "Silent" as silent: bool, optional "Tags" as tags: Vec<CowStr>, optional "TicksFrozen" as ticks_frozen: i32, "UUID" as uuid: u128 }
2091        Evoker > SpellcasterIllager {  }
2092        EvokerFangs > Entity { optional "Owner" as owner: u128, "Warmup" as warmup: i32 }
2093        ExperienceOrb > Entity { "Age" as age: i16, "Count" as count: i32, "Health" as health: i16, "Value" as value: i16 }
2094        EyeOfEnder > Entity { optional "Item" as item: super::compounds::ItemStack_save }
2095        FallingBlockEntity > Entity { "BlockState" as block_state: super::BlockState, "DropItem" as drop_item: bool, "FallHurtAmount" as fall_hurt_amount: f32, "FallHurtMax" as fall_hurt_max: i32, "HurtEntities" as hurt_entities: bool, optional "TileEntityData" as tile_entity_data: HashMap<CowStr, fastnbt::Value>, "Time" as time: i32 }
2096        Fireball > AbstractHurtingProjectile { optional "Item" as item: super::compounds::ItemStack_save }
2097        FireworkRocketEntity > Projectile { optional "FireworksItem" as fireworks_item: super::compounds::ItemStack_save, "Life" as life: i32, "LifeTime" as life_time: i32, "ShotAtAngle" as shot_at_angle: bool }
2098        FishingHook > Projectile {  }
2099        FlyingMob > Mob {  }
2100        Fox > Animal { "Crouching" as crouching: bool, "Sitting" as sitting: bool, "Sleeping" as sleeping: bool, "Trusted" as trusted: Vec<fastnbt::IntArray>, "Type" as r#type: CowStr }
2101        Frog > Animal { "variant" as variant: CowStr }
2102        Ghast > FlyingMob { "ExplosionPower" as explosion_power: i8 }
2103        Giant > Monster {  }
2104        GlowItemFrame > ItemFrame {  }
2105        GlowSquid > Squid { "DarkTicksRemaining" as dark_ticks_remaining: i32 }
2106        Goat > Animal { "HasLeftHorn" as has_left_horn: bool, "HasRightHorn" as has_right_horn: bool, "IsScreamingGoat" as is_screaming_goat: bool }
2107        Guardian > Monster {  }
2108        HangingEntity > Entity { "TileX" as tile_x: i32, "TileY" as tile_y: i32, "TileZ" as tile_z: i32 }
2109        Hoglin > Animal { optional "CannotBeHunted" as cannot_be_hunted: bool, optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
2110        Horse > AbstractHorse { optional "ArmorItem" as armor_item: super::compounds::ItemStack_save, "Variant" as variant: i32 }
2111        Husk > Zombie {  }
2112        Illusioner > SpellcasterIllager {  }
2113        IronGolem > AbstractGolem { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "PlayerCreated" as player_created: bool }
2114        ItemEntity > Entity { "Age" as age: i16, "Health" as health: i16, optional "Item" as item: super::compounds::ItemStack_save, optional "Owner" as owner: u128, "PickupDelay" as pickup_delay: i16, optional "Thrower" as thrower: u128 }
2115        ItemFrame > HangingEntity { "Facing" as facing: i8, "Fixed" as fixed: bool, "Invisible" as invisible: bool, optional "Item" as item: super::compounds::ItemStack_save, optional "ItemDropChance" as item_drop_chance: f32, optional "ItemRotation" as item_rotation: i8 }
2116        LargeFireball > Fireball { "ExplosionPower" as explosion_power: i8 }
2117        LeashFenceKnotEntity > HangingEntity {  }
2118        LightningBolt > Entity {  }
2119        LivingEntity > Entity { "AbsorptionAmount" as absorption_amount: f32, optional "ActiveEffects" as active_effects: Vec<super::compounds::MobEffectInstance_save>, "Attributes" as attributes: Vec<super::compounds::AttributeInstance_save>, optional "Brain" as brain: fastnbt::Value, "DeathTime" as death_time: i16, "FallFlying" as fall_flying: bool, "Health" as health: f32, "HurtByTimestamp" as hurt_by_timestamp: i32, "HurtTime" as hurt_time: i16, optional "SleepingX" as sleeping_x: i32, optional "SleepingY" as sleeping_y: i32, optional "SleepingZ" as sleeping_z: i32 }
2120        Llama > AbstractChestedHorse { optional "DecorItem" as decor_item: super::compounds::ItemStack_save, "Strength" as strength: i32, "Variant" as variant: i32 }
2121        LlamaSpit > Projectile {  }
2122        MagmaCube > Slime {  }
2123        Marker > Entity { "data" as data: HashMap<CowStr, fastnbt::Value> }
2124        Minecart > AbstractMinecart {  }
2125        MinecartChest > AbstractMinecartContainer {  }
2126        MinecartCommandBlock > AbstractMinecart { "Command" as command: CowStr, "CustomName" as custom_name: CowStr, optional "LastExecution" as last_execution: i64, optional "LastOutput" as last_output: CowStr, "SuccessCount" as success_count: i32, "TrackOutput" as track_output: bool, "UpdateLastExecution" as update_last_execution: bool }
2127        MinecartFurnace > AbstractMinecart { "Fuel" as fuel: i16, "PushX" as push_x: f64, "PushZ" as push_z: f64 }
2128        MinecartHopper > AbstractMinecartContainer { "Enabled" as enabled: bool, "TransferCooldown" as transfer_cooldown: i32 }
2129        MinecartSpawner > AbstractMinecart { "Delay" as delay: i16, "MaxNearbyEntities" as max_nearby_entities: i16, "MaxSpawnDelay" as max_spawn_delay: i16, "MinSpawnDelay" as min_spawn_delay: i16, "RequiredPlayerRange" as required_player_range: i16, "SpawnCount" as spawn_count: i16, "SpawnData" as spawn_data: fastnbt::Value, "SpawnPotentials" as spawn_potentials: fastnbt::Value, "SpawnRange" as spawn_range: i16 }
2130        MinecartTNT > AbstractMinecart { "TNTFuse" as tnt_fuse: i32 }
2131        Mob > LivingEntity { "ArmorDropChances" as armor_drop_chances: Vec<f32>, "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save_1>, "CanPickUpLoot" as can_pick_up_loot: bool, optional "DeathLootTable" as death_loot_table: CowStr, optional "DeathLootTableSeed" as death_loot_table_seed: i64, "HandDropChances" as hand_drop_chances: Vec<f32>, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save_1>, optional "Leash" as leash: super::compounds::Compound2, "LeftHanded" as left_handed: bool, optional "NoAI" as no_ai: bool, "PersistenceRequired" as persistence_required: bool }
2132        Monster > PathfinderMob {  }
2133        Mule > AbstractChestedHorse {  }
2134        MushroomCow > Cow { optional "EffectDuration" as effect_duration: i32, optional "EffectId" as effect_id: i32, "Type" as r#type: CowStr }
2135        Ocelot > Animal { "Trusting" as trusting: bool }
2136        Painting > HangingEntity { "facing" as facing: i8, "variant" as variant: CowStr }
2137        Panda > Animal { "HiddenGene" as hidden_gene: CowStr, "MainGene" as main_gene: CowStr }
2138        Parrot > ShoulderRidingEntity { "Variant" as variant: i32 }
2139        PathfinderMob > Mob {  }
2140        PatrollingMonster > Monster { "PatrolLeader" as patrol_leader: bool, optional "PatrolTarget" as patrol_target: super::compounds::NbtUtils_writeBlockPos, "Patrolling" as patrolling: bool }
2141        Phantom > FlyingMob { "AX" as ax: i32, "AY" as ay: i32, "AZ" as az: i32, "Size" as size: i32 }
2142        Pig > Animal { "Saddle" as saddle: bool }
2143        Piglin > AbstractPiglin { optional "CannotHunt" as cannot_hunt: bool, "Inventory" as inventory: Vec<super::compounds::ItemStack_save>, optional "IsBaby" as is_baby: bool }
2144        PiglinBrute > AbstractPiglin {  }
2145        Pillager > AbstractIllager { "Inventory" as inventory: Vec<super::compounds::ItemStack_save> }
2146        PolarBear > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
2147        PrimedTnt > Entity { "Fuse" as fuse: i16 }
2148        Projectile > Entity { "HasBeenShot" as has_been_shot: bool, optional "LeftOwner" as left_owner: bool, optional "Owner" as owner: u128 }
2149        Pufferfish > AbstractFish { "PuffState" as puff_state: i32 }
2150        Rabbit > Animal { "MoreCarrotTicks" as more_carrot_ticks: i32, "RabbitType" as rabbit_type: i32 }
2151        Raider > PatrollingMonster { "CanJoinRaid" as can_join_raid: bool, optional "RaidId" as raid_id: i32, "Wave" as wave: i32 }
2152        Ravager > Raider { "AttackTick" as attack_tick: i32, "RoarTick" as roar_tick: i32, "StunTick" as stun_tick: i32 }
2153        Salmon > AbstractSchoolingFish {  }
2154        Sheep > Animal { "Color" as color: i8, "Sheared" as sheared: bool }
2155        ShoulderRidingEntity > TamableAnimal {  }
2156        Shulker > AbstractGolem { "AttachFace" as attach_face: i8, "Color" as color: i8, "Peek" as peek: i8 }
2157        ShulkerBullet > Projectile { optional "Dir" as dir: i32, "Steps" as steps: i32, "TXD" as txd: f64, "TYD" as tyd: f64, "TZD" as tzd: f64, optional "Target" as target: u128 }
2158        Silverfish > Monster {  }
2159        Skeleton > AbstractSkeleton { "StrayConversionTime" as stray_conversion_time: i32 }
2160        SkeletonHorse > AbstractHorse { "SkeletonTrap" as skeleton_trap: bool, "SkeletonTrapTime" as skeleton_trap_time: i32 }
2161        Slime > Mob { "Size" as size: i32, "wasOnGround" as was_on_ground: bool }
2162        SmallFireball > Fireball {  }
2163        SnowGolem > AbstractGolem { "Pumpkin" as pumpkin: bool }
2164        Snowball > ThrowableItemProjectile {  }
2165        SpectralArrow > AbstractArrow { "Duration" as duration: i32 }
2166        SpellcasterIllager > AbstractIllager { "SpellTicks" as spell_ticks: i32 }
2167        Spider > Monster {  }
2168        Squid > WaterAnimal {  }
2169        Stray > AbstractSkeleton {  }
2170        Strider > Animal { "Saddle" as saddle: bool }
2171        Tadpole > AbstractFish { "Age" as age: i32 }
2172        TamableAnimal > Animal { optional "Owner" as owner: u128, "Sitting" as sitting: bool }
2173        ThrowableItemProjectile > ThrowableProjectile { optional "Item" as item: super::compounds::ItemStack_save }
2174        ThrowableProjectile > Projectile {  }
2175        ThrownEgg > ThrowableItemProjectile {  }
2176        ThrownEnderpearl > ThrowableItemProjectile {  }
2177        ThrownExperienceBottle > ThrowableItemProjectile {  }
2178        ThrownPotion > ThrowableItemProjectile {  }
2179        ThrownTrident > AbstractArrow { "DealtDamage" as dealt_damage: bool, "Trident" as trident: super::compounds::ItemStack_save }
2180        TraderLlama > Llama { "DespawnDelay" as despawn_delay: i32 }
2181        TropicalFish > AbstractSchoolingFish { "Variant" as variant: i32 }
2182        Turtle > Animal { "HasEgg" as has_egg: bool, "HomePosX" as home_pos_x: i32, "HomePosY" as home_pos_y: i32, "HomePosZ" as home_pos_z: i32, "TravelPosX" as travel_pos_x: i32, "TravelPosY" as travel_pos_y: i32, "TravelPosZ" as travel_pos_z: i32 }
2183        Vex > Monster { optional "BoundX" as bound_x: i32, optional "BoundY" as bound_y: i32, optional "BoundZ" as bound_z: i32, optional "LifeTicks" as life_ticks: i32 }
2184        Villager > AbstractVillager { optional "AssignProfessionWhenSpawned" as assign_profession_when_spawned: bool, "FoodLevel" as food_level: i8, "Gossips" as gossips: fastnbt::Value, "LastGossipDecay" as last_gossip_decay: i64, "LastRestock" as last_restock: i64, "RestocksToday" as restocks_today: i32, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
2185        Vindicator > AbstractIllager { optional "Johnny" as johnny: bool }
2186        WanderingTrader > AbstractVillager { "DespawnDelay" as despawn_delay: i32, optional "WanderTarget" as wander_target: super::compounds::NbtUtils_writeBlockPos }
2187        Warden > Monster { optional "anger" as anger: fastnbt::Value, optional "listener" as listener: fastnbt::Value }
2188        WaterAnimal > PathfinderMob {  }
2189        Witch > Raider {  }
2190        WitherBoss > Monster { "Invul" as invul: i32 }
2191        WitherSkeleton > AbstractSkeleton {  }
2192        WitherSkull > AbstractHurtingProjectile {  }
2193        Wolf > TamableAnimal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CollarColor" as collar_color: i8 }
2194        Zoglin > Monster { optional "IsBaby" as is_baby: bool }
2195        Zombie > Monster { "CanBreakDoors" as can_break_doors: bool, "DrownedConversionTime" as drowned_conversion_time: i32, "InWaterTime" as in_water_time: i32, "IsBaby" as is_baby: bool }
2196        ZombieHorse > AbstractHorse {  }
2197        ZombieVillager > Zombie { optional "ConversionPlayer" as conversion_player: u128, "ConversionTime" as conversion_time: i32, optional "Gossips" as gossips: fastnbt::Value, optional "Offers" as offers: HashMap<CowStr, fastnbt::Value>, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
2198        ZombifiedPiglin > Zombie { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
2199    }
2200
2201    entity_compound_types! {
2202        "1.19";
2203        ArmorStand_writePose { optional "Body" as body: Vec<f32>, optional "Head" as head: Vec<f32>, optional "LeftArm" as left_arm: Vec<f32>, optional "LeftLeg" as left_leg: Vec<f32>, optional "RightArm" as right_arm: Vec<f32>, optional "RightLeg" as right_leg: Vec<f32> }
2204        AttributeInstance_save { "Base" as base: f64, optional "Modifiers" as modifiers: Vec<super::compounds::AttributeModifier_save>, "Name" as name: CowStr }
2205        AttributeModifier_save { "Amount" as amount: f64, "Name" as name: CowStr, "Operation" as operation: i32, "UUID" as uuid: u128 }
2206        Compound2 { optional "UUID" as uuid: u128, optional "X" as x: i32, optional "Y" as y: i32, optional "Z" as z: i32 }
2207        ItemStack_save { "Count" as count: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
2208        ItemStack_save_1 { optional "Count" as count: i8, optional "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
2209        ItemStack_save_2 { "Count" as count: i8, "Slot" as slot: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
2210        MerchantOffer_createTag { "buy" as buy: super::compounds::ItemStack_save, "buyB" as buy_b: super::compounds::ItemStack_save, "demand" as demand: i32, "maxUses" as max_uses: i32, "priceMultiplier" as price_multiplier: f32, "rewardExp" as reward_exp: bool, "sell" as sell: super::compounds::ItemStack_save, "specialPrice" as special_price: i32, "uses" as uses: i32, "xp" as xp: i32 }
2211        MerchantOffers_createTag { "Recipes" as recipes: Vec<super::compounds::MerchantOffer_createTag> }
2212        MobEffectInstance_save { "Ambient" as ambient: bool, "Amplifier" as amplifier: i8, "Duration" as duration: i32, optional "FactorCalculationData" as factor_calculation_data: fastnbt::Value, optional "HiddenEffect" as hidden_effect: Box<super::compounds::MobEffectInstance_save>, "Id" as id: i32, "ShowIcon" as show_icon: bool, "ShowParticles" as show_particles: bool }
2213        NbtUtils_writeBlockPos { "X" as x: i32, "Y" as y: i32, "Z" as z: i32 }
2214    }
2215}
2216
2217/// Accompanying types for entities in Minecraft 1.19.1.
2218#[cfg(feature = "1.19.1")]
2219pub mod mc1_19_1 {
2220    entities! {
2221        "1.19.1", mc1_19_1;
2222        "minecraft:allay", Allay: Allay;
2223        "minecraft:area_effect_cloud", AreaEffectCloud: AreaEffectCloud;
2224        "minecraft:armor_stand", ArmorStand: ArmorStand;
2225        "minecraft:arrow", Arrow: Arrow;
2226        "minecraft:axolotl", Axolotl: Axolotl;
2227        "minecraft:bat", Bat: Bat;
2228        "minecraft:bee", Bee: Bee;
2229        "minecraft:blaze", Blaze: Blaze;
2230        "minecraft:boat", Boat: Boat;
2231        "minecraft:cat", Cat: Cat;
2232        "minecraft:cave_spider", CaveSpider: CaveSpider;
2233        "minecraft:chest_boat", ChestBoat: ChestBoat;
2234        "minecraft:chest_minecart", ChestMinecart: MinecartChest;
2235        "minecraft:chicken", Chicken: Chicken;
2236        "minecraft:cod", Cod: Cod;
2237        "minecraft:command_block_minecart", CommandBlockMinecart: MinecartCommandBlock;
2238        "minecraft:cow", Cow: Cow;
2239        "minecraft:creeper", Creeper: Creeper;
2240        "minecraft:dolphin", Dolphin: Dolphin;
2241        "minecraft:donkey", Donkey: Donkey;
2242        "minecraft:dragon_fireball", DragonFireball: DragonFireball;
2243        "minecraft:drowned", Drowned: Drowned;
2244        "minecraft:egg", Egg: ThrownEgg;
2245        "minecraft:elder_guardian", ElderGuardian: ElderGuardian;
2246        "minecraft:end_crystal", EndCrystal: EndCrystal;
2247        "minecraft:ender_dragon", EnderDragon: EnderDragon;
2248        "minecraft:ender_pearl", EnderPearl: ThrownEnderpearl;
2249        "minecraft:enderman", Enderman: EnderMan;
2250        "minecraft:endermite", Endermite: Endermite;
2251        "minecraft:evoker", Evoker: Evoker;
2252        "minecraft:evoker_fangs", EvokerFangs: EvokerFangs;
2253        "minecraft:experience_bottle", ExperienceBottle: ThrownExperienceBottle;
2254        "minecraft:experience_orb", ExperienceOrb: ExperienceOrb;
2255        "minecraft:eye_of_ender", EyeOfEnder: EyeOfEnder;
2256        "minecraft:falling_block", FallingBlock: FallingBlockEntity;
2257        "minecraft:fireball", Fireball: LargeFireball;
2258        "minecraft:firework_rocket", FireworkRocket: FireworkRocketEntity;
2259        "minecraft:fishing_bobber", FishingBobber: FishingHook;
2260        "minecraft:fox", Fox: Fox;
2261        "minecraft:frog", Frog: Frog;
2262        "minecraft:furnace_minecart", FurnaceMinecart: MinecartFurnace;
2263        "minecraft:ghast", Ghast: Ghast;
2264        "minecraft:giant", Giant: Giant;
2265        "minecraft:glow_item_frame", GlowItemFrame: GlowItemFrame;
2266        "minecraft:glow_squid", GlowSquid: GlowSquid;
2267        "minecraft:goat", Goat: Goat;
2268        "minecraft:guardian", Guardian: Guardian;
2269        "minecraft:hoglin", Hoglin: Hoglin;
2270        "minecraft:hopper_minecart", HopperMinecart: MinecartHopper;
2271        "minecraft:horse", Horse: Horse;
2272        "minecraft:husk", Husk: Husk;
2273        "minecraft:illusioner", Illusioner: Illusioner;
2274        "minecraft:iron_golem", IronGolem: IronGolem;
2275        "minecraft:item", Item: ItemEntity;
2276        "minecraft:item_frame", ItemFrame: ItemFrame;
2277        "minecraft:leash_knot", LeashKnot: LeashFenceKnotEntity;
2278        "minecraft:lightning_bolt", LightningBolt: LightningBolt;
2279        "minecraft:llama", Llama: Llama;
2280        "minecraft:llama_spit", LlamaSpit: LlamaSpit;
2281        "minecraft:magma_cube", MagmaCube: MagmaCube;
2282        "minecraft:marker", Marker: Marker;
2283        "minecraft:minecart", Minecart: Minecart;
2284        "minecraft:mooshroom", Mooshroom: MushroomCow;
2285        "minecraft:mule", Mule: Mule;
2286        "minecraft:ocelot", Ocelot: Ocelot;
2287        "minecraft:painting", Painting: Painting;
2288        "minecraft:panda", Panda: Panda;
2289        "minecraft:parrot", Parrot: Parrot;
2290        "minecraft:phantom", Phantom: Phantom;
2291        "minecraft:pig", Pig: Pig;
2292        "minecraft:piglin", Piglin: Piglin;
2293        "minecraft:piglin_brute", PiglinBrute: PiglinBrute;
2294        "minecraft:pillager", Pillager: Pillager;
2295        "minecraft:polar_bear", PolarBear: PolarBear;
2296        "minecraft:potion", Potion: ThrownPotion;
2297        "minecraft:pufferfish", Pufferfish: Pufferfish;
2298        "minecraft:rabbit", Rabbit: Rabbit;
2299        "minecraft:ravager", Ravager: Ravager;
2300        "minecraft:salmon", Salmon: Salmon;
2301        "minecraft:sheep", Sheep: Sheep;
2302        "minecraft:shulker", Shulker: Shulker;
2303        "minecraft:shulker_bullet", ShulkerBullet: ShulkerBullet;
2304        "minecraft:silverfish", Silverfish: Silverfish;
2305        "minecraft:skeleton", Skeleton: Skeleton;
2306        "minecraft:skeleton_horse", SkeletonHorse: SkeletonHorse;
2307        "minecraft:slime", Slime: Slime;
2308        "minecraft:small_fireball", SmallFireball: SmallFireball;
2309        "minecraft:snow_golem", SnowGolem: SnowGolem;
2310        "minecraft:snowball", Snowball: Snowball;
2311        "minecraft:spawner_minecart", SpawnerMinecart: MinecartSpawner;
2312        "minecraft:spectral_arrow", SpectralArrow: SpectralArrow;
2313        "minecraft:spider", Spider: Spider;
2314        "minecraft:squid", Squid: Squid;
2315        "minecraft:stray", Stray: Stray;
2316        "minecraft:strider", Strider: Strider;
2317        "minecraft:tadpole", Tadpole: Tadpole;
2318        "minecraft:tnt", Tnt: PrimedTnt;
2319        "minecraft:tnt_minecart", TntMinecart: MinecartTNT;
2320        "minecraft:trader_llama", TraderLlama: TraderLlama;
2321        "minecraft:trident", Trident: ThrownTrident;
2322        "minecraft:tropical_fish", TropicalFish: TropicalFish;
2323        "minecraft:turtle", Turtle: Turtle;
2324        "minecraft:vex", Vex: Vex;
2325        "minecraft:villager", Villager: Villager;
2326        "minecraft:vindicator", Vindicator: Vindicator;
2327        "minecraft:wandering_trader", WanderingTrader: WanderingTrader;
2328        "minecraft:warden", Warden: Warden;
2329        "minecraft:witch", Witch: Witch;
2330        "minecraft:wither", Wither: WitherBoss;
2331        "minecraft:wither_skeleton", WitherSkeleton: WitherSkeleton;
2332        "minecraft:wither_skull", WitherSkull: WitherSkull;
2333        "minecraft:wolf", Wolf: Wolf;
2334        "minecraft:zoglin", Zoglin: Zoglin;
2335        "minecraft:zombie", Zombie: Zombie;
2336        "minecraft:zombie_horse", ZombieHorse: ZombieHorse;
2337        "minecraft:zombie_villager", ZombieVillager: ZombieVillager;
2338        "minecraft:zombified_piglin", ZombifiedPiglin: ZombifiedPiglin;
2339    }
2340
2341    entity_types! {
2342        "1.19.1";
2343        AbstractArrow > Projectile { "PierceLevel" as pierce_level: i8, "ShotFromCrossbow" as shot_from_crossbow: bool, "SoundEvent" as sound_event: CowStr, "crit" as crit: bool, "damage" as damage: f64, optional "inBlockState" as in_block_state: super::BlockState, "inGround" as in_ground: bool, "life" as life: i16, "pickup" as pickup: i8, "shake" as shake: i8 }
2344        AbstractChestedHorse > AbstractHorse { "ChestedHorse" as chested_horse: bool, optional "Items" as items: Vec<super::compounds::ItemStack_save_2> }
2345        AbstractFish > WaterAnimal { "FromBucket" as from_bucket: bool }
2346        AbstractGolem > PathfinderMob {  }
2347        AbstractHorse > Animal { "Bred" as bred: bool, "EatingHaystack" as eating_haystack: bool, optional "Owner" as owner: u128, optional "SaddleItem" as saddle_item: super::compounds::ItemStack_save, "Tame" as tame: bool, "Temper" as temper: i32 }
2348        AbstractHurtingProjectile > Projectile { "power" as power: Vec<f64> }
2349        AbstractIllager > Raider {  }
2350        AbstractMinecart > Entity { optional "CustomDisplayTile" as custom_display_tile: bool, optional "DisplayOffset" as display_offset: i32, optional "DisplayState" as display_state: super::BlockState }
2351        AbstractMinecartContainer > AbstractMinecart { optional "Items" as items: Vec<super::compounds::ItemStack_save_2>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
2352        AbstractPiglin > Monster { optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
2353        AbstractSchoolingFish > AbstractFish {  }
2354        AbstractSkeleton > Monster {  }
2355        AbstractVillager > AgeableMob { "Inventory" as inventory: Vec<super::compounds::ItemStack_save>, optional "Offers" as offers: super::compounds::MerchantOffers_createTag }
2356        AgeableMob > PathfinderMob { "Age" as age: i32, "ForcedAge" as forced_age: i32 }
2357        Allay > PathfinderMob { "CanDuplicate" as can_duplicate: bool, "DuplicationCooldown" as duplication_cooldown: i64, "Inventory" as inventory: Vec<super::compounds::ItemStack_save>, optional "listener" as listener: fastnbt::Value }
2358        AmbientCreature > Mob {  }
2359        Animal > AgeableMob { "InLove" as in_love: i32, optional "LoveCause" as love_cause: u128 }
2360        AreaEffectCloud > Entity { "Age" as age: i32, optional "Color" as color: i32, "Duration" as duration: i32, "DurationOnUse" as duration_on_use: i32, optional "Effects" as effects: Vec<super::compounds::MobEffectInstance_save>, optional "Owner" as owner: u128, "Particle" as particle: CowStr, optional "Potion" as potion: CowStr, "Radius" as radius: f32, "RadiusOnUse" as radius_on_use: f32, "RadiusPerTick" as radius_per_tick: f32, "ReapplicationDelay" as reapplication_delay: i32, "WaitTime" as wait_time: i32 }
2361        ArmorStand > LivingEntity { "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save_1>, "DisabledSlots" as disabled_slots: i32, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save_1>, "Invisible" as invisible: bool, optional "Marker" as marker: bool, "NoBasePlate" as no_base_plate: bool, "Pose" as pose: super::compounds::ArmorStand_writePose, "ShowArms" as show_arms: bool, "Small" as small: bool }
2362        Arrow > AbstractArrow { optional "Color" as color: i32, optional "CustomPotionEffects" as custom_potion_effects: Vec<super::compounds::MobEffectInstance_save>, optional "Potion" as potion: CowStr }
2363        Axolotl > Animal { "FromBucket" as from_bucket: bool, "Variant" as variant: i32 }
2364        Bat > AmbientCreature { "BatFlags" as bat_flags: i8 }
2365        Bee > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CannotEnterHiveTicks" as cannot_enter_hive_ticks: i32, "CropsGrownSincePollination" as crops_grown_since_pollination: i32, optional "FlowerPos" as flower_pos: super::compounds::NbtUtils_writeBlockPos, "HasNectar" as has_nectar: bool, "HasStung" as has_stung: bool, optional "HivePos" as hive_pos: super::compounds::NbtUtils_writeBlockPos, "TicksSincePollination" as ticks_since_pollination: i32 }
2366        Blaze > Monster {  }
2367        Boat > Entity { "Type" as r#type: CowStr }
2368        Cat > TamableAnimal { "CollarColor" as collar_color: i8, "variant" as variant: CowStr }
2369        CaveSpider > Spider {  }
2370        ChestBoat > Boat { optional "Items" as items: Vec<super::compounds::ItemStack_save_2>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
2371        Chicken > Animal { "EggLayTime" as egg_lay_time: i32, "IsChickenJockey" as is_chicken_jockey: bool }
2372        Cod > AbstractSchoolingFish {  }
2373        Cow > Animal {  }
2374        Creeper > Monster { "ExplosionRadius" as explosion_radius: i8, "Fuse" as fuse: i16, "ignited" as ignited: bool, optional "powered" as powered: bool }
2375        Dolphin > WaterAnimal { "GotFish" as got_fish: bool, "Moistness" as moistness: i32, "TreasurePosX" as treasure_pos_x: i32, "TreasurePosY" as treasure_pos_y: i32, "TreasurePosZ" as treasure_pos_z: i32 }
2376        Donkey > AbstractChestedHorse {  }
2377        DragonFireball > AbstractHurtingProjectile {  }
2378        Drowned > Zombie {  }
2379        ElderGuardian > Guardian {  }
2380        EndCrystal > Entity { optional "BeamTarget" as beam_target: super::compounds::NbtUtils_writeBlockPos, "ShowBottom" as show_bottom: bool }
2381        EnderDragon > Mob { "DragonDeathTime" as dragon_death_time: i32, "DragonPhase" as dragon_phase: i32 }
2382        EnderMan > Monster { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, optional "carriedBlockState" as carried_block_state: super::BlockState }
2383        Endermite > Monster { "Lifetime" as lifetime: i32 }
2384        Entity { "Air" as air: i16, optional "CustomName" as custom_name: CowStr, optional "CustomNameVisible" as custom_name_visible: bool, "FallDistance" as fall_distance: f32, "Fire" as fire: i16, optional "Glowing" as glowing: bool, optional "HasVisualFire" as has_visual_fire: bool, "Invulnerable" as invulnerable: bool, "Motion" as motion: Vec<f64>, optional "NoGravity" as no_gravity: bool, "OnGround" as on_ground: bool, optional "Passengers" as passengers: Vec<Box<super::Entity>>, "PortalCooldown" as portal_cooldown: i32, optional "Pos" as pos: Vec<f64>, "Rotation" as rotation: Vec<f32>, optional "Silent" as silent: bool, optional "Tags" as tags: Vec<CowStr>, optional "TicksFrozen" as ticks_frozen: i32, "UUID" as uuid: u128 }
2385        Evoker > SpellcasterIllager {  }
2386        EvokerFangs > Entity { optional "Owner" as owner: u128, "Warmup" as warmup: i32 }
2387        ExperienceOrb > Entity { "Age" as age: i16, "Count" as count: i32, "Health" as health: i16, "Value" as value: i16 }
2388        EyeOfEnder > Entity { optional "Item" as item: super::compounds::ItemStack_save }
2389        FallingBlockEntity > Entity { "BlockState" as block_state: super::BlockState, "DropItem" as drop_item: bool, "FallHurtAmount" as fall_hurt_amount: f32, "FallHurtMax" as fall_hurt_max: i32, "HurtEntities" as hurt_entities: bool, optional "TileEntityData" as tile_entity_data: HashMap<CowStr, fastnbt::Value>, "Time" as time: i32 }
2390        Fireball > AbstractHurtingProjectile { optional "Item" as item: super::compounds::ItemStack_save }
2391        FireworkRocketEntity > Projectile { optional "FireworksItem" as fireworks_item: super::compounds::ItemStack_save, "Life" as life: i32, "LifeTime" as life_time: i32, "ShotAtAngle" as shot_at_angle: bool }
2392        FishingHook > Projectile {  }
2393        FlyingMob > Mob {  }
2394        Fox > Animal { "Crouching" as crouching: bool, "Sitting" as sitting: bool, "Sleeping" as sleeping: bool, "Trusted" as trusted: Vec<fastnbt::IntArray>, "Type" as r#type: CowStr }
2395        Frog > Animal { "variant" as variant: CowStr }
2396        Ghast > FlyingMob { "ExplosionPower" as explosion_power: i8 }
2397        Giant > Monster {  }
2398        GlowItemFrame > ItemFrame {  }
2399        GlowSquid > Squid { "DarkTicksRemaining" as dark_ticks_remaining: i32 }
2400        Goat > Animal { "HasLeftHorn" as has_left_horn: bool, "HasRightHorn" as has_right_horn: bool, "IsScreamingGoat" as is_screaming_goat: bool }
2401        Guardian > Monster {  }
2402        HangingEntity > Entity { "TileX" as tile_x: i32, "TileY" as tile_y: i32, "TileZ" as tile_z: i32 }
2403        Hoglin > Animal { optional "CannotBeHunted" as cannot_be_hunted: bool, optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
2404        Horse > AbstractHorse { optional "ArmorItem" as armor_item: super::compounds::ItemStack_save, "Variant" as variant: i32 }
2405        Husk > Zombie {  }
2406        Illusioner > SpellcasterIllager {  }
2407        IronGolem > AbstractGolem { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "PlayerCreated" as player_created: bool }
2408        ItemEntity > Entity { "Age" as age: i16, "Health" as health: i16, optional "Item" as item: super::compounds::ItemStack_save, optional "Owner" as owner: u128, "PickupDelay" as pickup_delay: i16, optional "Thrower" as thrower: u128 }
2409        ItemFrame > HangingEntity { "Facing" as facing: i8, "Fixed" as fixed: bool, "Invisible" as invisible: bool, optional "Item" as item: super::compounds::ItemStack_save, optional "ItemDropChance" as item_drop_chance: f32, optional "ItemRotation" as item_rotation: i8 }
2410        LargeFireball > Fireball { "ExplosionPower" as explosion_power: i8 }
2411        LeashFenceKnotEntity > HangingEntity {  }
2412        LightningBolt > Entity {  }
2413        LivingEntity > Entity { "AbsorptionAmount" as absorption_amount: f32, optional "ActiveEffects" as active_effects: Vec<super::compounds::MobEffectInstance_save>, "Attributes" as attributes: Vec<super::compounds::AttributeInstance_save>, optional "Brain" as brain: fastnbt::Value, "DeathTime" as death_time: i16, "FallFlying" as fall_flying: bool, "Health" as health: f32, "HurtByTimestamp" as hurt_by_timestamp: i32, "HurtTime" as hurt_time: i16, optional "SleepingX" as sleeping_x: i32, optional "SleepingY" as sleeping_y: i32, optional "SleepingZ" as sleeping_z: i32 }
2414        Llama > AbstractChestedHorse { optional "DecorItem" as decor_item: super::compounds::ItemStack_save, "Strength" as strength: i32, "Variant" as variant: i32 }
2415        LlamaSpit > Projectile {  }
2416        MagmaCube > Slime {  }
2417        Marker > Entity { "data" as data: HashMap<CowStr, fastnbt::Value> }
2418        Minecart > AbstractMinecart {  }
2419        MinecartChest > AbstractMinecartContainer {  }
2420        MinecartCommandBlock > AbstractMinecart { "Command" as command: CowStr, "CustomName" as custom_name: CowStr, optional "LastExecution" as last_execution: i64, optional "LastOutput" as last_output: CowStr, "SuccessCount" as success_count: i32, "TrackOutput" as track_output: bool, "UpdateLastExecution" as update_last_execution: bool }
2421        MinecartFurnace > AbstractMinecart { "Fuel" as fuel: i16, "PushX" as push_x: f64, "PushZ" as push_z: f64 }
2422        MinecartHopper > AbstractMinecartContainer { "Enabled" as enabled: bool, "TransferCooldown" as transfer_cooldown: i32 }
2423        MinecartSpawner > AbstractMinecart { "Delay" as delay: i16, "MaxNearbyEntities" as max_nearby_entities: i16, "MaxSpawnDelay" as max_spawn_delay: i16, "MinSpawnDelay" as min_spawn_delay: i16, "RequiredPlayerRange" as required_player_range: i16, "SpawnCount" as spawn_count: i16, "SpawnData" as spawn_data: fastnbt::Value, "SpawnPotentials" as spawn_potentials: fastnbt::Value, "SpawnRange" as spawn_range: i16 }
2424        MinecartTNT > AbstractMinecart { "TNTFuse" as tnt_fuse: i32 }
2425        Mob > LivingEntity { "ArmorDropChances" as armor_drop_chances: Vec<f32>, "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save_1>, "CanPickUpLoot" as can_pick_up_loot: bool, optional "DeathLootTable" as death_loot_table: CowStr, optional "DeathLootTableSeed" as death_loot_table_seed: i64, "HandDropChances" as hand_drop_chances: Vec<f32>, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save_1>, optional "Leash" as leash: super::compounds::Compound2, "LeftHanded" as left_handed: bool, optional "NoAI" as no_ai: bool, "PersistenceRequired" as persistence_required: bool }
2426        Monster > PathfinderMob {  }
2427        Mule > AbstractChestedHorse {  }
2428        MushroomCow > Cow { optional "EffectDuration" as effect_duration: i32, optional "EffectId" as effect_id: i32, "Type" as r#type: CowStr }
2429        Ocelot > Animal { "Trusting" as trusting: bool }
2430        Painting > HangingEntity { "facing" as facing: i8, "variant" as variant: CowStr }
2431        Panda > Animal { "HiddenGene" as hidden_gene: CowStr, "MainGene" as main_gene: CowStr }
2432        Parrot > ShoulderRidingEntity { "Variant" as variant: i32 }
2433        PathfinderMob > Mob {  }
2434        PatrollingMonster > Monster { "PatrolLeader" as patrol_leader: bool, optional "PatrolTarget" as patrol_target: super::compounds::NbtUtils_writeBlockPos, "Patrolling" as patrolling: bool }
2435        Phantom > FlyingMob { "AX" as ax: i32, "AY" as ay: i32, "AZ" as az: i32, "Size" as size: i32 }
2436        Pig > Animal { "Saddle" as saddle: bool }
2437        Piglin > AbstractPiglin { optional "CannotHunt" as cannot_hunt: bool, "Inventory" as inventory: Vec<super::compounds::ItemStack_save>, optional "IsBaby" as is_baby: bool }
2438        PiglinBrute > AbstractPiglin {  }
2439        Pillager > AbstractIllager { "Inventory" as inventory: Vec<super::compounds::ItemStack_save> }
2440        PolarBear > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
2441        PrimedTnt > Entity { "Fuse" as fuse: i16 }
2442        Projectile > Entity { "HasBeenShot" as has_been_shot: bool, optional "LeftOwner" as left_owner: bool, optional "Owner" as owner: u128 }
2443        Pufferfish > AbstractFish { "PuffState" as puff_state: i32 }
2444        Rabbit > Animal { "MoreCarrotTicks" as more_carrot_ticks: i32, "RabbitType" as rabbit_type: i32 }
2445        Raider > PatrollingMonster { "CanJoinRaid" as can_join_raid: bool, optional "RaidId" as raid_id: i32, "Wave" as wave: i32 }
2446        Ravager > Raider { "AttackTick" as attack_tick: i32, "RoarTick" as roar_tick: i32, "StunTick" as stun_tick: i32 }
2447        Salmon > AbstractSchoolingFish {  }
2448        Sheep > Animal { "Color" as color: i8, "Sheared" as sheared: bool }
2449        ShoulderRidingEntity > TamableAnimal {  }
2450        Shulker > AbstractGolem { "AttachFace" as attach_face: i8, "Color" as color: i8, "Peek" as peek: i8 }
2451        ShulkerBullet > Projectile { optional "Dir" as dir: i32, "Steps" as steps: i32, "TXD" as txd: f64, "TYD" as tyd: f64, "TZD" as tzd: f64, optional "Target" as target: u128 }
2452        Silverfish > Monster {  }
2453        Skeleton > AbstractSkeleton { "StrayConversionTime" as stray_conversion_time: i32 }
2454        SkeletonHorse > AbstractHorse { "SkeletonTrap" as skeleton_trap: bool, "SkeletonTrapTime" as skeleton_trap_time: i32 }
2455        Slime > Mob { "Size" as size: i32, "wasOnGround" as was_on_ground: bool }
2456        SmallFireball > Fireball {  }
2457        SnowGolem > AbstractGolem { "Pumpkin" as pumpkin: bool }
2458        Snowball > ThrowableItemProjectile {  }
2459        SpectralArrow > AbstractArrow { "Duration" as duration: i32 }
2460        SpellcasterIllager > AbstractIllager { "SpellTicks" as spell_ticks: i32 }
2461        Spider > Monster {  }
2462        Squid > WaterAnimal {  }
2463        Stray > AbstractSkeleton {  }
2464        Strider > Animal { "Saddle" as saddle: bool }
2465        Tadpole > AbstractFish { "Age" as age: i32 }
2466        TamableAnimal > Animal { optional "Owner" as owner: u128, "Sitting" as sitting: bool }
2467        ThrowableItemProjectile > ThrowableProjectile { optional "Item" as item: super::compounds::ItemStack_save }
2468        ThrowableProjectile > Projectile {  }
2469        ThrownEgg > ThrowableItemProjectile {  }
2470        ThrownEnderpearl > ThrowableItemProjectile {  }
2471        ThrownExperienceBottle > ThrowableItemProjectile {  }
2472        ThrownPotion > ThrowableItemProjectile {  }
2473        ThrownTrident > AbstractArrow { "DealtDamage" as dealt_damage: bool, "Trident" as trident: super::compounds::ItemStack_save }
2474        TraderLlama > Llama { "DespawnDelay" as despawn_delay: i32 }
2475        TropicalFish > AbstractSchoolingFish { "Variant" as variant: i32 }
2476        Turtle > Animal { "HasEgg" as has_egg: bool, "HomePosX" as home_pos_x: i32, "HomePosY" as home_pos_y: i32, "HomePosZ" as home_pos_z: i32, "TravelPosX" as travel_pos_x: i32, "TravelPosY" as travel_pos_y: i32, "TravelPosZ" as travel_pos_z: i32 }
2477        Vex > Monster { optional "BoundX" as bound_x: i32, optional "BoundY" as bound_y: i32, optional "BoundZ" as bound_z: i32, optional "LifeTicks" as life_ticks: i32 }
2478        Villager > AbstractVillager { optional "AssignProfessionWhenSpawned" as assign_profession_when_spawned: bool, "FoodLevel" as food_level: i8, "Gossips" as gossips: fastnbt::Value, "LastGossipDecay" as last_gossip_decay: i64, "LastRestock" as last_restock: i64, "RestocksToday" as restocks_today: i32, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
2479        Vindicator > AbstractIllager { optional "Johnny" as johnny: bool }
2480        WanderingTrader > AbstractVillager { "DespawnDelay" as despawn_delay: i32, optional "WanderTarget" as wander_target: super::compounds::NbtUtils_writeBlockPos }
2481        Warden > Monster { optional "anger" as anger: fastnbt::Value, optional "listener" as listener: fastnbt::Value }
2482        WaterAnimal > PathfinderMob {  }
2483        Witch > Raider {  }
2484        WitherBoss > Monster { "Invul" as invul: i32 }
2485        WitherSkeleton > AbstractSkeleton {  }
2486        WitherSkull > AbstractHurtingProjectile {  }
2487        Wolf > TamableAnimal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CollarColor" as collar_color: i8 }
2488        Zoglin > Monster { optional "IsBaby" as is_baby: bool }
2489        Zombie > Monster { "CanBreakDoors" as can_break_doors: bool, "DrownedConversionTime" as drowned_conversion_time: i32, "InWaterTime" as in_water_time: i32, "IsBaby" as is_baby: bool }
2490        ZombieHorse > AbstractHorse {  }
2491        ZombieVillager > Zombie { optional "ConversionPlayer" as conversion_player: u128, "ConversionTime" as conversion_time: i32, optional "Gossips" as gossips: fastnbt::Value, optional "Offers" as offers: HashMap<CowStr, fastnbt::Value>, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
2492        ZombifiedPiglin > Zombie { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
2493    }
2494
2495    entity_compound_types! {
2496        "1.19.1";
2497        ArmorStand_writePose { optional "Body" as body: Vec<f32>, optional "Head" as head: Vec<f32>, optional "LeftArm" as left_arm: Vec<f32>, optional "LeftLeg" as left_leg: Vec<f32>, optional "RightArm" as right_arm: Vec<f32>, optional "RightLeg" as right_leg: Vec<f32> }
2498        AttributeInstance_save { "Base" as base: f64, optional "Modifiers" as modifiers: Vec<super::compounds::AttributeModifier_save>, "Name" as name: CowStr }
2499        AttributeModifier_save { "Amount" as amount: f64, "Name" as name: CowStr, "Operation" as operation: i32, "UUID" as uuid: u128 }
2500        Compound2 { optional "UUID" as uuid: u128, optional "X" as x: i32, optional "Y" as y: i32, optional "Z" as z: i32 }
2501        ItemStack_save { "Count" as count: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
2502        ItemStack_save_1 { optional "Count" as count: i8, optional "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
2503        ItemStack_save_2 { "Count" as count: i8, "Slot" as slot: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
2504        MerchantOffer_createTag { "buy" as buy: super::compounds::ItemStack_save, "buyB" as buy_b: super::compounds::ItemStack_save, "demand" as demand: i32, "maxUses" as max_uses: i32, "priceMultiplier" as price_multiplier: f32, "rewardExp" as reward_exp: bool, "sell" as sell: super::compounds::ItemStack_save, "specialPrice" as special_price: i32, "uses" as uses: i32, "xp" as xp: i32 }
2505        MerchantOffers_createTag { "Recipes" as recipes: Vec<super::compounds::MerchantOffer_createTag> }
2506        MobEffectInstance_save { "Ambient" as ambient: bool, "Amplifier" as amplifier: i8, "Duration" as duration: i32, optional "FactorCalculationData" as factor_calculation_data: fastnbt::Value, optional "HiddenEffect" as hidden_effect: Box<super::compounds::MobEffectInstance_save>, "Id" as id: i32, "ShowIcon" as show_icon: bool, "ShowParticles" as show_particles: bool }
2507        NbtUtils_writeBlockPos { "X" as x: i32, "Y" as y: i32, "Z" as z: i32 }
2508    }
2509}
2510
2511/// Accompanying types for entities in Minecraft 1.19.3.
2512#[cfg(feature = "1.19.3")]
2513pub mod mc1_19_3 {
2514    entities! {
2515        "1.19.3", mc1_19_3;
2516        "minecraft:allay", Allay: Allay;
2517        "minecraft:area_effect_cloud", AreaEffectCloud: AreaEffectCloud;
2518        "minecraft:armor_stand", ArmorStand: ArmorStand;
2519        "minecraft:arrow", Arrow: Arrow;
2520        "minecraft:axolotl", Axolotl: Axolotl;
2521        "minecraft:bat", Bat: Bat;
2522        "minecraft:bee", Bee: Bee;
2523        "minecraft:blaze", Blaze: Blaze;
2524        "minecraft:boat", Boat: Boat;
2525        experimental "minecraft:camel", Camel: Camel;
2526        "minecraft:cat", Cat: Cat;
2527        "minecraft:cave_spider", CaveSpider: CaveSpider;
2528        "minecraft:chest_boat", ChestBoat: ChestBoat;
2529        "minecraft:chest_minecart", ChestMinecart: MinecartChest;
2530        "minecraft:chicken", Chicken: Chicken;
2531        "minecraft:cod", Cod: Cod;
2532        "minecraft:command_block_minecart", CommandBlockMinecart: MinecartCommandBlock;
2533        "minecraft:cow", Cow: Cow;
2534        "minecraft:creeper", Creeper: Creeper;
2535        "minecraft:dolphin", Dolphin: Dolphin;
2536        "minecraft:donkey", Donkey: Donkey;
2537        "minecraft:dragon_fireball", DragonFireball: DragonFireball;
2538        "minecraft:drowned", Drowned: Drowned;
2539        "minecraft:egg", Egg: ThrownEgg;
2540        "minecraft:elder_guardian", ElderGuardian: ElderGuardian;
2541        "minecraft:end_crystal", EndCrystal: EndCrystal;
2542        "minecraft:ender_dragon", EnderDragon: EnderDragon;
2543        "minecraft:ender_pearl", EnderPearl: ThrownEnderpearl;
2544        "minecraft:enderman", Enderman: EnderMan;
2545        "minecraft:endermite", Endermite: Endermite;
2546        "minecraft:evoker", Evoker: Evoker;
2547        "minecraft:evoker_fangs", EvokerFangs: EvokerFangs;
2548        "minecraft:experience_bottle", ExperienceBottle: ThrownExperienceBottle;
2549        "minecraft:experience_orb", ExperienceOrb: ExperienceOrb;
2550        "minecraft:eye_of_ender", EyeOfEnder: EyeOfEnder;
2551        "minecraft:falling_block", FallingBlock: FallingBlockEntity;
2552        "minecraft:fireball", Fireball: LargeFireball;
2553        "minecraft:firework_rocket", FireworkRocket: FireworkRocketEntity;
2554        "minecraft:fishing_bobber", FishingBobber: FishingHook;
2555        "minecraft:fox", Fox: Fox;
2556        "minecraft:frog", Frog: Frog;
2557        "minecraft:furnace_minecart", FurnaceMinecart: MinecartFurnace;
2558        "minecraft:ghast", Ghast: Ghast;
2559        "minecraft:giant", Giant: Giant;
2560        "minecraft:glow_item_frame", GlowItemFrame: GlowItemFrame;
2561        "minecraft:glow_squid", GlowSquid: GlowSquid;
2562        "minecraft:goat", Goat: Goat;
2563        "minecraft:guardian", Guardian: Guardian;
2564        "minecraft:hoglin", Hoglin: Hoglin;
2565        "minecraft:hopper_minecart", HopperMinecart: MinecartHopper;
2566        "minecraft:horse", Horse: Horse;
2567        "minecraft:husk", Husk: Husk;
2568        "minecraft:illusioner", Illusioner: Illusioner;
2569        "minecraft:iron_golem", IronGolem: IronGolem;
2570        "minecraft:item", Item: ItemEntity;
2571        "minecraft:item_frame", ItemFrame: ItemFrame;
2572        "minecraft:leash_knot", LeashKnot: LeashFenceKnotEntity;
2573        "minecraft:lightning_bolt", LightningBolt: LightningBolt;
2574        "minecraft:llama", Llama: Llama;
2575        "minecraft:llama_spit", LlamaSpit: LlamaSpit;
2576        "minecraft:magma_cube", MagmaCube: MagmaCube;
2577        "minecraft:marker", Marker: Marker;
2578        "minecraft:minecart", Minecart: Minecart;
2579        "minecraft:mooshroom", Mooshroom: MushroomCow;
2580        "minecraft:mule", Mule: Mule;
2581        "minecraft:ocelot", Ocelot: Ocelot;
2582        "minecraft:painting", Painting: Painting;
2583        "minecraft:panda", Panda: Panda;
2584        "minecraft:parrot", Parrot: Parrot;
2585        "minecraft:phantom", Phantom: Phantom;
2586        "minecraft:pig", Pig: Pig;
2587        "minecraft:piglin", Piglin: Piglin;
2588        "minecraft:piglin_brute", PiglinBrute: PiglinBrute;
2589        "minecraft:pillager", Pillager: Pillager;
2590        "minecraft:polar_bear", PolarBear: PolarBear;
2591        "minecraft:potion", Potion: ThrownPotion;
2592        "minecraft:pufferfish", Pufferfish: Pufferfish;
2593        "minecraft:rabbit", Rabbit: Rabbit;
2594        "minecraft:ravager", Ravager: Ravager;
2595        "minecraft:salmon", Salmon: Salmon;
2596        "minecraft:sheep", Sheep: Sheep;
2597        "minecraft:shulker", Shulker: Shulker;
2598        "minecraft:shulker_bullet", ShulkerBullet: ShulkerBullet;
2599        "minecraft:silverfish", Silverfish: Silverfish;
2600        "minecraft:skeleton", Skeleton: Skeleton;
2601        "minecraft:skeleton_horse", SkeletonHorse: SkeletonHorse;
2602        "minecraft:slime", Slime: Slime;
2603        "minecraft:small_fireball", SmallFireball: SmallFireball;
2604        "minecraft:snow_golem", SnowGolem: SnowGolem;
2605        "minecraft:snowball", Snowball: Snowball;
2606        "minecraft:spawner_minecart", SpawnerMinecart: MinecartSpawner;
2607        "minecraft:spectral_arrow", SpectralArrow: SpectralArrow;
2608        "minecraft:spider", Spider: Spider;
2609        "minecraft:squid", Squid: Squid;
2610        "minecraft:stray", Stray: Stray;
2611        "minecraft:strider", Strider: Strider;
2612        "minecraft:tadpole", Tadpole: Tadpole;
2613        "minecraft:tnt", Tnt: PrimedTnt;
2614        "minecraft:tnt_minecart", TntMinecart: MinecartTNT;
2615        "minecraft:trader_llama", TraderLlama: TraderLlama;
2616        "minecraft:trident", Trident: ThrownTrident;
2617        "minecraft:tropical_fish", TropicalFish: TropicalFish;
2618        "minecraft:turtle", Turtle: Turtle;
2619        "minecraft:vex", Vex: Vex;
2620        "minecraft:villager", Villager: Villager;
2621        "minecraft:vindicator", Vindicator: Vindicator;
2622        "minecraft:wandering_trader", WanderingTrader: WanderingTrader;
2623        "minecraft:warden", Warden: Warden;
2624        "minecraft:witch", Witch: Witch;
2625        "minecraft:wither", Wither: WitherBoss;
2626        "minecraft:wither_skeleton", WitherSkeleton: WitherSkeleton;
2627        "minecraft:wither_skull", WitherSkull: WitherSkull;
2628        "minecraft:wolf", Wolf: Wolf;
2629        "minecraft:zoglin", Zoglin: Zoglin;
2630        "minecraft:zombie", Zombie: Zombie;
2631        "minecraft:zombie_horse", ZombieHorse: ZombieHorse;
2632        "minecraft:zombie_villager", ZombieVillager: ZombieVillager;
2633        "minecraft:zombified_piglin", ZombifiedPiglin: ZombifiedPiglin;
2634    }
2635
2636    entity_types! {
2637        "1.19.3";
2638        AbstractArrow > Projectile { "PierceLevel" as pierce_level: i8, "ShotFromCrossbow" as shot_from_crossbow: bool, "SoundEvent" as sound_event: CowStr, "crit" as crit: bool, "damage" as damage: f64, optional "inBlockState" as in_block_state: super::BlockState, "inGround" as in_ground: bool, "life" as life: i16, "pickup" as pickup: i8, "shake" as shake: i8 }
2639        AbstractChestedHorse > AbstractHorse { "ChestedHorse" as chested_horse: bool, optional "Items" as items: Vec<super::compounds::ItemStack_save_2> }
2640        AbstractFish > WaterAnimal { "FromBucket" as from_bucket: bool }
2641        AbstractGolem > PathfinderMob {  }
2642        AbstractHorse > Animal { "Bred" as bred: bool, "EatingHaystack" as eating_haystack: bool, optional "Owner" as owner: u128, optional "SaddleItem" as saddle_item: super::compounds::ItemStack_save, "Tame" as tame: bool, "Temper" as temper: i32 }
2643        AbstractHurtingProjectile > Projectile { "power" as power: Vec<f64> }
2644        AbstractIllager > Raider {  }
2645        AbstractMinecart > Entity { optional "CustomDisplayTile" as custom_display_tile: bool, optional "DisplayOffset" as display_offset: i32, optional "DisplayState" as display_state: super::BlockState }
2646        AbstractMinecartContainer > AbstractMinecart { optional "Items" as items: Vec<super::compounds::ItemStack_save_2>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
2647        AbstractPiglin > Monster { optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
2648        AbstractSchoolingFish > AbstractFish {  }
2649        AbstractSkeleton > Monster {  }
2650        AbstractVillager > AgeableMob { "Inventory" as inventory: Vec<super::compounds::ItemStack_save>, optional "Offers" as offers: super::compounds::MerchantOffers_createTag }
2651        AgeableMob > PathfinderMob { "Age" as age: i32, "ForcedAge" as forced_age: i32 }
2652        Allay > PathfinderMob { "CanDuplicate" as can_duplicate: bool, "DuplicationCooldown" as duplication_cooldown: i64, "Inventory" as inventory: Vec<super::compounds::ItemStack_save>, optional "listener" as listener: fastnbt::Value }
2653        AmbientCreature > Mob {  }
2654        Animal > AgeableMob { "InLove" as in_love: i32, optional "LoveCause" as love_cause: u128 }
2655        AreaEffectCloud > Entity { "Age" as age: i32, optional "Color" as color: i32, "Duration" as duration: i32, "DurationOnUse" as duration_on_use: i32, optional "Effects" as effects: Vec<super::compounds::MobEffectInstance_save>, optional "Owner" as owner: u128, "Particle" as particle: CowStr, optional "Potion" as potion: CowStr, "Radius" as radius: f32, "RadiusOnUse" as radius_on_use: f32, "RadiusPerTick" as radius_per_tick: f32, "ReapplicationDelay" as reapplication_delay: i32, "WaitTime" as wait_time: i32 }
2656        ArmorStand > LivingEntity { "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save_1>, "DisabledSlots" as disabled_slots: i32, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save_1>, "Invisible" as invisible: bool, optional "Marker" as marker: bool, "NoBasePlate" as no_base_plate: bool, "Pose" as pose: super::compounds::ArmorStand_writePose, "ShowArms" as show_arms: bool, "Small" as small: bool }
2657        Arrow > AbstractArrow { optional "Color" as color: i32, optional "CustomPotionEffects" as custom_potion_effects: Vec<super::compounds::MobEffectInstance_save>, optional "Potion" as potion: CowStr }
2658        Axolotl > Animal { "FromBucket" as from_bucket: bool, "Variant" as variant: i32 }
2659        Bat > AmbientCreature { "BatFlags" as bat_flags: i8 }
2660        Bee > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CannotEnterHiveTicks" as cannot_enter_hive_ticks: i32, "CropsGrownSincePollination" as crops_grown_since_pollination: i32, optional "FlowerPos" as flower_pos: super::compounds::NbtUtils_writeBlockPos, "HasNectar" as has_nectar: bool, "HasStung" as has_stung: bool, optional "HivePos" as hive_pos: super::compounds::NbtUtils_writeBlockPos, "TicksSincePollination" as ticks_since_pollination: i32 }
2661        Blaze > Monster {  }
2662        Boat > Entity { "Type" as r#type: CowStr }
2663        Camel > AbstractHorse { "IsSitting" as is_sitting: bool, "LastPoseTick" as last_pose_tick: i64 }
2664        Cat > TamableAnimal { "CollarColor" as collar_color: i8, "variant" as variant: CowStr }
2665        CaveSpider > Spider {  }
2666        ChestBoat > Boat { optional "Items" as items: Vec<super::compounds::ItemStack_save_2>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
2667        Chicken > Animal { "EggLayTime" as egg_lay_time: i32, "IsChickenJockey" as is_chicken_jockey: bool }
2668        Cod > AbstractSchoolingFish {  }
2669        Cow > Animal {  }
2670        Creeper > Monster { "ExplosionRadius" as explosion_radius: i8, "Fuse" as fuse: i16, "ignited" as ignited: bool, optional "powered" as powered: bool }
2671        Dolphin > WaterAnimal { "GotFish" as got_fish: bool, "Moistness" as moistness: i32, "TreasurePosX" as treasure_pos_x: i32, "TreasurePosY" as treasure_pos_y: i32, "TreasurePosZ" as treasure_pos_z: i32 }
2672        Donkey > AbstractChestedHorse {  }
2673        DragonFireball > AbstractHurtingProjectile {  }
2674        Drowned > Zombie {  }
2675        ElderGuardian > Guardian {  }
2676        EndCrystal > Entity { optional "BeamTarget" as beam_target: super::compounds::NbtUtils_writeBlockPos, "ShowBottom" as show_bottom: bool }
2677        EnderDragon > Mob { "DragonDeathTime" as dragon_death_time: i32, "DragonPhase" as dragon_phase: i32 }
2678        EnderMan > Monster { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, optional "carriedBlockState" as carried_block_state: super::BlockState }
2679        Endermite > Monster { "Lifetime" as lifetime: i32 }
2680        Entity { "Air" as air: i16, optional "CustomName" as custom_name: CowStr, optional "CustomNameVisible" as custom_name_visible: bool, "FallDistance" as fall_distance: f32, "Fire" as fire: i16, optional "Glowing" as glowing: bool, optional "HasVisualFire" as has_visual_fire: bool, "Invulnerable" as invulnerable: bool, "Motion" as motion: Vec<f64>, optional "NoGravity" as no_gravity: bool, "OnGround" as on_ground: bool, optional "Passengers" as passengers: Vec<Box<super::Entity>>, "PortalCooldown" as portal_cooldown: i32, optional "Pos" as pos: Vec<f64>, "Rotation" as rotation: Vec<f32>, optional "Silent" as silent: bool, optional "Tags" as tags: Vec<CowStr>, optional "TicksFrozen" as ticks_frozen: i32, "UUID" as uuid: u128 }
2681        Evoker > SpellcasterIllager {  }
2682        EvokerFangs > Entity { optional "Owner" as owner: u128, "Warmup" as warmup: i32 }
2683        ExperienceOrb > Entity { "Age" as age: i16, "Count" as count: i32, "Health" as health: i16, "Value" as value: i16 }
2684        EyeOfEnder > Entity { optional "Item" as item: super::compounds::ItemStack_save }
2685        FallingBlockEntity > Entity { "BlockState" as block_state: super::BlockState, "DropItem" as drop_item: bool, "FallHurtAmount" as fall_hurt_amount: f32, "FallHurtMax" as fall_hurt_max: i32, "HurtEntities" as hurt_entities: bool, optional "TileEntityData" as tile_entity_data: HashMap<CowStr, fastnbt::Value>, "Time" as time: i32 }
2686        Fireball > AbstractHurtingProjectile { optional "Item" as item: super::compounds::ItemStack_save }
2687        FireworkRocketEntity > Projectile { optional "FireworksItem" as fireworks_item: super::compounds::ItemStack_save, "Life" as life: i32, "LifeTime" as life_time: i32, "ShotAtAngle" as shot_at_angle: bool }
2688        FishingHook > Projectile {  }
2689        FlyingMob > Mob {  }
2690        Fox > Animal { "Crouching" as crouching: bool, "Sitting" as sitting: bool, "Sleeping" as sleeping: bool, "Trusted" as trusted: Vec<fastnbt::IntArray>, "Type" as r#type: CowStr }
2691        Frog > Animal { "variant" as variant: CowStr }
2692        Ghast > FlyingMob { "ExplosionPower" as explosion_power: i8 }
2693        Giant > Monster {  }
2694        GlowItemFrame > ItemFrame {  }
2695        GlowSquid > Squid { "DarkTicksRemaining" as dark_ticks_remaining: i32 }
2696        Goat > Animal { "HasLeftHorn" as has_left_horn: bool, "HasRightHorn" as has_right_horn: bool, "IsScreamingGoat" as is_screaming_goat: bool }
2697        Guardian > Monster {  }
2698        HangingEntity > Entity { "TileX" as tile_x: i32, "TileY" as tile_y: i32, "TileZ" as tile_z: i32 }
2699        Hoglin > Animal { optional "CannotBeHunted" as cannot_be_hunted: bool, optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
2700        Horse > AbstractHorse { optional "ArmorItem" as armor_item: super::compounds::ItemStack_save, "Variant" as variant: i32 }
2701        Husk > Zombie {  }
2702        Illusioner > SpellcasterIllager {  }
2703        IronGolem > AbstractGolem { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "PlayerCreated" as player_created: bool }
2704        ItemEntity > Entity { "Age" as age: i16, "Health" as health: i16, optional "Item" as item: super::compounds::ItemStack_save, optional "Owner" as owner: u128, "PickupDelay" as pickup_delay: i16, optional "Thrower" as thrower: u128 }
2705        ItemFrame > HangingEntity { "Facing" as facing: i8, "Fixed" as fixed: bool, "Invisible" as invisible: bool, optional "Item" as item: super::compounds::ItemStack_save, optional "ItemDropChance" as item_drop_chance: f32, optional "ItemRotation" as item_rotation: i8 }
2706        LargeFireball > Fireball { "ExplosionPower" as explosion_power: i8 }
2707        LeashFenceKnotEntity > HangingEntity {  }
2708        LightningBolt > Entity {  }
2709        LivingEntity > Entity { "AbsorptionAmount" as absorption_amount: f32, optional "ActiveEffects" as active_effects: Vec<super::compounds::MobEffectInstance_save>, "Attributes" as attributes: Vec<super::compounds::AttributeInstance_save>, optional "Brain" as brain: fastnbt::Value, "DeathTime" as death_time: i16, "FallFlying" as fall_flying: bool, "Health" as health: f32, "HurtByTimestamp" as hurt_by_timestamp: i32, "HurtTime" as hurt_time: i16, optional "SleepingX" as sleeping_x: i32, optional "SleepingY" as sleeping_y: i32, optional "SleepingZ" as sleeping_z: i32 }
2710        Llama > AbstractChestedHorse { optional "DecorItem" as decor_item: super::compounds::ItemStack_save, "Strength" as strength: i32, "Variant" as variant: i32 }
2711        LlamaSpit > Projectile {  }
2712        MagmaCube > Slime {  }
2713        Marker > Entity { "data" as data: HashMap<CowStr, fastnbt::Value> }
2714        Minecart > AbstractMinecart {  }
2715        MinecartChest > AbstractMinecartContainer {  }
2716        MinecartCommandBlock > AbstractMinecart { "Command" as command: CowStr, "CustomName" as custom_name: CowStr, optional "LastExecution" as last_execution: i64, optional "LastOutput" as last_output: CowStr, "SuccessCount" as success_count: i32, "TrackOutput" as track_output: bool, "UpdateLastExecution" as update_last_execution: bool }
2717        MinecartFurnace > AbstractMinecart { "Fuel" as fuel: i16, "PushX" as push_x: f64, "PushZ" as push_z: f64 }
2718        MinecartHopper > AbstractMinecartContainer { "Enabled" as enabled: bool, "TransferCooldown" as transfer_cooldown: i32 }
2719        MinecartSpawner > AbstractMinecart { "Delay" as delay: i16, "MaxNearbyEntities" as max_nearby_entities: i16, "MaxSpawnDelay" as max_spawn_delay: i16, "MinSpawnDelay" as min_spawn_delay: i16, "RequiredPlayerRange" as required_player_range: i16, "SpawnCount" as spawn_count: i16, optional "SpawnData" as spawn_data: fastnbt::Value, "SpawnPotentials" as spawn_potentials: fastnbt::Value, "SpawnRange" as spawn_range: i16 }
2720        MinecartTNT > AbstractMinecart { "TNTFuse" as tnt_fuse: i32 }
2721        Mob > LivingEntity { "ArmorDropChances" as armor_drop_chances: Vec<f32>, "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save_1>, "CanPickUpLoot" as can_pick_up_loot: bool, optional "DeathLootTable" as death_loot_table: CowStr, optional "DeathLootTableSeed" as death_loot_table_seed: i64, "HandDropChances" as hand_drop_chances: Vec<f32>, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save_1>, optional "Leash" as leash: super::compounds::Compound2, "LeftHanded" as left_handed: bool, optional "NoAI" as no_ai: bool, "PersistenceRequired" as persistence_required: bool }
2722        Monster > PathfinderMob {  }
2723        Mule > AbstractChestedHorse {  }
2724        MushroomCow > Cow { optional "EffectDuration" as effect_duration: i32, optional "EffectId" as effect_id: i32, "Type" as r#type: CowStr }
2725        Ocelot > Animal { "Trusting" as trusting: bool }
2726        Painting > HangingEntity { "facing" as facing: i8, "variant" as variant: CowStr }
2727        Panda > Animal { "HiddenGene" as hidden_gene: CowStr, "MainGene" as main_gene: CowStr }
2728        Parrot > ShoulderRidingEntity { "Variant" as variant: i32 }
2729        PathfinderMob > Mob {  }
2730        PatrollingMonster > Monster { "PatrolLeader" as patrol_leader: bool, optional "PatrolTarget" as patrol_target: super::compounds::NbtUtils_writeBlockPos, "Patrolling" as patrolling: bool }
2731        Phantom > FlyingMob { "AX" as ax: i32, "AY" as ay: i32, "AZ" as az: i32, "Size" as size: i32 }
2732        Pig > Animal { "Saddle" as saddle: bool }
2733        Piglin > AbstractPiglin { optional "CannotHunt" as cannot_hunt: bool, "Inventory" as inventory: Vec<super::compounds::ItemStack_save>, optional "IsBaby" as is_baby: bool }
2734        PiglinBrute > AbstractPiglin {  }
2735        Pillager > AbstractIllager { "Inventory" as inventory: Vec<super::compounds::ItemStack_save> }
2736        PolarBear > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
2737        PrimedTnt > Entity { "Fuse" as fuse: i16 }
2738        Projectile > Entity { "HasBeenShot" as has_been_shot: bool, optional "LeftOwner" as left_owner: bool, optional "Owner" as owner: u128 }
2739        Pufferfish > AbstractFish { "PuffState" as puff_state: i32 }
2740        Rabbit > Animal { "MoreCarrotTicks" as more_carrot_ticks: i32, "RabbitType" as rabbit_type: i32 }
2741        Raider > PatrollingMonster { "CanJoinRaid" as can_join_raid: bool, optional "RaidId" as raid_id: i32, "Wave" as wave: i32 }
2742        Ravager > Raider { "AttackTick" as attack_tick: i32, "RoarTick" as roar_tick: i32, "StunTick" as stun_tick: i32 }
2743        Salmon > AbstractSchoolingFish {  }
2744        Sheep > Animal { "Color" as color: i8, "Sheared" as sheared: bool }
2745        ShoulderRidingEntity > TamableAnimal {  }
2746        Shulker > AbstractGolem { "AttachFace" as attach_face: i8, "Color" as color: i8, "Peek" as peek: i8 }
2747        ShulkerBullet > Projectile { optional "Dir" as dir: i32, "Steps" as steps: i32, "TXD" as txd: f64, "TYD" as tyd: f64, "TZD" as tzd: f64, optional "Target" as target: u128 }
2748        Silverfish > Monster {  }
2749        Skeleton > AbstractSkeleton { "StrayConversionTime" as stray_conversion_time: i32 }
2750        SkeletonHorse > AbstractHorse { "SkeletonTrap" as skeleton_trap: bool, "SkeletonTrapTime" as skeleton_trap_time: i32 }
2751        Slime > Mob { "Size" as size: i32, "wasOnGround" as was_on_ground: bool }
2752        SmallFireball > Fireball {  }
2753        SnowGolem > AbstractGolem { "Pumpkin" as pumpkin: bool }
2754        Snowball > ThrowableItemProjectile {  }
2755        SpectralArrow > AbstractArrow { "Duration" as duration: i32 }
2756        SpellcasterIllager > AbstractIllager { "SpellTicks" as spell_ticks: i32 }
2757        Spider > Monster {  }
2758        Squid > WaterAnimal {  }
2759        Stray > AbstractSkeleton {  }
2760        Strider > Animal { "Saddle" as saddle: bool }
2761        Tadpole > AbstractFish { "Age" as age: i32 }
2762        TamableAnimal > Animal { optional "Owner" as owner: u128, "Sitting" as sitting: bool }
2763        ThrowableItemProjectile > ThrowableProjectile { optional "Item" as item: super::compounds::ItemStack_save }
2764        ThrowableProjectile > Projectile {  }
2765        ThrownEgg > ThrowableItemProjectile {  }
2766        ThrownEnderpearl > ThrowableItemProjectile {  }
2767        ThrownExperienceBottle > ThrowableItemProjectile {  }
2768        ThrownPotion > ThrowableItemProjectile {  }
2769        ThrownTrident > AbstractArrow { "DealtDamage" as dealt_damage: bool, "Trident" as trident: super::compounds::ItemStack_save }
2770        TraderLlama > Llama { "DespawnDelay" as despawn_delay: i32 }
2771        TropicalFish > AbstractSchoolingFish { "Variant" as variant: i32 }
2772        Turtle > Animal { "HasEgg" as has_egg: bool, "HomePosX" as home_pos_x: i32, "HomePosY" as home_pos_y: i32, "HomePosZ" as home_pos_z: i32, "TravelPosX" as travel_pos_x: i32, "TravelPosY" as travel_pos_y: i32, "TravelPosZ" as travel_pos_z: i32 }
2773        Vex > Monster { optional "BoundX" as bound_x: i32, optional "BoundY" as bound_y: i32, optional "BoundZ" as bound_z: i32, optional "LifeTicks" as life_ticks: i32 }
2774        Villager > AbstractVillager { optional "AssignProfessionWhenSpawned" as assign_profession_when_spawned: bool, "FoodLevel" as food_level: i8, "Gossips" as gossips: fastnbt::Value, "LastGossipDecay" as last_gossip_decay: i64, "LastRestock" as last_restock: i64, "RestocksToday" as restocks_today: i32, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
2775        Vindicator > AbstractIllager { optional "Johnny" as johnny: bool }
2776        WanderingTrader > AbstractVillager { "DespawnDelay" as despawn_delay: i32, optional "WanderTarget" as wander_target: super::compounds::NbtUtils_writeBlockPos }
2777        Warden > Monster { optional "anger" as anger: fastnbt::Value, optional "listener" as listener: fastnbt::Value }
2778        WaterAnimal > PathfinderMob {  }
2779        Witch > Raider {  }
2780        WitherBoss > Monster { "Invul" as invul: i32 }
2781        WitherSkeleton > AbstractSkeleton {  }
2782        WitherSkull > AbstractHurtingProjectile {  }
2783        Wolf > TamableAnimal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CollarColor" as collar_color: i8 }
2784        Zoglin > Monster { optional "IsBaby" as is_baby: bool }
2785        Zombie > Monster { "CanBreakDoors" as can_break_doors: bool, "DrownedConversionTime" as drowned_conversion_time: i32, "InWaterTime" as in_water_time: i32, "IsBaby" as is_baby: bool }
2786        ZombieHorse > AbstractHorse {  }
2787        ZombieVillager > Zombie { optional "ConversionPlayer" as conversion_player: u128, "ConversionTime" as conversion_time: i32, optional "Gossips" as gossips: fastnbt::Value, optional "Offers" as offers: HashMap<CowStr, fastnbt::Value>, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
2788        ZombifiedPiglin > Zombie { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
2789    }
2790
2791    entity_compound_types! {
2792        "1.19.3";
2793        ArmorStand_writePose { optional "Body" as body: Vec<f32>, optional "Head" as head: Vec<f32>, optional "LeftArm" as left_arm: Vec<f32>, optional "LeftLeg" as left_leg: Vec<f32>, optional "RightArm" as right_arm: Vec<f32>, optional "RightLeg" as right_leg: Vec<f32> }
2794        AttributeInstance_save { "Base" as base: f64, optional "Modifiers" as modifiers: Vec<super::compounds::AttributeModifier_save>, "Name" as name: CowStr }
2795        AttributeModifier_save { "Amount" as amount: f64, "Name" as name: CowStr, "Operation" as operation: i32, "UUID" as uuid: u128 }
2796        Compound2 { optional "UUID" as uuid: u128, optional "X" as x: i32, optional "Y" as y: i32, optional "Z" as z: i32 }
2797        ItemStack_save { "Count" as count: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
2798        ItemStack_save_1 { optional "Count" as count: i8, optional "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
2799        ItemStack_save_2 { "Count" as count: i8, "Slot" as slot: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
2800        MerchantOffer_createTag { "buy" as buy: super::compounds::ItemStack_save, "buyB" as buy_b: super::compounds::ItemStack_save, "demand" as demand: i32, "maxUses" as max_uses: i32, "priceMultiplier" as price_multiplier: f32, "rewardExp" as reward_exp: bool, "sell" as sell: super::compounds::ItemStack_save, "specialPrice" as special_price: i32, "uses" as uses: i32, "xp" as xp: i32 }
2801        MerchantOffers_createTag { "Recipes" as recipes: Vec<super::compounds::MerchantOffer_createTag> }
2802        MobEffectInstance_save { "Ambient" as ambient: bool, "Amplifier" as amplifier: i8, "Duration" as duration: i32, optional "FactorCalculationData" as factor_calculation_data: fastnbt::Value, optional "HiddenEffect" as hidden_effect: Box<super::compounds::MobEffectInstance_save>, "Id" as id: i32, "ShowIcon" as show_icon: bool, "ShowParticles" as show_particles: bool }
2803        NbtUtils_writeBlockPos { "X" as x: i32, "Y" as y: i32, "Z" as z: i32 }
2804    }
2805}
2806
2807/// Accompanying types for entities in Minecraft 1.19.4.
2808#[cfg(feature = "1.19.4")]
2809pub mod mc1_19_4 {
2810    entities! {
2811        "1.19.4", mc1_19_4;
2812        "minecraft:allay", Allay: Allay;
2813        "minecraft:area_effect_cloud", AreaEffectCloud: AreaEffectCloud;
2814        "minecraft:armor_stand", ArmorStand: ArmorStand;
2815        "minecraft:arrow", Arrow: Arrow;
2816        "minecraft:axolotl", Axolotl: Axolotl;
2817        "minecraft:bat", Bat: Bat;
2818        "minecraft:bee", Bee: Bee;
2819        "minecraft:blaze", Blaze: Blaze;
2820        "minecraft:block_display", BlockDisplay: BlockDisplay;
2821        "minecraft:boat", Boat: Boat;
2822        experimental "minecraft:camel", Camel: Camel;
2823        "minecraft:cat", Cat: Cat;
2824        "minecraft:cave_spider", CaveSpider: CaveSpider;
2825        "minecraft:chest_boat", ChestBoat: ChestBoat;
2826        "minecraft:chest_minecart", ChestMinecart: MinecartChest;
2827        "minecraft:chicken", Chicken: Chicken;
2828        "minecraft:cod", Cod: Cod;
2829        "minecraft:command_block_minecart", CommandBlockMinecart: MinecartCommandBlock;
2830        "minecraft:cow", Cow: Cow;
2831        "minecraft:creeper", Creeper: Creeper;
2832        "minecraft:dolphin", Dolphin: Dolphin;
2833        "minecraft:donkey", Donkey: Donkey;
2834        "minecraft:dragon_fireball", DragonFireball: DragonFireball;
2835        "minecraft:drowned", Drowned: Drowned;
2836        "minecraft:egg", Egg: ThrownEgg;
2837        "minecraft:elder_guardian", ElderGuardian: ElderGuardian;
2838        "minecraft:end_crystal", EndCrystal: EndCrystal;
2839        "minecraft:ender_dragon", EnderDragon: EnderDragon;
2840        "minecraft:ender_pearl", EnderPearl: ThrownEnderpearl;
2841        "minecraft:enderman", Enderman: EnderMan;
2842        "minecraft:endermite", Endermite: Endermite;
2843        "minecraft:evoker", Evoker: Evoker;
2844        "minecraft:evoker_fangs", EvokerFangs: EvokerFangs;
2845        "minecraft:experience_bottle", ExperienceBottle: ThrownExperienceBottle;
2846        "minecraft:experience_orb", ExperienceOrb: ExperienceOrb;
2847        "minecraft:eye_of_ender", EyeOfEnder: EyeOfEnder;
2848        "minecraft:falling_block", FallingBlock: FallingBlockEntity;
2849        "minecraft:fireball", Fireball: LargeFireball;
2850        "minecraft:firework_rocket", FireworkRocket: FireworkRocketEntity;
2851        "minecraft:fishing_bobber", FishingBobber: FishingHook;
2852        "minecraft:fox", Fox: Fox;
2853        "minecraft:frog", Frog: Frog;
2854        "minecraft:furnace_minecart", FurnaceMinecart: MinecartFurnace;
2855        "minecraft:ghast", Ghast: Ghast;
2856        "minecraft:giant", Giant: Giant;
2857        "minecraft:glow_item_frame", GlowItemFrame: GlowItemFrame;
2858        "minecraft:glow_squid", GlowSquid: GlowSquid;
2859        "minecraft:goat", Goat: Goat;
2860        "minecraft:guardian", Guardian: Guardian;
2861        "minecraft:hoglin", Hoglin: Hoglin;
2862        "minecraft:hopper_minecart", HopperMinecart: MinecartHopper;
2863        "minecraft:horse", Horse: Horse;
2864        "minecraft:husk", Husk: Husk;
2865        "minecraft:illusioner", Illusioner: Illusioner;
2866        "minecraft:interaction", Interaction: Interaction;
2867        "minecraft:iron_golem", IronGolem: IronGolem;
2868        "minecraft:item", Item: ItemEntity;
2869        "minecraft:item_display", ItemDisplay: ItemDisplay;
2870        "minecraft:item_frame", ItemFrame: ItemFrame;
2871        "minecraft:leash_knot", LeashKnot: LeashFenceKnotEntity;
2872        "minecraft:lightning_bolt", LightningBolt: LightningBolt;
2873        "minecraft:llama", Llama: Llama;
2874        "minecraft:llama_spit", LlamaSpit: LlamaSpit;
2875        "minecraft:magma_cube", MagmaCube: MagmaCube;
2876        "minecraft:marker", Marker: Marker;
2877        "minecraft:minecart", Minecart: Minecart;
2878        "minecraft:mooshroom", Mooshroom: MushroomCow;
2879        "minecraft:mule", Mule: Mule;
2880        "minecraft:ocelot", Ocelot: Ocelot;
2881        "minecraft:painting", Painting: Painting;
2882        "minecraft:panda", Panda: Panda;
2883        "minecraft:parrot", Parrot: Parrot;
2884        "minecraft:phantom", Phantom: Phantom;
2885        "minecraft:pig", Pig: Pig;
2886        "minecraft:piglin", Piglin: Piglin;
2887        "minecraft:piglin_brute", PiglinBrute: PiglinBrute;
2888        "minecraft:pillager", Pillager: Pillager;
2889        "minecraft:polar_bear", PolarBear: PolarBear;
2890        "minecraft:potion", Potion: ThrownPotion;
2891        "minecraft:pufferfish", Pufferfish: Pufferfish;
2892        "minecraft:rabbit", Rabbit: Rabbit;
2893        "minecraft:ravager", Ravager: Ravager;
2894        "minecraft:salmon", Salmon: Salmon;
2895        "minecraft:sheep", Sheep: Sheep;
2896        "minecraft:shulker", Shulker: Shulker;
2897        "minecraft:shulker_bullet", ShulkerBullet: ShulkerBullet;
2898        "minecraft:silverfish", Silverfish: Silverfish;
2899        "minecraft:skeleton", Skeleton: Skeleton;
2900        "minecraft:skeleton_horse", SkeletonHorse: SkeletonHorse;
2901        "minecraft:slime", Slime: Slime;
2902        "minecraft:small_fireball", SmallFireball: SmallFireball;
2903        experimental "minecraft:sniffer", Sniffer: Sniffer;
2904        "minecraft:snow_golem", SnowGolem: SnowGolem;
2905        "minecraft:snowball", Snowball: Snowball;
2906        "minecraft:spawner_minecart", SpawnerMinecart: MinecartSpawner;
2907        "minecraft:spectral_arrow", SpectralArrow: SpectralArrow;
2908        "minecraft:spider", Spider: Spider;
2909        "minecraft:squid", Squid: Squid;
2910        "minecraft:stray", Stray: Stray;
2911        "minecraft:strider", Strider: Strider;
2912        "minecraft:tadpole", Tadpole: Tadpole;
2913        "minecraft:text_display", TextDisplay: TextDisplay;
2914        "minecraft:tnt", Tnt: PrimedTnt;
2915        "minecraft:tnt_minecart", TntMinecart: MinecartTNT;
2916        "minecraft:trader_llama", TraderLlama: TraderLlama;
2917        "minecraft:trident", Trident: ThrownTrident;
2918        "minecraft:tropical_fish", TropicalFish: TropicalFish;
2919        "minecraft:turtle", Turtle: Turtle;
2920        "minecraft:vex", Vex: Vex;
2921        "minecraft:villager", Villager: Villager;
2922        "minecraft:vindicator", Vindicator: Vindicator;
2923        "minecraft:wandering_trader", WanderingTrader: WanderingTrader;
2924        "minecraft:warden", Warden: Warden;
2925        "minecraft:witch", Witch: Witch;
2926        "minecraft:wither", Wither: WitherBoss;
2927        "minecraft:wither_skeleton", WitherSkeleton: WitherSkeleton;
2928        "minecraft:wither_skull", WitherSkull: WitherSkull;
2929        "minecraft:wolf", Wolf: Wolf;
2930        "minecraft:zoglin", Zoglin: Zoglin;
2931        "minecraft:zombie", Zombie: Zombie;
2932        "minecraft:zombie_horse", ZombieHorse: ZombieHorse;
2933        "minecraft:zombie_villager", ZombieVillager: ZombieVillager;
2934        "minecraft:zombified_piglin", ZombifiedPiglin: ZombifiedPiglin;
2935    }
2936
2937    entity_types! {
2938        "1.19.4";
2939        AbstractArrow > Projectile { "PierceLevel" as pierce_level: i8, "ShotFromCrossbow" as shot_from_crossbow: bool, "SoundEvent" as sound_event: CowStr, "crit" as crit: bool, "damage" as damage: f64, optional "inBlockState" as in_block_state: super::BlockState, "inGround" as in_ground: bool, "life" as life: i16, "pickup" as pickup: i8, "shake" as shake: i8 }
2940        AbstractChestedHorse > AbstractHorse { "ChestedHorse" as chested_horse: bool, optional "Items" as items: Vec<super::compounds::ItemStack_save_2> }
2941        AbstractFish > WaterAnimal { "FromBucket" as from_bucket: bool }
2942        AbstractGolem > PathfinderMob {  }
2943        AbstractHorse > Animal { "Bred" as bred: bool, "EatingHaystack" as eating_haystack: bool, optional "Owner" as owner: u128, optional "SaddleItem" as saddle_item: super::compounds::ItemStack_save, "Tame" as tame: bool, "Temper" as temper: i32 }
2944        AbstractHurtingProjectile > Projectile { "power" as power: Vec<f64> }
2945        AbstractIllager > Raider {  }
2946        AbstractMinecart > Entity { optional "CustomDisplayTile" as custom_display_tile: bool, optional "DisplayOffset" as display_offset: i32, optional "DisplayState" as display_state: super::BlockState }
2947        AbstractMinecartContainer > AbstractMinecart { optional "Items" as items: Vec<super::compounds::ItemStack_save_2>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
2948        AbstractPiglin > Monster { optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
2949        AbstractSchoolingFish > AbstractFish {  }
2950        AbstractSkeleton > Monster {  }
2951        AbstractVillager > AgeableMob { "Inventory" as inventory: Vec<super::compounds::ItemStack_save>, optional "Offers" as offers: super::compounds::MerchantOffers_createTag }
2952        AgeableMob > PathfinderMob { "Age" as age: i32, "ForcedAge" as forced_age: i32 }
2953        Allay > PathfinderMob { "CanDuplicate" as can_duplicate: bool, "DuplicationCooldown" as duplication_cooldown: i64, "Inventory" as inventory: Vec<super::compounds::ItemStack_save>, optional "listener" as listener: fastnbt::Value }
2954        AmbientCreature > Mob {  }
2955        Animal > AgeableMob { "InLove" as in_love: i32, optional "LoveCause" as love_cause: u128 }
2956        AreaEffectCloud > Entity { "Age" as age: i32, optional "Color" as color: i32, "Duration" as duration: i32, "DurationOnUse" as duration_on_use: i32, optional "Effects" as effects: Vec<super::compounds::MobEffectInstance_save>, optional "Owner" as owner: u128, "Particle" as particle: CowStr, optional "Potion" as potion: CowStr, "Radius" as radius: f32, "RadiusOnUse" as radius_on_use: f32, "RadiusPerTick" as radius_per_tick: f32, "ReapplicationDelay" as reapplication_delay: i32, "WaitTime" as wait_time: i32 }
2957        ArmorStand > LivingEntity { "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save_1>, "DisabledSlots" as disabled_slots: i32, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save_1>, "Invisible" as invisible: bool, optional "Marker" as marker: bool, "NoBasePlate" as no_base_plate: bool, "Pose" as pose: super::compounds::ArmorStand_writePose, "ShowArms" as show_arms: bool, "Small" as small: bool }
2958        Arrow > AbstractArrow { optional "Color" as color: i32, optional "CustomPotionEffects" as custom_potion_effects: Vec<super::compounds::MobEffectInstance_save>, optional "Potion" as potion: CowStr }
2959        Axolotl > Animal { "FromBucket" as from_bucket: bool, "Variant" as variant: i32 }
2960        Bat > AmbientCreature { "BatFlags" as bat_flags: i8 }
2961        Bee > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CannotEnterHiveTicks" as cannot_enter_hive_ticks: i32, "CropsGrownSincePollination" as crops_grown_since_pollination: i32, optional "FlowerPos" as flower_pos: super::compounds::NbtUtils_writeBlockPos, "HasNectar" as has_nectar: bool, "HasStung" as has_stung: bool, optional "HivePos" as hive_pos: super::compounds::NbtUtils_writeBlockPos, "TicksSincePollination" as ticks_since_pollination: i32 }
2962        Blaze > Monster {  }
2963        BlockDisplay > Display { "block_state" as block_state: super::BlockState }
2964        Boat > Entity { "Type" as r#type: CowStr }
2965        Camel > AbstractHorse { "LastPoseTick" as last_pose_tick: i64 }
2966        Cat > TamableAnimal { "CollarColor" as collar_color: i8, "variant" as variant: CowStr }
2967        CaveSpider > Spider {  }
2968        ChestBoat > Boat { optional "Items" as items: Vec<super::compounds::ItemStack_save_2>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
2969        Chicken > Animal { "EggLayTime" as egg_lay_time: i32, "IsChickenJockey" as is_chicken_jockey: bool }
2970        Cod > AbstractSchoolingFish {  }
2971        Cow > Animal {  }
2972        Creeper > Monster { "ExplosionRadius" as explosion_radius: i8, "Fuse" as fuse: i16, "ignited" as ignited: bool, optional "powered" as powered: bool }
2973        Display > Entity { optional "billboard" as billboard: fastnbt::Value, optional "brightness" as brightness: fastnbt::Value, "glow_color_override" as glow_color_override: i32, "height" as height: f32, "interpolation_duration" as interpolation_duration: i32, "shadow_radius" as shadow_radius: f32, "shadow_strength" as shadow_strength: f32, optional "transformation" as transformation: fastnbt::Value, "view_range" as view_range: f32, "width" as width: f32 }
2974        Dolphin > WaterAnimal { "GotFish" as got_fish: bool, "Moistness" as moistness: i32, "TreasurePosX" as treasure_pos_x: i32, "TreasurePosY" as treasure_pos_y: i32, "TreasurePosZ" as treasure_pos_z: i32 }
2975        Donkey > AbstractChestedHorse {  }
2976        DragonFireball > AbstractHurtingProjectile {  }
2977        Drowned > Zombie {  }
2978        ElderGuardian > Guardian {  }
2979        EndCrystal > Entity { optional "BeamTarget" as beam_target: super::compounds::NbtUtils_writeBlockPos, "ShowBottom" as show_bottom: bool }
2980        EnderDragon > Mob { "DragonDeathTime" as dragon_death_time: i32, "DragonPhase" as dragon_phase: i32 }
2981        EnderMan > Monster { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, optional "carriedBlockState" as carried_block_state: super::BlockState }
2982        Endermite > Monster { "Lifetime" as lifetime: i32 }
2983        Entity { "Air" as air: i16, optional "CustomName" as custom_name: CowStr, optional "CustomNameVisible" as custom_name_visible: bool, "FallDistance" as fall_distance: f32, "Fire" as fire: i16, optional "Glowing" as glowing: bool, optional "HasVisualFire" as has_visual_fire: bool, "Invulnerable" as invulnerable: bool, "Motion" as motion: Vec<f64>, optional "NoGravity" as no_gravity: bool, "OnGround" as on_ground: bool, optional "Passengers" as passengers: Vec<Box<super::Entity>>, "PortalCooldown" as portal_cooldown: i32, optional "Pos" as pos: Vec<f64>, "Rotation" as rotation: Vec<f32>, optional "Silent" as silent: bool, optional "Tags" as tags: Vec<CowStr>, optional "TicksFrozen" as ticks_frozen: i32, "UUID" as uuid: u128 }
2984        Evoker > SpellcasterIllager {  }
2985        EvokerFangs > Entity { optional "Owner" as owner: u128, "Warmup" as warmup: i32 }
2986        ExperienceOrb > Entity { "Age" as age: i16, "Count" as count: i32, "Health" as health: i16, "Value" as value: i16 }
2987        EyeOfEnder > Entity { optional "Item" as item: super::compounds::ItemStack_save }
2988        FallingBlockEntity > Entity { "BlockState" as block_state: super::BlockState, "DropItem" as drop_item: bool, "FallHurtAmount" as fall_hurt_amount: f32, "FallHurtMax" as fall_hurt_max: i32, "HurtEntities" as hurt_entities: bool, optional "TileEntityData" as tile_entity_data: HashMap<CowStr, fastnbt::Value>, "Time" as time: i32 }
2989        Fireball > AbstractHurtingProjectile { optional "Item" as item: super::compounds::ItemStack_save }
2990        FireworkRocketEntity > Projectile { optional "FireworksItem" as fireworks_item: super::compounds::ItemStack_save, "Life" as life: i32, "LifeTime" as life_time: i32, "ShotAtAngle" as shot_at_angle: bool }
2991        FishingHook > Projectile {  }
2992        FlyingMob > Mob {  }
2993        Fox > Animal { "Crouching" as crouching: bool, "Sitting" as sitting: bool, "Sleeping" as sleeping: bool, "Trusted" as trusted: Vec<fastnbt::IntArray>, "Type" as r#type: CowStr }
2994        Frog > Animal { "variant" as variant: CowStr }
2995        Ghast > FlyingMob { "ExplosionPower" as explosion_power: i8 }
2996        Giant > Monster {  }
2997        GlowItemFrame > ItemFrame {  }
2998        GlowSquid > Squid { "DarkTicksRemaining" as dark_ticks_remaining: i32 }
2999        Goat > Animal { "HasLeftHorn" as has_left_horn: bool, "HasRightHorn" as has_right_horn: bool, "IsScreamingGoat" as is_screaming_goat: bool }
3000        Guardian > Monster {  }
3001        HangingEntity > Entity { "TileX" as tile_x: i32, "TileY" as tile_y: i32, "TileZ" as tile_z: i32 }
3002        Hoglin > Animal { optional "CannotBeHunted" as cannot_be_hunted: bool, optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
3003        Horse > AbstractHorse { optional "ArmorItem" as armor_item: super::compounds::ItemStack_save, "Variant" as variant: i32 }
3004        Husk > Zombie {  }
3005        Illusioner > SpellcasterIllager {  }
3006        Interaction > Entity { optional "attack" as attack: fastnbt::Value, "height" as height: f32, optional "interaction" as interaction: fastnbt::Value, "response" as response: bool, "width" as width: f32 }
3007        IronGolem > AbstractGolem { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "PlayerCreated" as player_created: bool }
3008        ItemDisplay > Display { "item" as item: super::compounds::ItemStack_save, optional "item_display" as item_display: fastnbt::Value }
3009        ItemEntity > Entity { "Age" as age: i16, "Health" as health: i16, optional "Item" as item: super::compounds::ItemStack_save, optional "Owner" as owner: u128, "PickupDelay" as pickup_delay: i16, optional "Thrower" as thrower: u128 }
3010        ItemFrame > HangingEntity { "Facing" as facing: i8, "Fixed" as fixed: bool, "Invisible" as invisible: bool, optional "Item" as item: super::compounds::ItemStack_save, optional "ItemDropChance" as item_drop_chance: f32, optional "ItemRotation" as item_rotation: i8 }
3011        LargeFireball > Fireball { "ExplosionPower" as explosion_power: i8 }
3012        LeashFenceKnotEntity > HangingEntity {  }
3013        LightningBolt > Entity {  }
3014        LivingEntity > Entity { "AbsorptionAmount" as absorption_amount: f32, optional "ActiveEffects" as active_effects: Vec<super::compounds::MobEffectInstance_save>, "Attributes" as attributes: Vec<super::compounds::AttributeInstance_save>, optional "Brain" as brain: fastnbt::Value, "DeathTime" as death_time: i16, "FallFlying" as fall_flying: bool, "Health" as health: f32, "HurtByTimestamp" as hurt_by_timestamp: i32, "HurtTime" as hurt_time: i16, optional "SleepingX" as sleeping_x: i32, optional "SleepingY" as sleeping_y: i32, optional "SleepingZ" as sleeping_z: i32 }
3015        Llama > AbstractChestedHorse { optional "DecorItem" as decor_item: super::compounds::ItemStack_save, "Strength" as strength: i32, "Variant" as variant: i32 }
3016        LlamaSpit > Projectile {  }
3017        MagmaCube > Slime {  }
3018        Marker > Entity { "data" as data: HashMap<CowStr, fastnbt::Value> }
3019        Minecart > AbstractMinecart {  }
3020        MinecartChest > AbstractMinecartContainer {  }
3021        MinecartCommandBlock > AbstractMinecart { "Command" as command: CowStr, "CustomName" as custom_name: CowStr, optional "LastExecution" as last_execution: i64, optional "LastOutput" as last_output: CowStr, "SuccessCount" as success_count: i32, "TrackOutput" as track_output: bool, "UpdateLastExecution" as update_last_execution: bool }
3022        MinecartFurnace > AbstractMinecart { "Fuel" as fuel: i16, "PushX" as push_x: f64, "PushZ" as push_z: f64 }
3023        MinecartHopper > AbstractMinecartContainer { "Enabled" as enabled: bool }
3024        MinecartSpawner > AbstractMinecart { "Delay" as delay: i16, "MaxNearbyEntities" as max_nearby_entities: i16, "MaxSpawnDelay" as max_spawn_delay: i16, "MinSpawnDelay" as min_spawn_delay: i16, "RequiredPlayerRange" as required_player_range: i16, "SpawnCount" as spawn_count: i16, optional "SpawnData" as spawn_data: fastnbt::Value, "SpawnPotentials" as spawn_potentials: fastnbt::Value, "SpawnRange" as spawn_range: i16 }
3025        MinecartTNT > AbstractMinecart { "TNTFuse" as tnt_fuse: i32 }
3026        Mob > LivingEntity { "ArmorDropChances" as armor_drop_chances: Vec<f32>, "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save_1>, "CanPickUpLoot" as can_pick_up_loot: bool, optional "DeathLootTable" as death_loot_table: CowStr, optional "DeathLootTableSeed" as death_loot_table_seed: i64, "HandDropChances" as hand_drop_chances: Vec<f32>, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save_1>, optional "Leash" as leash: super::compounds::Compound2, "LeftHanded" as left_handed: bool, optional "NoAI" as no_ai: bool, "PersistenceRequired" as persistence_required: bool }
3027        Monster > PathfinderMob {  }
3028        Mule > AbstractChestedHorse {  }
3029        MushroomCow > Cow { optional "EffectDuration" as effect_duration: i32, optional "EffectId" as effect_id: i32, "Type" as r#type: CowStr }
3030        Ocelot > Animal { "Trusting" as trusting: bool }
3031        Painting > HangingEntity { "facing" as facing: i8, "variant" as variant: CowStr }
3032        Panda > Animal { "HiddenGene" as hidden_gene: CowStr, "MainGene" as main_gene: CowStr }
3033        Parrot > ShoulderRidingEntity { "Variant" as variant: i32 }
3034        PathfinderMob > Mob {  }
3035        PatrollingMonster > Monster { "PatrolLeader" as patrol_leader: bool, optional "PatrolTarget" as patrol_target: super::compounds::NbtUtils_writeBlockPos, "Patrolling" as patrolling: bool }
3036        Phantom > FlyingMob { "AX" as ax: i32, "AY" as ay: i32, "AZ" as az: i32, "Size" as size: i32 }
3037        Pig > Animal { "Saddle" as saddle: bool }
3038        Piglin > AbstractPiglin { optional "CannotHunt" as cannot_hunt: bool, "Inventory" as inventory: Vec<super::compounds::ItemStack_save>, optional "IsBaby" as is_baby: bool }
3039        PiglinBrute > AbstractPiglin {  }
3040        Pillager > AbstractIllager { "Inventory" as inventory: Vec<super::compounds::ItemStack_save> }
3041        PolarBear > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
3042        PrimedTnt > Entity { "Fuse" as fuse: i16 }
3043        Projectile > Entity { "HasBeenShot" as has_been_shot: bool, optional "LeftOwner" as left_owner: bool, optional "Owner" as owner: u128 }
3044        Pufferfish > AbstractFish { "PuffState" as puff_state: i32 }
3045        Rabbit > Animal { "MoreCarrotTicks" as more_carrot_ticks: i32, "RabbitType" as rabbit_type: i32 }
3046        Raider > PatrollingMonster { "CanJoinRaid" as can_join_raid: bool, optional "RaidId" as raid_id: i32, "Wave" as wave: i32 }
3047        Ravager > Raider { "AttackTick" as attack_tick: i32, "RoarTick" as roar_tick: i32, "StunTick" as stun_tick: i32 }
3048        Salmon > AbstractSchoolingFish {  }
3049        Sheep > Animal { "Color" as color: i8, "Sheared" as sheared: bool }
3050        ShoulderRidingEntity > TamableAnimal {  }
3051        Shulker > AbstractGolem { "AttachFace" as attach_face: i8, "Color" as color: i8, "Peek" as peek: i8 }
3052        ShulkerBullet > Projectile { optional "Dir" as dir: i32, "Steps" as steps: i32, "TXD" as txd: f64, "TYD" as tyd: f64, "TZD" as tzd: f64, optional "Target" as target: u128 }
3053        Silverfish > Monster {  }
3054        Skeleton > AbstractSkeleton { "StrayConversionTime" as stray_conversion_time: i32 }
3055        SkeletonHorse > AbstractHorse { "SkeletonTrap" as skeleton_trap: bool, "SkeletonTrapTime" as skeleton_trap_time: i32 }
3056        Slime > Mob { "Size" as size: i32, "wasOnGround" as was_on_ground: bool }
3057        SmallFireball > Fireball {  }
3058        Sniffer > Animal {  }
3059        SnowGolem > AbstractGolem { "Pumpkin" as pumpkin: bool }
3060        Snowball > ThrowableItemProjectile {  }
3061        SpectralArrow > AbstractArrow { "Duration" as duration: i32 }
3062        SpellcasterIllager > AbstractIllager { "SpellTicks" as spell_ticks: i32 }
3063        Spider > Monster {  }
3064        Squid > WaterAnimal {  }
3065        Stray > AbstractSkeleton {  }
3066        Strider > Animal { "Saddle" as saddle: bool }
3067        Tadpole > AbstractFish { "Age" as age: i32 }
3068        TamableAnimal > Animal { optional "Owner" as owner: u128, "Sitting" as sitting: bool }
3069        TextDisplay > Display { optional "alignment" as alignment: fastnbt::Value, "background" as background: i32, "default_background" as default_background: bool, "line_width" as line_width: i32, "see_through" as see_through: bool, "shadow" as shadow: bool, "text" as text: CowStr, "text_opacity" as text_opacity: i8 }
3070        ThrowableItemProjectile > ThrowableProjectile { optional "Item" as item: super::compounds::ItemStack_save }
3071        ThrowableProjectile > Projectile {  }
3072        ThrownEgg > ThrowableItemProjectile {  }
3073        ThrownEnderpearl > ThrowableItemProjectile {  }
3074        ThrownExperienceBottle > ThrowableItemProjectile {  }
3075        ThrownPotion > ThrowableItemProjectile {  }
3076        ThrownTrident > AbstractArrow { "DealtDamage" as dealt_damage: bool, "Trident" as trident: super::compounds::ItemStack_save }
3077        TraderLlama > Llama { "DespawnDelay" as despawn_delay: i32 }
3078        TropicalFish > AbstractSchoolingFish { "Variant" as variant: i32 }
3079        Turtle > Animal { "HasEgg" as has_egg: bool, "HomePosX" as home_pos_x: i32, "HomePosY" as home_pos_y: i32, "HomePosZ" as home_pos_z: i32, "TravelPosX" as travel_pos_x: i32, "TravelPosY" as travel_pos_y: i32, "TravelPosZ" as travel_pos_z: i32 }
3080        Vex > Monster { optional "BoundX" as bound_x: i32, optional "BoundY" as bound_y: i32, optional "BoundZ" as bound_z: i32, optional "LifeTicks" as life_ticks: i32 }
3081        Villager > AbstractVillager { optional "AssignProfessionWhenSpawned" as assign_profession_when_spawned: bool, "FoodLevel" as food_level: i8, "Gossips" as gossips: fastnbt::Value, "LastGossipDecay" as last_gossip_decay: i64, "LastRestock" as last_restock: i64, "RestocksToday" as restocks_today: i32, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
3082        Vindicator > AbstractIllager { optional "Johnny" as johnny: bool }
3083        WanderingTrader > AbstractVillager { "DespawnDelay" as despawn_delay: i32, optional "WanderTarget" as wander_target: super::compounds::NbtUtils_writeBlockPos }
3084        Warden > Monster { optional "anger" as anger: fastnbt::Value, optional "listener" as listener: fastnbt::Value }
3085        WaterAnimal > PathfinderMob {  }
3086        Witch > Raider {  }
3087        WitherBoss > Monster { "Invul" as invul: i32 }
3088        WitherSkeleton > AbstractSkeleton {  }
3089        WitherSkull > AbstractHurtingProjectile {  }
3090        Wolf > TamableAnimal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CollarColor" as collar_color: i8 }
3091        Zoglin > Monster { optional "IsBaby" as is_baby: bool }
3092        Zombie > Monster { "CanBreakDoors" as can_break_doors: bool, "DrownedConversionTime" as drowned_conversion_time: i32, "InWaterTime" as in_water_time: i32, "IsBaby" as is_baby: bool }
3093        ZombieHorse > AbstractHorse {  }
3094        ZombieVillager > Zombie { optional "ConversionPlayer" as conversion_player: u128, "ConversionTime" as conversion_time: i32, optional "Gossips" as gossips: fastnbt::Value, optional "Offers" as offers: HashMap<CowStr, fastnbt::Value>, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
3095        ZombifiedPiglin > Zombie { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
3096    }
3097
3098    entity_compound_types! {
3099        "1.19.4";
3100        ArmorStand_writePose { optional "Body" as body: Vec<f32>, optional "Head" as head: Vec<f32>, optional "LeftArm" as left_arm: Vec<f32>, optional "LeftLeg" as left_leg: Vec<f32>, optional "RightArm" as right_arm: Vec<f32>, optional "RightLeg" as right_leg: Vec<f32> }
3101        AttributeInstance_save { "Base" as base: f64, optional "Modifiers" as modifiers: Vec<super::compounds::AttributeModifier_save>, "Name" as name: CowStr }
3102        AttributeModifier_save { "Amount" as amount: f64, "Name" as name: CowStr, "Operation" as operation: i32, "UUID" as uuid: u128 }
3103        Compound2 { optional "UUID" as uuid: u128, optional "X" as x: i32, optional "Y" as y: i32, optional "Z" as z: i32 }
3104        ItemStack_save { "Count" as count: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
3105        ItemStack_save_1 { optional "Count" as count: i8, optional "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
3106        ItemStack_save_2 { "Count" as count: i8, "Slot" as slot: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
3107        MerchantOffer_createTag { "buy" as buy: super::compounds::ItemStack_save, "buyB" as buy_b: super::compounds::ItemStack_save, "demand" as demand: i32, "maxUses" as max_uses: i32, "priceMultiplier" as price_multiplier: f32, "rewardExp" as reward_exp: bool, "sell" as sell: super::compounds::ItemStack_save, "specialPrice" as special_price: i32, "uses" as uses: i32, "xp" as xp: i32 }
3108        MerchantOffers_createTag { "Recipes" as recipes: Vec<super::compounds::MerchantOffer_createTag> }
3109        MobEffectInstance_save { "Ambient" as ambient: bool, "Amplifier" as amplifier: i8, "Duration" as duration: i32, optional "FactorCalculationData" as factor_calculation_data: fastnbt::Value, optional "HiddenEffect" as hidden_effect: Box<super::compounds::MobEffectInstance_save>, "Id" as id: i32, "ShowIcon" as show_icon: bool, "ShowParticles" as show_particles: bool }
3110        NbtUtils_writeBlockPos { "X" as x: i32, "Y" as y: i32, "Z" as z: i32 }
3111    }
3112}
3113
3114/// Accompanying types for entities in Minecraft 1.20.
3115#[cfg(feature = "1.20")]
3116pub mod mc1_20 {
3117    entities! {
3118        "1.20", mc1_20;
3119        "minecraft:allay", Allay: Allay;
3120        "minecraft:area_effect_cloud", AreaEffectCloud: AreaEffectCloud;
3121        "minecraft:armor_stand", ArmorStand: ArmorStand;
3122        "minecraft:arrow", Arrow: Arrow;
3123        "minecraft:axolotl", Axolotl: Axolotl;
3124        "minecraft:bat", Bat: Bat;
3125        "minecraft:bee", Bee: Bee;
3126        "minecraft:blaze", Blaze: Blaze;
3127        "minecraft:block_display", BlockDisplay: BlockDisplay;
3128        "minecraft:boat", Boat: Boat;
3129        "minecraft:camel", Camel: Camel;
3130        "minecraft:cat", Cat: Cat;
3131        "minecraft:cave_spider", CaveSpider: CaveSpider;
3132        "minecraft:chest_boat", ChestBoat: ChestBoat;
3133        "minecraft:chest_minecart", ChestMinecart: MinecartChest;
3134        "minecraft:chicken", Chicken: Chicken;
3135        "minecraft:cod", Cod: Cod;
3136        "minecraft:command_block_minecart", CommandBlockMinecart: MinecartCommandBlock;
3137        "minecraft:cow", Cow: Cow;
3138        "minecraft:creeper", Creeper: Creeper;
3139        "minecraft:dolphin", Dolphin: Dolphin;
3140        "minecraft:donkey", Donkey: Donkey;
3141        "minecraft:dragon_fireball", DragonFireball: DragonFireball;
3142        "minecraft:drowned", Drowned: Drowned;
3143        "minecraft:egg", Egg: ThrownEgg;
3144        "minecraft:elder_guardian", ElderGuardian: ElderGuardian;
3145        "minecraft:end_crystal", EndCrystal: EndCrystal;
3146        "minecraft:ender_dragon", EnderDragon: EnderDragon;
3147        "minecraft:ender_pearl", EnderPearl: ThrownEnderpearl;
3148        "minecraft:enderman", Enderman: EnderMan;
3149        "minecraft:endermite", Endermite: Endermite;
3150        "minecraft:evoker", Evoker: Evoker;
3151        "minecraft:evoker_fangs", EvokerFangs: EvokerFangs;
3152        "minecraft:experience_bottle", ExperienceBottle: ThrownExperienceBottle;
3153        "minecraft:experience_orb", ExperienceOrb: ExperienceOrb;
3154        "minecraft:eye_of_ender", EyeOfEnder: EyeOfEnder;
3155        "minecraft:falling_block", FallingBlock: FallingBlockEntity;
3156        "minecraft:fireball", Fireball: LargeFireball;
3157        "minecraft:firework_rocket", FireworkRocket: FireworkRocketEntity;
3158        "minecraft:fishing_bobber", FishingBobber: FishingHook;
3159        "minecraft:fox", Fox: Fox;
3160        "minecraft:frog", Frog: Frog;
3161        "minecraft:furnace_minecart", FurnaceMinecart: MinecartFurnace;
3162        "minecraft:ghast", Ghast: Ghast;
3163        "minecraft:giant", Giant: Giant;
3164        "minecraft:glow_item_frame", GlowItemFrame: GlowItemFrame;
3165        "minecraft:glow_squid", GlowSquid: GlowSquid;
3166        "minecraft:goat", Goat: Goat;
3167        "minecraft:guardian", Guardian: Guardian;
3168        "minecraft:hoglin", Hoglin: Hoglin;
3169        "minecraft:hopper_minecart", HopperMinecart: MinecartHopper;
3170        "minecraft:horse", Horse: Horse;
3171        "minecraft:husk", Husk: Husk;
3172        "minecraft:illusioner", Illusioner: Illusioner;
3173        "minecraft:interaction", Interaction: Interaction;
3174        "minecraft:iron_golem", IronGolem: IronGolem;
3175        "minecraft:item", Item: ItemEntity;
3176        "minecraft:item_display", ItemDisplay: ItemDisplay;
3177        "minecraft:item_frame", ItemFrame: ItemFrame;
3178        "minecraft:leash_knot", LeashKnot: LeashFenceKnotEntity;
3179        "minecraft:lightning_bolt", LightningBolt: LightningBolt;
3180        "minecraft:llama", Llama: Llama;
3181        "minecraft:llama_spit", LlamaSpit: LlamaSpit;
3182        "minecraft:magma_cube", MagmaCube: MagmaCube;
3183        "minecraft:marker", Marker: Marker;
3184        "minecraft:minecart", Minecart: Minecart;
3185        "minecraft:mooshroom", Mooshroom: MushroomCow;
3186        "minecraft:mule", Mule: Mule;
3187        "minecraft:ocelot", Ocelot: Ocelot;
3188        "minecraft:painting", Painting: Painting;
3189        "minecraft:panda", Panda: Panda;
3190        "minecraft:parrot", Parrot: Parrot;
3191        "minecraft:phantom", Phantom: Phantom;
3192        "minecraft:pig", Pig: Pig;
3193        "minecraft:piglin", Piglin: Piglin;
3194        "minecraft:piglin_brute", PiglinBrute: PiglinBrute;
3195        "minecraft:pillager", Pillager: Pillager;
3196        "minecraft:polar_bear", PolarBear: PolarBear;
3197        "minecraft:potion", Potion: ThrownPotion;
3198        "minecraft:pufferfish", Pufferfish: Pufferfish;
3199        "minecraft:rabbit", Rabbit: Rabbit;
3200        "minecraft:ravager", Ravager: Ravager;
3201        "minecraft:salmon", Salmon: Salmon;
3202        "minecraft:sheep", Sheep: Sheep;
3203        "minecraft:shulker", Shulker: Shulker;
3204        "minecraft:shulker_bullet", ShulkerBullet: ShulkerBullet;
3205        "minecraft:silverfish", Silverfish: Silverfish;
3206        "minecraft:skeleton", Skeleton: Skeleton;
3207        "minecraft:skeleton_horse", SkeletonHorse: SkeletonHorse;
3208        "minecraft:slime", Slime: Slime;
3209        "minecraft:small_fireball", SmallFireball: SmallFireball;
3210        "minecraft:sniffer", Sniffer: Sniffer;
3211        "minecraft:snow_golem", SnowGolem: SnowGolem;
3212        "minecraft:snowball", Snowball: Snowball;
3213        "minecraft:spawner_minecart", SpawnerMinecart: MinecartSpawner;
3214        "minecraft:spectral_arrow", SpectralArrow: SpectralArrow;
3215        "minecraft:spider", Spider: Spider;
3216        "minecraft:squid", Squid: Squid;
3217        "minecraft:stray", Stray: Stray;
3218        "minecraft:strider", Strider: Strider;
3219        "minecraft:tadpole", Tadpole: Tadpole;
3220        "minecraft:text_display", TextDisplay: TextDisplay;
3221        "minecraft:tnt", Tnt: PrimedTnt;
3222        "minecraft:tnt_minecart", TntMinecart: MinecartTNT;
3223        "minecraft:trader_llama", TraderLlama: TraderLlama;
3224        "minecraft:trident", Trident: ThrownTrident;
3225        "minecraft:tropical_fish", TropicalFish: TropicalFish;
3226        "minecraft:turtle", Turtle: Turtle;
3227        "minecraft:vex", Vex: Vex;
3228        "minecraft:villager", Villager: Villager;
3229        "minecraft:vindicator", Vindicator: Vindicator;
3230        "minecraft:wandering_trader", WanderingTrader: WanderingTrader;
3231        "minecraft:warden", Warden: Warden;
3232        "minecraft:witch", Witch: Witch;
3233        "minecraft:wither", Wither: WitherBoss;
3234        "minecraft:wither_skeleton", WitherSkeleton: WitherSkeleton;
3235        "minecraft:wither_skull", WitherSkull: WitherSkull;
3236        "minecraft:wolf", Wolf: Wolf;
3237        "minecraft:zoglin", Zoglin: Zoglin;
3238        "minecraft:zombie", Zombie: Zombie;
3239        "minecraft:zombie_horse", ZombieHorse: ZombieHorse;
3240        "minecraft:zombie_villager", ZombieVillager: ZombieVillager;
3241        "minecraft:zombified_piglin", ZombifiedPiglin: ZombifiedPiglin;
3242    }
3243
3244    entity_types! {
3245        "1.20";
3246        AbstractArrow > Projectile { "PierceLevel" as pierce_level: i8, "ShotFromCrossbow" as shot_from_crossbow: bool, "SoundEvent" as sound_event: CowStr, "crit" as crit: bool, "damage" as damage: f64, optional "inBlockState" as in_block_state: super::BlockState, "inGround" as in_ground: bool, "life" as life: i16, "pickup" as pickup: i8, "shake" as shake: i8 }
3247        AbstractChestedHorse > AbstractHorse { "ChestedHorse" as chested_horse: bool, optional "Items" as items: Vec<super::compounds::ItemStack_save_2> }
3248        AbstractFish > WaterAnimal { "FromBucket" as from_bucket: bool }
3249        AbstractGolem > PathfinderMob {  }
3250        AbstractHorse > Animal { "Bred" as bred: bool, "EatingHaystack" as eating_haystack: bool, optional "Owner" as owner: u128, optional "SaddleItem" as saddle_item: super::compounds::ItemStack_save, "Tame" as tame: bool, "Temper" as temper: i32 }
3251        AbstractHurtingProjectile > Projectile { "power" as power: Vec<f64> }
3252        AbstractIllager > Raider {  }
3253        AbstractMinecart > Entity { optional "CustomDisplayTile" as custom_display_tile: bool, optional "DisplayOffset" as display_offset: i32, optional "DisplayState" as display_state: super::BlockState }
3254        AbstractMinecartContainer > AbstractMinecart { optional "Items" as items: Vec<super::compounds::ItemStack_save_2>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
3255        AbstractPiglin > Monster { optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
3256        AbstractSchoolingFish > AbstractFish {  }
3257        AbstractSkeleton > Monster {  }
3258        AbstractVillager > AgeableMob { "Inventory" as inventory: Vec<super::compounds::ItemStack_save>, optional "Offers" as offers: super::compounds::MerchantOffers_createTag }
3259        AgeableMob > PathfinderMob { "Age" as age: i32, "ForcedAge" as forced_age: i32 }
3260        Allay > PathfinderMob { "CanDuplicate" as can_duplicate: bool, "DuplicationCooldown" as duplication_cooldown: i64, "Inventory" as inventory: Vec<super::compounds::ItemStack_save>, optional "listener" as listener: fastnbt::Value }
3261        AmbientCreature > Mob {  }
3262        Animal > AgeableMob { "InLove" as in_love: i32, optional "LoveCause" as love_cause: u128 }
3263        AreaEffectCloud > Entity { "Age" as age: i32, optional "Color" as color: i32, "Duration" as duration: i32, "DurationOnUse" as duration_on_use: i32, optional "Effects" as effects: Vec<super::compounds::MobEffectInstance_save>, optional "Owner" as owner: u128, "Particle" as particle: CowStr, optional "Potion" as potion: CowStr, "Radius" as radius: f32, "RadiusOnUse" as radius_on_use: f32, "RadiusPerTick" as radius_per_tick: f32, "ReapplicationDelay" as reapplication_delay: i32, "WaitTime" as wait_time: i32 }
3264        ArmorStand > LivingEntity { "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save_1>, "DisabledSlots" as disabled_slots: i32, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save_1>, "Invisible" as invisible: bool, optional "Marker" as marker: bool, "NoBasePlate" as no_base_plate: bool, "Pose" as pose: super::compounds::ArmorStand_writePose, "ShowArms" as show_arms: bool, "Small" as small: bool }
3265        Arrow > AbstractArrow { optional "Color" as color: i32, optional "CustomPotionEffects" as custom_potion_effects: Vec<super::compounds::MobEffectInstance_save>, optional "Potion" as potion: CowStr }
3266        Axolotl > Animal { "FromBucket" as from_bucket: bool, "Variant" as variant: i32 }
3267        Bat > AmbientCreature { "BatFlags" as bat_flags: i8 }
3268        Bee > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CannotEnterHiveTicks" as cannot_enter_hive_ticks: i32, "CropsGrownSincePollination" as crops_grown_since_pollination: i32, optional "FlowerPos" as flower_pos: super::compounds::NbtUtils_writeBlockPos, "HasNectar" as has_nectar: bool, "HasStung" as has_stung: bool, optional "HivePos" as hive_pos: super::compounds::NbtUtils_writeBlockPos, "TicksSincePollination" as ticks_since_pollination: i32 }
3269        Blaze > Monster {  }
3270        BlockDisplay > Display { "block_state" as block_state: super::BlockState }
3271        Boat > Entity { "Type" as r#type: CowStr }
3272        Camel > AbstractHorse { "LastPoseTick" as last_pose_tick: i64 }
3273        Cat > TamableAnimal { "CollarColor" as collar_color: i8, "variant" as variant: CowStr }
3274        CaveSpider > Spider {  }
3275        ChestBoat > Boat { optional "Items" as items: Vec<super::compounds::ItemStack_save_2>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
3276        Chicken > Animal { "EggLayTime" as egg_lay_time: i32, "IsChickenJockey" as is_chicken_jockey: bool }
3277        Cod > AbstractSchoolingFish {  }
3278        Cow > Animal {  }
3279        Creeper > Monster { "ExplosionRadius" as explosion_radius: i8, "Fuse" as fuse: i16, "ignited" as ignited: bool, optional "powered" as powered: bool }
3280        Display > Entity { optional "billboard" as billboard: fastnbt::Value, optional "brightness" as brightness: fastnbt::Value, "glow_color_override" as glow_color_override: i32, "height" as height: f32, "interpolation_duration" as interpolation_duration: i32, "shadow_radius" as shadow_radius: f32, "shadow_strength" as shadow_strength: f32, optional "transformation" as transformation: fastnbt::Value, "view_range" as view_range: f32, "width" as width: f32 }
3281        Dolphin > WaterAnimal { "GotFish" as got_fish: bool, "Moistness" as moistness: i32, "TreasurePosX" as treasure_pos_x: i32, "TreasurePosY" as treasure_pos_y: i32, "TreasurePosZ" as treasure_pos_z: i32 }
3282        Donkey > AbstractChestedHorse {  }
3283        DragonFireball > AbstractHurtingProjectile {  }
3284        Drowned > Zombie {  }
3285        ElderGuardian > Guardian {  }
3286        EndCrystal > Entity { optional "BeamTarget" as beam_target: super::compounds::NbtUtils_writeBlockPos, "ShowBottom" as show_bottom: bool }
3287        EnderDragon > Mob { "DragonDeathTime" as dragon_death_time: i32, "DragonPhase" as dragon_phase: i32 }
3288        EnderMan > Monster { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, optional "carriedBlockState" as carried_block_state: super::BlockState }
3289        Endermite > Monster { "Lifetime" as lifetime: i32 }
3290        Entity { "Air" as air: i16, optional "CustomName" as custom_name: CowStr, optional "CustomNameVisible" as custom_name_visible: bool, "FallDistance" as fall_distance: f32, "Fire" as fire: i16, optional "Glowing" as glowing: bool, optional "HasVisualFire" as has_visual_fire: bool, "Invulnerable" as invulnerable: bool, "Motion" as motion: Vec<f64>, optional "NoGravity" as no_gravity: bool, "OnGround" as on_ground: bool, optional "Passengers" as passengers: Vec<Box<super::Entity>>, "PortalCooldown" as portal_cooldown: i32, optional "Pos" as pos: Vec<f64>, "Rotation" as rotation: Vec<f32>, optional "Silent" as silent: bool, optional "Tags" as tags: Vec<CowStr>, optional "TicksFrozen" as ticks_frozen: i32, "UUID" as uuid: u128 }
3291        Evoker > SpellcasterIllager {  }
3292        EvokerFangs > Entity { optional "Owner" as owner: u128, "Warmup" as warmup: i32 }
3293        ExperienceOrb > Entity { "Age" as age: i16, "Count" as count: i32, "Health" as health: i16, "Value" as value: i16 }
3294        EyeOfEnder > Entity { optional "Item" as item: super::compounds::ItemStack_save }
3295        FallingBlockEntity > Entity { "BlockState" as block_state: super::BlockState, "CancelDrop" as cancel_drop: bool, "DropItem" as drop_item: bool, "FallHurtAmount" as fall_hurt_amount: f32, "FallHurtMax" as fall_hurt_max: i32, "HurtEntities" as hurt_entities: bool, optional "TileEntityData" as tile_entity_data: HashMap<CowStr, fastnbt::Value>, "Time" as time: i32 }
3296        Fireball > AbstractHurtingProjectile { optional "Item" as item: super::compounds::ItemStack_save }
3297        FireworkRocketEntity > Projectile { optional "FireworksItem" as fireworks_item: super::compounds::ItemStack_save, "Life" as life: i32, "LifeTime" as life_time: i32, "ShotAtAngle" as shot_at_angle: bool }
3298        FishingHook > Projectile {  }
3299        FlyingMob > Mob {  }
3300        Fox > Animal { "Crouching" as crouching: bool, "Sitting" as sitting: bool, "Sleeping" as sleeping: bool, "Trusted" as trusted: Vec<fastnbt::IntArray>, "Type" as r#type: CowStr }
3301        Frog > Animal { "variant" as variant: CowStr }
3302        Ghast > FlyingMob { "ExplosionPower" as explosion_power: i8 }
3303        Giant > Monster {  }
3304        GlowItemFrame > ItemFrame {  }
3305        GlowSquid > Squid { "DarkTicksRemaining" as dark_ticks_remaining: i32 }
3306        Goat > Animal { "HasLeftHorn" as has_left_horn: bool, "HasRightHorn" as has_right_horn: bool, "IsScreamingGoat" as is_screaming_goat: bool }
3307        Guardian > Monster {  }
3308        HangingEntity > Entity { "TileX" as tile_x: i32, "TileY" as tile_y: i32, "TileZ" as tile_z: i32 }
3309        Hoglin > Animal { optional "CannotBeHunted" as cannot_be_hunted: bool, optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
3310        Horse > AbstractHorse { optional "ArmorItem" as armor_item: super::compounds::ItemStack_save, "Variant" as variant: i32 }
3311        Husk > Zombie {  }
3312        Illusioner > SpellcasterIllager {  }
3313        Interaction > Entity { optional "attack" as attack: fastnbt::Value, "height" as height: f32, optional "interaction" as interaction: fastnbt::Value, "response" as response: bool, "width" as width: f32 }
3314        IronGolem > AbstractGolem { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "PlayerCreated" as player_created: bool }
3315        ItemDisplay > Display { "item" as item: super::compounds::ItemStack_save, optional "item_display" as item_display: fastnbt::Value }
3316        ItemEntity > Entity { "Age" as age: i16, "Health" as health: i16, optional "Item" as item: super::compounds::ItemStack_save, optional "Owner" as owner: u128, "PickupDelay" as pickup_delay: i16, optional "Thrower" as thrower: u128 }
3317        ItemFrame > HangingEntity { "Facing" as facing: i8, "Fixed" as fixed: bool, "Invisible" as invisible: bool, optional "Item" as item: super::compounds::ItemStack_save, optional "ItemDropChance" as item_drop_chance: f32, optional "ItemRotation" as item_rotation: i8 }
3318        LargeFireball > Fireball { "ExplosionPower" as explosion_power: i8 }
3319        LeashFenceKnotEntity > HangingEntity {  }
3320        LightningBolt > Entity {  }
3321        LivingEntity > Entity { "AbsorptionAmount" as absorption_amount: f32, optional "ActiveEffects" as active_effects: Vec<super::compounds::MobEffectInstance_save>, "Attributes" as attributes: Vec<super::compounds::AttributeInstance_save>, optional "Brain" as brain: fastnbt::Value, "DeathTime" as death_time: i16, "FallFlying" as fall_flying: bool, "Health" as health: f32, "HurtByTimestamp" as hurt_by_timestamp: i32, "HurtTime" as hurt_time: i16, optional "SleepingX" as sleeping_x: i32, optional "SleepingY" as sleeping_y: i32, optional "SleepingZ" as sleeping_z: i32 }
3322        Llama > AbstractChestedHorse { optional "DecorItem" as decor_item: super::compounds::ItemStack_save, "Strength" as strength: i32, "Variant" as variant: i32 }
3323        LlamaSpit > Projectile {  }
3324        MagmaCube > Slime {  }
3325        Marker > Entity { "data" as data: HashMap<CowStr, fastnbt::Value> }
3326        Minecart > AbstractMinecart {  }
3327        MinecartChest > AbstractMinecartContainer {  }
3328        MinecartCommandBlock > AbstractMinecart { "Command" as command: CowStr, "CustomName" as custom_name: CowStr, optional "LastExecution" as last_execution: i64, optional "LastOutput" as last_output: CowStr, "SuccessCount" as success_count: i32, "TrackOutput" as track_output: bool, "UpdateLastExecution" as update_last_execution: bool }
3329        MinecartFurnace > AbstractMinecart { "Fuel" as fuel: i16, "PushX" as push_x: f64, "PushZ" as push_z: f64 }
3330        MinecartHopper > AbstractMinecartContainer { "Enabled" as enabled: bool }
3331        MinecartSpawner > AbstractMinecart { "Delay" as delay: i16, "MaxNearbyEntities" as max_nearby_entities: i16, "MaxSpawnDelay" as max_spawn_delay: i16, "MinSpawnDelay" as min_spawn_delay: i16, "RequiredPlayerRange" as required_player_range: i16, "SpawnCount" as spawn_count: i16, optional "SpawnData" as spawn_data: fastnbt::Value, "SpawnPotentials" as spawn_potentials: fastnbt::Value, "SpawnRange" as spawn_range: i16 }
3332        MinecartTNT > AbstractMinecart { "TNTFuse" as tnt_fuse: i32 }
3333        Mob > LivingEntity { "ArmorDropChances" as armor_drop_chances: Vec<f32>, "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save_1>, "CanPickUpLoot" as can_pick_up_loot: bool, optional "DeathLootTable" as death_loot_table: CowStr, optional "DeathLootTableSeed" as death_loot_table_seed: i64, "HandDropChances" as hand_drop_chances: Vec<f32>, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save_1>, optional "Leash" as leash: super::compounds::Compound2, "LeftHanded" as left_handed: bool, optional "NoAI" as no_ai: bool, "PersistenceRequired" as persistence_required: bool }
3334        Monster > PathfinderMob {  }
3335        Mule > AbstractChestedHorse {  }
3336        MushroomCow > Cow { optional "EffectDuration" as effect_duration: i32, optional "EffectId" as effect_id: i32, "Type" as r#type: CowStr }
3337        Ocelot > Animal { "Trusting" as trusting: bool }
3338        Painting > HangingEntity { "facing" as facing: i8, "variant" as variant: CowStr }
3339        Panda > Animal { "HiddenGene" as hidden_gene: CowStr, "MainGene" as main_gene: CowStr }
3340        Parrot > ShoulderRidingEntity { "Variant" as variant: i32 }
3341        PathfinderMob > Mob {  }
3342        PatrollingMonster > Monster { "PatrolLeader" as patrol_leader: bool, optional "PatrolTarget" as patrol_target: super::compounds::NbtUtils_writeBlockPos, "Patrolling" as patrolling: bool }
3343        Phantom > FlyingMob { "AX" as ax: i32, "AY" as ay: i32, "AZ" as az: i32, "Size" as size: i32 }
3344        Pig > Animal { "Saddle" as saddle: bool }
3345        Piglin > AbstractPiglin { optional "CannotHunt" as cannot_hunt: bool, "Inventory" as inventory: Vec<super::compounds::ItemStack_save>, optional "IsBaby" as is_baby: bool }
3346        PiglinBrute > AbstractPiglin {  }
3347        Pillager > AbstractIllager { "Inventory" as inventory: Vec<super::compounds::ItemStack_save> }
3348        PolarBear > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
3349        PrimedTnt > Entity { "Fuse" as fuse: i16 }
3350        Projectile > Entity { "HasBeenShot" as has_been_shot: bool, optional "LeftOwner" as left_owner: bool, optional "Owner" as owner: u128 }
3351        Pufferfish > AbstractFish { "PuffState" as puff_state: i32 }
3352        Rabbit > Animal { "MoreCarrotTicks" as more_carrot_ticks: i32, "RabbitType" as rabbit_type: i32 }
3353        Raider > PatrollingMonster { "CanJoinRaid" as can_join_raid: bool, optional "RaidId" as raid_id: i32, "Wave" as wave: i32 }
3354        Ravager > Raider { "AttackTick" as attack_tick: i32, "RoarTick" as roar_tick: i32, "StunTick" as stun_tick: i32 }
3355        Salmon > AbstractSchoolingFish {  }
3356        Sheep > Animal { "Color" as color: i8, "Sheared" as sheared: bool }
3357        ShoulderRidingEntity > TamableAnimal {  }
3358        Shulker > AbstractGolem { "AttachFace" as attach_face: i8, "Color" as color: i8, "Peek" as peek: i8 }
3359        ShulkerBullet > Projectile { optional "Dir" as dir: i32, "Steps" as steps: i32, "TXD" as txd: f64, "TYD" as tyd: f64, "TZD" as tzd: f64, optional "Target" as target: u128 }
3360        Silverfish > Monster {  }
3361        Skeleton > AbstractSkeleton { "StrayConversionTime" as stray_conversion_time: i32 }
3362        SkeletonHorse > AbstractHorse { "SkeletonTrap" as skeleton_trap: bool, "SkeletonTrapTime" as skeleton_trap_time: i32 }
3363        Slime > Mob { "Size" as size: i32, "wasOnGround" as was_on_ground: bool }
3364        SmallFireball > Fireball {  }
3365        Sniffer > Animal {  }
3366        SnowGolem > AbstractGolem { "Pumpkin" as pumpkin: bool }
3367        Snowball > ThrowableItemProjectile {  }
3368        SpectralArrow > AbstractArrow { "Duration" as duration: i32 }
3369        SpellcasterIllager > AbstractIllager { "SpellTicks" as spell_ticks: i32 }
3370        Spider > Monster {  }
3371        Squid > WaterAnimal {  }
3372        Stray > AbstractSkeleton {  }
3373        Strider > Animal { "Saddle" as saddle: bool }
3374        Tadpole > AbstractFish { "Age" as age: i32 }
3375        TamableAnimal > Animal { optional "Owner" as owner: u128, "Sitting" as sitting: bool }
3376        TextDisplay > Display { optional "alignment" as alignment: fastnbt::Value, "background" as background: i32, "default_background" as default_background: bool, "line_width" as line_width: i32, "see_through" as see_through: bool, "shadow" as shadow: bool, "text" as text: CowStr, "text_opacity" as text_opacity: i8 }
3377        ThrowableItemProjectile > ThrowableProjectile { optional "Item" as item: super::compounds::ItemStack_save }
3378        ThrowableProjectile > Projectile {  }
3379        ThrownEgg > ThrowableItemProjectile {  }
3380        ThrownEnderpearl > ThrowableItemProjectile {  }
3381        ThrownExperienceBottle > ThrowableItemProjectile {  }
3382        ThrownPotion > ThrowableItemProjectile {  }
3383        ThrownTrident > AbstractArrow { "DealtDamage" as dealt_damage: bool, "Trident" as trident: super::compounds::ItemStack_save }
3384        TraderLlama > Llama { "DespawnDelay" as despawn_delay: i32 }
3385        TropicalFish > AbstractSchoolingFish { "Variant" as variant: i32 }
3386        Turtle > Animal { "HasEgg" as has_egg: bool, "HomePosX" as home_pos_x: i32, "HomePosY" as home_pos_y: i32, "HomePosZ" as home_pos_z: i32, "TravelPosX" as travel_pos_x: i32, "TravelPosY" as travel_pos_y: i32, "TravelPosZ" as travel_pos_z: i32 }
3387        Vex > Monster { optional "BoundX" as bound_x: i32, optional "BoundY" as bound_y: i32, optional "BoundZ" as bound_z: i32, optional "LifeTicks" as life_ticks: i32 }
3388        Villager > AbstractVillager { optional "AssignProfessionWhenSpawned" as assign_profession_when_spawned: bool, "FoodLevel" as food_level: i8, "Gossips" as gossips: fastnbt::Value, "LastGossipDecay" as last_gossip_decay: i64, "LastRestock" as last_restock: i64, "RestocksToday" as restocks_today: i32, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
3389        Vindicator > AbstractIllager { optional "Johnny" as johnny: bool }
3390        WanderingTrader > AbstractVillager { "DespawnDelay" as despawn_delay: i32, optional "WanderTarget" as wander_target: super::compounds::NbtUtils_writeBlockPos }
3391        Warden > Monster { optional "anger" as anger: fastnbt::Value, optional "listener" as listener: fastnbt::Value }
3392        WaterAnimal > PathfinderMob {  }
3393        Witch > Raider {  }
3394        WitherBoss > Monster { "Invul" as invul: i32 }
3395        WitherSkeleton > AbstractSkeleton {  }
3396        WitherSkull > AbstractHurtingProjectile {  }
3397        Wolf > TamableAnimal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CollarColor" as collar_color: i8 }
3398        Zoglin > Monster { optional "IsBaby" as is_baby: bool }
3399        Zombie > Monster { "CanBreakDoors" as can_break_doors: bool, "DrownedConversionTime" as drowned_conversion_time: i32, "InWaterTime" as in_water_time: i32, "IsBaby" as is_baby: bool }
3400        ZombieHorse > AbstractHorse {  }
3401        ZombieVillager > Zombie { optional "ConversionPlayer" as conversion_player: u128, "ConversionTime" as conversion_time: i32, optional "Gossips" as gossips: fastnbt::Value, optional "Offers" as offers: HashMap<CowStr, fastnbt::Value>, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
3402        ZombifiedPiglin > Zombie { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
3403    }
3404
3405    entity_compound_types! {
3406        "1.20";
3407        ArmorStand_writePose { optional "Body" as body: Vec<f32>, optional "Head" as head: Vec<f32>, optional "LeftArm" as left_arm: Vec<f32>, optional "LeftLeg" as left_leg: Vec<f32>, optional "RightArm" as right_arm: Vec<f32>, optional "RightLeg" as right_leg: Vec<f32> }
3408        AttributeInstance_save { "Base" as base: f64, optional "Modifiers" as modifiers: Vec<super::compounds::AttributeModifier_save>, "Name" as name: CowStr }
3409        AttributeModifier_save { "Amount" as amount: f64, "Name" as name: CowStr, "Operation" as operation: i32, "UUID" as uuid: u128 }
3410        Compound2 { optional "UUID" as uuid: u128, optional "X" as x: i32, optional "Y" as y: i32, optional "Z" as z: i32 }
3411        ItemStack_save { "Count" as count: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
3412        ItemStack_save_1 { optional "Count" as count: i8, optional "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
3413        ItemStack_save_2 { "Count" as count: i8, "Slot" as slot: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
3414        MerchantOffer_createTag { "buy" as buy: super::compounds::ItemStack_save, "buyB" as buy_b: super::compounds::ItemStack_save, "demand" as demand: i32, "maxUses" as max_uses: i32, "priceMultiplier" as price_multiplier: f32, "rewardExp" as reward_exp: bool, "sell" as sell: super::compounds::ItemStack_save, "specialPrice" as special_price: i32, "uses" as uses: i32, "xp" as xp: i32 }
3415        MerchantOffers_createTag { "Recipes" as recipes: Vec<super::compounds::MerchantOffer_createTag> }
3416        MobEffectInstance_save { "Ambient" as ambient: bool, "Amplifier" as amplifier: i8, "Duration" as duration: i32, optional "FactorCalculationData" as factor_calculation_data: fastnbt::Value, optional "HiddenEffect" as hidden_effect: Box<super::compounds::MobEffectInstance_save>, "Id" as id: i32, "ShowIcon" as show_icon: bool, "ShowParticles" as show_particles: bool }
3417        NbtUtils_writeBlockPos { "X" as x: i32, "Y" as y: i32, "Z" as z: i32 }
3418    }
3419}
3420
3421/// Accompanying types for entities in Minecraft 1.20.2.
3422#[cfg(feature = "1.20.2")]
3423pub mod mc1_20_2 {
3424    entities! {
3425        "1.20.2", mc1_20_2;
3426        "minecraft:allay", Allay: Allay;
3427        "minecraft:area_effect_cloud", AreaEffectCloud: AreaEffectCloud;
3428        "minecraft:armor_stand", ArmorStand: ArmorStand;
3429        "minecraft:arrow", Arrow: Arrow;
3430        "minecraft:axolotl", Axolotl: Axolotl;
3431        "minecraft:bat", Bat: Bat;
3432        "minecraft:bee", Bee: Bee;
3433        "minecraft:blaze", Blaze: Blaze;
3434        "minecraft:block_display", BlockDisplay: BlockDisplay;
3435        "minecraft:boat", Boat: Boat;
3436        "minecraft:camel", Camel: Camel;
3437        "minecraft:cat", Cat: Cat;
3438        "minecraft:cave_spider", CaveSpider: CaveSpider;
3439        "minecraft:chest_boat", ChestBoat: ChestBoat;
3440        "minecraft:chest_minecart", ChestMinecart: MinecartChest;
3441        "minecraft:chicken", Chicken: Chicken;
3442        "minecraft:cod", Cod: Cod;
3443        "minecraft:command_block_minecart", CommandBlockMinecart: MinecartCommandBlock;
3444        "minecraft:cow", Cow: Cow;
3445        "minecraft:creeper", Creeper: Creeper;
3446        "minecraft:dolphin", Dolphin: Dolphin;
3447        "minecraft:donkey", Donkey: Donkey;
3448        "minecraft:dragon_fireball", DragonFireball: DragonFireball;
3449        "minecraft:drowned", Drowned: Drowned;
3450        "minecraft:egg", Egg: ThrownEgg;
3451        "minecraft:elder_guardian", ElderGuardian: ElderGuardian;
3452        "minecraft:end_crystal", EndCrystal: EndCrystal;
3453        "minecraft:ender_dragon", EnderDragon: EnderDragon;
3454        "minecraft:ender_pearl", EnderPearl: ThrownEnderpearl;
3455        "minecraft:enderman", Enderman: EnderMan;
3456        "minecraft:endermite", Endermite: Endermite;
3457        "minecraft:evoker", Evoker: Evoker;
3458        "minecraft:evoker_fangs", EvokerFangs: EvokerFangs;
3459        "minecraft:experience_bottle", ExperienceBottle: ThrownExperienceBottle;
3460        "minecraft:experience_orb", ExperienceOrb: ExperienceOrb;
3461        "minecraft:eye_of_ender", EyeOfEnder: EyeOfEnder;
3462        "minecraft:falling_block", FallingBlock: FallingBlockEntity;
3463        "minecraft:fireball", Fireball: LargeFireball;
3464        "minecraft:firework_rocket", FireworkRocket: FireworkRocketEntity;
3465        "minecraft:fishing_bobber", FishingBobber: FishingHook;
3466        "minecraft:fox", Fox: Fox;
3467        "minecraft:frog", Frog: Frog;
3468        "minecraft:furnace_minecart", FurnaceMinecart: MinecartFurnace;
3469        "minecraft:ghast", Ghast: Ghast;
3470        "minecraft:giant", Giant: Giant;
3471        "minecraft:glow_item_frame", GlowItemFrame: GlowItemFrame;
3472        "minecraft:glow_squid", GlowSquid: GlowSquid;
3473        "minecraft:goat", Goat: Goat;
3474        "minecraft:guardian", Guardian: Guardian;
3475        "minecraft:hoglin", Hoglin: Hoglin;
3476        "minecraft:hopper_minecart", HopperMinecart: MinecartHopper;
3477        "minecraft:horse", Horse: Horse;
3478        "minecraft:husk", Husk: Husk;
3479        "minecraft:illusioner", Illusioner: Illusioner;
3480        "minecraft:interaction", Interaction: Interaction;
3481        "minecraft:iron_golem", IronGolem: IronGolem;
3482        "minecraft:item", Item: ItemEntity;
3483        "minecraft:item_display", ItemDisplay: ItemDisplay;
3484        "minecraft:item_frame", ItemFrame: ItemFrame;
3485        "minecraft:leash_knot", LeashKnot: LeashFenceKnotEntity;
3486        "minecraft:lightning_bolt", LightningBolt: LightningBolt;
3487        "minecraft:llama", Llama: Llama;
3488        "minecraft:llama_spit", LlamaSpit: LlamaSpit;
3489        "minecraft:magma_cube", MagmaCube: MagmaCube;
3490        "minecraft:marker", Marker: Marker;
3491        "minecraft:minecart", Minecart: Minecart;
3492        "minecraft:mooshroom", Mooshroom: MushroomCow;
3493        "minecraft:mule", Mule: Mule;
3494        "minecraft:ocelot", Ocelot: Ocelot;
3495        "minecraft:painting", Painting: Painting;
3496        "minecraft:panda", Panda: Panda;
3497        "minecraft:parrot", Parrot: Parrot;
3498        "minecraft:phantom", Phantom: Phantom;
3499        "minecraft:pig", Pig: Pig;
3500        "minecraft:piglin", Piglin: Piglin;
3501        "minecraft:piglin_brute", PiglinBrute: PiglinBrute;
3502        "minecraft:pillager", Pillager: Pillager;
3503        "minecraft:polar_bear", PolarBear: PolarBear;
3504        "minecraft:potion", Potion: ThrownPotion;
3505        "minecraft:pufferfish", Pufferfish: Pufferfish;
3506        "minecraft:rabbit", Rabbit: Rabbit;
3507        "minecraft:ravager", Ravager: Ravager;
3508        "minecraft:salmon", Salmon: Salmon;
3509        "minecraft:sheep", Sheep: Sheep;
3510        "minecraft:shulker", Shulker: Shulker;
3511        "minecraft:shulker_bullet", ShulkerBullet: ShulkerBullet;
3512        "minecraft:silverfish", Silverfish: Silverfish;
3513        "minecraft:skeleton", Skeleton: Skeleton;
3514        "minecraft:skeleton_horse", SkeletonHorse: SkeletonHorse;
3515        "minecraft:slime", Slime: Slime;
3516        "minecraft:small_fireball", SmallFireball: SmallFireball;
3517        "minecraft:sniffer", Sniffer: Sniffer;
3518        "minecraft:snow_golem", SnowGolem: SnowGolem;
3519        "minecraft:snowball", Snowball: Snowball;
3520        "minecraft:spawner_minecart", SpawnerMinecart: MinecartSpawner;
3521        "minecraft:spectral_arrow", SpectralArrow: SpectralArrow;
3522        "minecraft:spider", Spider: Spider;
3523        "minecraft:squid", Squid: Squid;
3524        "minecraft:stray", Stray: Stray;
3525        "minecraft:strider", Strider: Strider;
3526        "minecraft:tadpole", Tadpole: Tadpole;
3527        "minecraft:text_display", TextDisplay: TextDisplay;
3528        "minecraft:tnt", Tnt: PrimedTnt;
3529        "minecraft:tnt_minecart", TntMinecart: MinecartTNT;
3530        "minecraft:trader_llama", TraderLlama: TraderLlama;
3531        "minecraft:trident", Trident: ThrownTrident;
3532        "minecraft:tropical_fish", TropicalFish: TropicalFish;
3533        "minecraft:turtle", Turtle: Turtle;
3534        "minecraft:vex", Vex: Vex;
3535        "minecraft:villager", Villager: Villager;
3536        "minecraft:vindicator", Vindicator: Vindicator;
3537        "minecraft:wandering_trader", WanderingTrader: WanderingTrader;
3538        "minecraft:warden", Warden: Warden;
3539        "minecraft:witch", Witch: Witch;
3540        "minecraft:wither", Wither: WitherBoss;
3541        "minecraft:wither_skeleton", WitherSkeleton: WitherSkeleton;
3542        "minecraft:wither_skull", WitherSkull: WitherSkull;
3543        "minecraft:wolf", Wolf: Wolf;
3544        "minecraft:zoglin", Zoglin: Zoglin;
3545        "minecraft:zombie", Zombie: Zombie;
3546        "minecraft:zombie_horse", ZombieHorse: ZombieHorse;
3547        "minecraft:zombie_villager", ZombieVillager: ZombieVillager;
3548        "minecraft:zombified_piglin", ZombifiedPiglin: ZombifiedPiglin;
3549    }
3550
3551    entity_types! {
3552        "1.20.2";
3553        AbstractArrow > Projectile { "PierceLevel" as pierce_level: i8, "ShotFromCrossbow" as shot_from_crossbow: bool, "SoundEvent" as sound_event: CowStr, "crit" as crit: bool, "damage" as damage: f64, optional "inBlockState" as in_block_state: super::BlockState, "inGround" as in_ground: bool, "life" as life: i16, "pickup" as pickup: i8, "shake" as shake: i8 }
3554        AbstractChestedHorse > AbstractHorse { "ChestedHorse" as chested_horse: bool, optional "Items" as items: Vec<super::compounds::ItemStack_save_2> }
3555        AbstractFish > WaterAnimal { "FromBucket" as from_bucket: bool }
3556        AbstractGolem > PathfinderMob {  }
3557        AbstractHorse > Animal { "Bred" as bred: bool, "EatingHaystack" as eating_haystack: bool, optional "Owner" as owner: u128, optional "SaddleItem" as saddle_item: super::compounds::ItemStack_save, "Tame" as tame: bool, "Temper" as temper: i32 }
3558        AbstractHurtingProjectile > Projectile { "power" as power: Vec<f64> }
3559        AbstractIllager > Raider {  }
3560        AbstractMinecart > Entity { optional "CustomDisplayTile" as custom_display_tile: bool, optional "DisplayOffset" as display_offset: i32, optional "DisplayState" as display_state: super::BlockState }
3561        AbstractMinecartContainer > AbstractMinecart { optional "Items" as items: Vec<super::compounds::ItemStack_save_2>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
3562        AbstractPiglin > Monster { optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
3563        AbstractSchoolingFish > AbstractFish {  }
3564        AbstractSkeleton > Monster {  }
3565        AbstractVillager > AgeableMob { "Inventory" as inventory: Vec<super::compounds::ItemStack_save>, optional "Offers" as offers: super::compounds::MerchantOffers_createTag }
3566        AgeableMob > PathfinderMob { "Age" as age: i32, "ForcedAge" as forced_age: i32 }
3567        Allay > PathfinderMob { "CanDuplicate" as can_duplicate: bool, "DuplicationCooldown" as duplication_cooldown: i64, "Inventory" as inventory: Vec<super::compounds::ItemStack_save>, optional "listener" as listener: fastnbt::Value }
3568        AmbientCreature > Mob {  }
3569        Animal > AgeableMob { "InLove" as in_love: i32, optional "LoveCause" as love_cause: u128 }
3570        AreaEffectCloud > Entity { "Age" as age: i32, optional "Color" as color: i32, "Duration" as duration: i32, "DurationOnUse" as duration_on_use: i32, optional "Owner" as owner: u128, "Particle" as particle: CowStr, optional "Potion" as potion: CowStr, "Radius" as radius: f32, "RadiusOnUse" as radius_on_use: f32, "RadiusPerTick" as radius_per_tick: f32, "ReapplicationDelay" as reapplication_delay: i32, "WaitTime" as wait_time: i32, optional "effects" as effects: Vec<super::compounds::MobEffectInstance_save> }
3571        ArmorStand > LivingEntity { "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save_1>, "DisabledSlots" as disabled_slots: i32, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save_1>, "Invisible" as invisible: bool, optional "Marker" as marker: bool, "NoBasePlate" as no_base_plate: bool, "Pose" as pose: super::compounds::ArmorStand_writePose, "ShowArms" as show_arms: bool, "Small" as small: bool }
3572        Arrow > AbstractArrow { optional "Color" as color: i32, optional "Potion" as potion: CowStr, optional "custom_potion_effects" as custom_potion_effects: Vec<super::compounds::MobEffectInstance_save> }
3573        Axolotl > Animal { "FromBucket" as from_bucket: bool, "Variant" as variant: i32 }
3574        Bat > AmbientCreature { "BatFlags" as bat_flags: i8 }
3575        Bee > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CannotEnterHiveTicks" as cannot_enter_hive_ticks: i32, "CropsGrownSincePollination" as crops_grown_since_pollination: i32, optional "FlowerPos" as flower_pos: super::compounds::NbtUtils_writeBlockPos, "HasNectar" as has_nectar: bool, "HasStung" as has_stung: bool, optional "HivePos" as hive_pos: super::compounds::NbtUtils_writeBlockPos, "TicksSincePollination" as ticks_since_pollination: i32 }
3576        Blaze > Monster {  }
3577        BlockDisplay > Display { "block_state" as block_state: super::BlockState }
3578        Boat > Entity { "Type" as r#type: CowStr }
3579        Camel > AbstractHorse { "LastPoseTick" as last_pose_tick: i64 }
3580        Cat > TamableAnimal { "CollarColor" as collar_color: i8, "variant" as variant: CowStr }
3581        CaveSpider > Spider {  }
3582        ChestBoat > Boat { optional "Items" as items: Vec<super::compounds::ItemStack_save_2>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
3583        Chicken > Animal { "EggLayTime" as egg_lay_time: i32, "IsChickenJockey" as is_chicken_jockey: bool }
3584        Cod > AbstractSchoolingFish {  }
3585        Cow > Animal {  }
3586        Creeper > Monster { "ExplosionRadius" as explosion_radius: i8, "Fuse" as fuse: i16, "ignited" as ignited: bool, optional "powered" as powered: bool }
3587        Display > Entity { optional "billboard" as billboard: fastnbt::Value, optional "brightness" as brightness: fastnbt::Value, "glow_color_override" as glow_color_override: i32, "height" as height: f32, "interpolation_duration" as interpolation_duration: i32, "shadow_radius" as shadow_radius: f32, "shadow_strength" as shadow_strength: f32, "teleport_duration" as teleport_duration: i32, optional "transformation" as transformation: fastnbt::Value, "view_range" as view_range: f32, "width" as width: f32 }
3588        Dolphin > WaterAnimal { "GotFish" as got_fish: bool, "Moistness" as moistness: i32, "TreasurePosX" as treasure_pos_x: i32, "TreasurePosY" as treasure_pos_y: i32, "TreasurePosZ" as treasure_pos_z: i32 }
3589        Donkey > AbstractChestedHorse {  }
3590        DragonFireball > AbstractHurtingProjectile {  }
3591        Drowned > Zombie {  }
3592        ElderGuardian > Guardian {  }
3593        EndCrystal > Entity { optional "BeamTarget" as beam_target: super::compounds::NbtUtils_writeBlockPos, "ShowBottom" as show_bottom: bool }
3594        EnderDragon > Mob { "DragonDeathTime" as dragon_death_time: i32, "DragonPhase" as dragon_phase: i32 }
3595        EnderMan > Monster { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, optional "carriedBlockState" as carried_block_state: super::BlockState }
3596        Endermite > Monster { "Lifetime" as lifetime: i32 }
3597        Entity { "Air" as air: i16, optional "CustomName" as custom_name: CowStr, optional "CustomNameVisible" as custom_name_visible: bool, "FallDistance" as fall_distance: f32, "Fire" as fire: i16, optional "Glowing" as glowing: bool, optional "HasVisualFire" as has_visual_fire: bool, "Invulnerable" as invulnerable: bool, "Motion" as motion: Vec<f64>, optional "NoGravity" as no_gravity: bool, "OnGround" as on_ground: bool, optional "Passengers" as passengers: Vec<Box<super::Entity>>, "PortalCooldown" as portal_cooldown: i32, optional "Pos" as pos: Vec<f64>, "Rotation" as rotation: Vec<f32>, optional "Silent" as silent: bool, optional "Tags" as tags: Vec<CowStr>, optional "TicksFrozen" as ticks_frozen: i32, "UUID" as uuid: u128 }
3598        Evoker > SpellcasterIllager {  }
3599        EvokerFangs > Entity { optional "Owner" as owner: u128, "Warmup" as warmup: i32 }
3600        ExperienceOrb > Entity { "Age" as age: i16, "Count" as count: i32, "Health" as health: i16, "Value" as value: i16 }
3601        EyeOfEnder > Entity { optional "Item" as item: super::compounds::ItemStack_save }
3602        FallingBlockEntity > Entity { "BlockState" as block_state: super::BlockState, "CancelDrop" as cancel_drop: bool, "DropItem" as drop_item: bool, "FallHurtAmount" as fall_hurt_amount: f32, "FallHurtMax" as fall_hurt_max: i32, "HurtEntities" as hurt_entities: bool, optional "TileEntityData" as tile_entity_data: HashMap<CowStr, fastnbt::Value>, "Time" as time: i32 }
3603        Fireball > AbstractHurtingProjectile { optional "Item" as item: super::compounds::ItemStack_save }
3604        FireworkRocketEntity > Projectile { optional "FireworksItem" as fireworks_item: super::compounds::ItemStack_save, "Life" as life: i32, "LifeTime" as life_time: i32, "ShotAtAngle" as shot_at_angle: bool }
3605        FishingHook > Projectile {  }
3606        FlyingMob > Mob {  }
3607        Fox > Animal { "Crouching" as crouching: bool, "Sitting" as sitting: bool, "Sleeping" as sleeping: bool, "Trusted" as trusted: Vec<fastnbt::IntArray>, "Type" as r#type: CowStr }
3608        Frog > Animal { "variant" as variant: CowStr }
3609        Ghast > FlyingMob { "ExplosionPower" as explosion_power: i8 }
3610        Giant > Monster {  }
3611        GlowItemFrame > ItemFrame {  }
3612        GlowSquid > Squid { "DarkTicksRemaining" as dark_ticks_remaining: i32 }
3613        Goat > Animal { "HasLeftHorn" as has_left_horn: bool, "HasRightHorn" as has_right_horn: bool, "IsScreamingGoat" as is_screaming_goat: bool }
3614        Guardian > Monster {  }
3615        HangingEntity > Entity { "TileX" as tile_x: i32, "TileY" as tile_y: i32, "TileZ" as tile_z: i32 }
3616        Hoglin > Animal { optional "CannotBeHunted" as cannot_be_hunted: bool, optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
3617        Horse > AbstractHorse { optional "ArmorItem" as armor_item: super::compounds::ItemStack_save, "Variant" as variant: i32 }
3618        Husk > Zombie {  }
3619        Illusioner > SpellcasterIllager {  }
3620        Interaction > Entity { optional "attack" as attack: fastnbt::Value, "height" as height: f32, optional "interaction" as interaction: fastnbt::Value, "response" as response: bool, "width" as width: f32 }
3621        IronGolem > AbstractGolem { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "PlayerCreated" as player_created: bool }
3622        ItemDisplay > Display { "item" as item: super::compounds::ItemStack_save, optional "item_display" as item_display: fastnbt::Value }
3623        ItemEntity > Entity { "Age" as age: i16, "Health" as health: i16, optional "Item" as item: super::compounds::ItemStack_save, optional "Owner" as owner: u128, "PickupDelay" as pickup_delay: i16, optional "Thrower" as thrower: u128 }
3624        ItemFrame > HangingEntity { "Facing" as facing: i8, "Fixed" as fixed: bool, "Invisible" as invisible: bool, optional "Item" as item: super::compounds::ItemStack_save, optional "ItemDropChance" as item_drop_chance: f32, optional "ItemRotation" as item_rotation: i8 }
3625        LargeFireball > Fireball { "ExplosionPower" as explosion_power: i8 }
3626        LeashFenceKnotEntity > HangingEntity {  }
3627        LightningBolt > Entity {  }
3628        LivingEntity > Entity { "AbsorptionAmount" as absorption_amount: f32, "Attributes" as attributes: Vec<super::compounds::AttributeInstance_save>, optional "Brain" as brain: fastnbt::Value, "DeathTime" as death_time: i16, "FallFlying" as fall_flying: bool, "Health" as health: f32, "HurtByTimestamp" as hurt_by_timestamp: i32, "HurtTime" as hurt_time: i16, optional "SleepingX" as sleeping_x: i32, optional "SleepingY" as sleeping_y: i32, optional "SleepingZ" as sleeping_z: i32, optional "active_effects" as active_effects: Vec<super::compounds::MobEffectInstance_save> }
3629        Llama > AbstractChestedHorse { optional "DecorItem" as decor_item: super::compounds::ItemStack_save, "Strength" as strength: i32, "Variant" as variant: i32 }
3630        LlamaSpit > Projectile {  }
3631        MagmaCube > Slime {  }
3632        Marker > Entity { "data" as data: HashMap<CowStr, fastnbt::Value> }
3633        Minecart > AbstractMinecart {  }
3634        MinecartChest > AbstractMinecartContainer {  }
3635        MinecartCommandBlock > AbstractMinecart { "Command" as command: CowStr, "CustomName" as custom_name: CowStr, optional "LastExecution" as last_execution: i64, optional "LastOutput" as last_output: CowStr, "SuccessCount" as success_count: i32, "TrackOutput" as track_output: bool, "UpdateLastExecution" as update_last_execution: bool }
3636        MinecartFurnace > AbstractMinecart { "Fuel" as fuel: i16, "PushX" as push_x: f64, "PushZ" as push_z: f64 }
3637        MinecartHopper > AbstractMinecartContainer { "Enabled" as enabled: bool }
3638        MinecartSpawner > AbstractMinecart { "Delay" as delay: i16, "MaxNearbyEntities" as max_nearby_entities: i16, "MaxSpawnDelay" as max_spawn_delay: i16, "MinSpawnDelay" as min_spawn_delay: i16, "RequiredPlayerRange" as required_player_range: i16, "SpawnCount" as spawn_count: i16, optional "SpawnData" as spawn_data: fastnbt::Value, "SpawnPotentials" as spawn_potentials: fastnbt::Value, "SpawnRange" as spawn_range: i16 }
3639        MinecartTNT > AbstractMinecart { "TNTFuse" as tnt_fuse: i32 }
3640        Mob > LivingEntity { "ArmorDropChances" as armor_drop_chances: Vec<f32>, "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save_1>, "CanPickUpLoot" as can_pick_up_loot: bool, optional "DeathLootTable" as death_loot_table: CowStr, optional "DeathLootTableSeed" as death_loot_table_seed: i64, "HandDropChances" as hand_drop_chances: Vec<f32>, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save_1>, optional "Leash" as leash: super::compounds::Compound2, "LeftHanded" as left_handed: bool, optional "NoAI" as no_ai: bool, "PersistenceRequired" as persistence_required: bool }
3641        Monster > PathfinderMob {  }
3642        Mule > AbstractChestedHorse {  }
3643        MushroomCow > Cow { "Type" as r#type: CowStr, optional "stew_effects" as stew_effects: fastnbt::Value }
3644        Ocelot > Animal { "Trusting" as trusting: bool }
3645        Painting > HangingEntity { "facing" as facing: i8, "variant" as variant: CowStr }
3646        Panda > Animal { "HiddenGene" as hidden_gene: CowStr, "MainGene" as main_gene: CowStr }
3647        Parrot > ShoulderRidingEntity { "Variant" as variant: i32 }
3648        PathfinderMob > Mob {  }
3649        PatrollingMonster > Monster { "PatrolLeader" as patrol_leader: bool, optional "PatrolTarget" as patrol_target: super::compounds::NbtUtils_writeBlockPos, "Patrolling" as patrolling: bool }
3650        Phantom > FlyingMob { "AX" as ax: i32, "AY" as ay: i32, "AZ" as az: i32, "Size" as size: i32 }
3651        Pig > Animal { "Saddle" as saddle: bool }
3652        Piglin > AbstractPiglin { optional "CannotHunt" as cannot_hunt: bool, "Inventory" as inventory: Vec<super::compounds::ItemStack_save>, optional "IsBaby" as is_baby: bool }
3653        PiglinBrute > AbstractPiglin {  }
3654        Pillager > AbstractIllager { "Inventory" as inventory: Vec<super::compounds::ItemStack_save> }
3655        PolarBear > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
3656        PrimedTnt > Entity { "Fuse" as fuse: i16 }
3657        Projectile > Entity { "HasBeenShot" as has_been_shot: bool, optional "LeftOwner" as left_owner: bool, optional "Owner" as owner: u128 }
3658        Pufferfish > AbstractFish { "PuffState" as puff_state: i32 }
3659        Rabbit > Animal { "MoreCarrotTicks" as more_carrot_ticks: i32, "RabbitType" as rabbit_type: i32 }
3660        Raider > PatrollingMonster { "CanJoinRaid" as can_join_raid: bool, optional "RaidId" as raid_id: i32, "Wave" as wave: i32 }
3661        Ravager > Raider { "AttackTick" as attack_tick: i32, "RoarTick" as roar_tick: i32, "StunTick" as stun_tick: i32 }
3662        Salmon > AbstractSchoolingFish {  }
3663        Sheep > Animal { "Color" as color: i8, "Sheared" as sheared: bool }
3664        ShoulderRidingEntity > TamableAnimal {  }
3665        Shulker > AbstractGolem { "AttachFace" as attach_face: i8, "Color" as color: i8, "Peek" as peek: i8 }
3666        ShulkerBullet > Projectile { optional "Dir" as dir: i32, "Steps" as steps: i32, "TXD" as txd: f64, "TYD" as tyd: f64, "TZD" as tzd: f64, optional "Target" as target: u128 }
3667        Silverfish > Monster {  }
3668        Skeleton > AbstractSkeleton { "StrayConversionTime" as stray_conversion_time: i32 }
3669        SkeletonHorse > AbstractHorse { "SkeletonTrap" as skeleton_trap: bool, "SkeletonTrapTime" as skeleton_trap_time: i32 }
3670        Slime > Mob { "Size" as size: i32, "wasOnGround" as was_on_ground: bool }
3671        SmallFireball > Fireball {  }
3672        Sniffer > Animal {  }
3673        SnowGolem > AbstractGolem { "Pumpkin" as pumpkin: bool }
3674        Snowball > ThrowableItemProjectile {  }
3675        SpectralArrow > AbstractArrow { "Duration" as duration: i32 }
3676        SpellcasterIllager > AbstractIllager { "SpellTicks" as spell_ticks: i32 }
3677        Spider > Monster {  }
3678        Squid > WaterAnimal {  }
3679        Stray > AbstractSkeleton {  }
3680        Strider > Animal { "Saddle" as saddle: bool }
3681        Tadpole > AbstractFish { "Age" as age: i32 }
3682        TamableAnimal > Animal { optional "Owner" as owner: u128, "Sitting" as sitting: bool }
3683        TextDisplay > Display { optional "alignment" as alignment: fastnbt::Value, "background" as background: i32, "default_background" as default_background: bool, "line_width" as line_width: i32, "see_through" as see_through: bool, "shadow" as shadow: bool, "text" as text: CowStr, "text_opacity" as text_opacity: i8 }
3684        ThrowableItemProjectile > ThrowableProjectile { optional "Item" as item: super::compounds::ItemStack_save }
3685        ThrowableProjectile > Projectile {  }
3686        ThrownEgg > ThrowableItemProjectile {  }
3687        ThrownEnderpearl > ThrowableItemProjectile {  }
3688        ThrownExperienceBottle > ThrowableItemProjectile {  }
3689        ThrownPotion > ThrowableItemProjectile {  }
3690        ThrownTrident > AbstractArrow { "DealtDamage" as dealt_damage: bool, "Trident" as trident: super::compounds::ItemStack_save }
3691        TraderLlama > Llama { "DespawnDelay" as despawn_delay: i32 }
3692        TropicalFish > AbstractSchoolingFish { "Variant" as variant: i32 }
3693        Turtle > Animal { "HasEgg" as has_egg: bool, "HomePosX" as home_pos_x: i32, "HomePosY" as home_pos_y: i32, "HomePosZ" as home_pos_z: i32, "TravelPosX" as travel_pos_x: i32, "TravelPosY" as travel_pos_y: i32, "TravelPosZ" as travel_pos_z: i32 }
3694        Vex > Monster { optional "BoundX" as bound_x: i32, optional "BoundY" as bound_y: i32, optional "BoundZ" as bound_z: i32, optional "LifeTicks" as life_ticks: i32 }
3695        Villager > AbstractVillager { optional "AssignProfessionWhenSpawned" as assign_profession_when_spawned: bool, "FoodLevel" as food_level: i8, "Gossips" as gossips: fastnbt::Value, "LastGossipDecay" as last_gossip_decay: i64, "LastRestock" as last_restock: i64, "RestocksToday" as restocks_today: i32, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
3696        Vindicator > AbstractIllager { optional "Johnny" as johnny: bool }
3697        WanderingTrader > AbstractVillager { "DespawnDelay" as despawn_delay: i32, optional "WanderTarget" as wander_target: super::compounds::NbtUtils_writeBlockPos }
3698        Warden > Monster { optional "anger" as anger: fastnbt::Value, optional "listener" as listener: fastnbt::Value }
3699        WaterAnimal > PathfinderMob {  }
3700        Witch > Raider {  }
3701        WitherBoss > Monster { "Invul" as invul: i32 }
3702        WitherSkeleton > AbstractSkeleton {  }
3703        WitherSkull > AbstractHurtingProjectile {  }
3704        Wolf > TamableAnimal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CollarColor" as collar_color: i8 }
3705        Zoglin > Monster { optional "IsBaby" as is_baby: bool }
3706        Zombie > Monster { "CanBreakDoors" as can_break_doors: bool, "DrownedConversionTime" as drowned_conversion_time: i32, "InWaterTime" as in_water_time: i32, "IsBaby" as is_baby: bool }
3707        ZombieHorse > AbstractHorse {  }
3708        ZombieVillager > Zombie { optional "ConversionPlayer" as conversion_player: u128, "ConversionTime" as conversion_time: i32, optional "Gossips" as gossips: fastnbt::Value, optional "Offers" as offers: HashMap<CowStr, fastnbt::Value>, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
3709        ZombifiedPiglin > Zombie { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
3710    }
3711
3712    entity_compound_types! {
3713        "1.20.2";
3714        ArmorStand_writePose { optional "Body" as body: Vec<f32>, optional "Head" as head: Vec<f32>, optional "LeftArm" as left_arm: Vec<f32>, optional "LeftLeg" as left_leg: Vec<f32>, optional "RightArm" as right_arm: Vec<f32>, optional "RightLeg" as right_leg: Vec<f32> }
3715        AttributeInstance_save { "Base" as base: f64, optional "Modifiers" as modifiers: Vec<super::compounds::AttributeModifier_save>, "Name" as name: CowStr }
3716        AttributeModifier_save { "Amount" as amount: f64, "Name" as name: CowStr, "Operation" as operation: i32, "UUID" as uuid: u128 }
3717        Compound2 { optional "UUID" as uuid: u128, optional "X" as x: i32, optional "Y" as y: i32, optional "Z" as z: i32 }
3718        ItemStack_save { "Count" as count: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
3719        ItemStack_save_1 { optional "Count" as count: i8, optional "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
3720        ItemStack_save_2 { "Count" as count: i8, "Slot" as slot: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
3721        MerchantOffer_createTag { "buy" as buy: super::compounds::ItemStack_save, "buyB" as buy_b: super::compounds::ItemStack_save, "demand" as demand: i32, "maxUses" as max_uses: i32, "priceMultiplier" as price_multiplier: f32, "rewardExp" as reward_exp: bool, "sell" as sell: super::compounds::ItemStack_save, "specialPrice" as special_price: i32, "uses" as uses: i32, "xp" as xp: i32 }
3722        MerchantOffers_createTag { "Recipes" as recipes: Vec<super::compounds::MerchantOffer_createTag> }
3723        MobEffectInstance_save { "ambient" as ambient: bool, "amplifier" as amplifier: i8, "duration" as duration: i32, optional "factor_calculation_data" as factor_calculation_data: fastnbt::Value, optional "hidden_effect" as hidden_effect: Box<super::compounds::MobEffectInstance_save>, "id" as id: CowStr, "show_icon" as show_icon: bool, "show_particles" as show_particles: bool }
3724        NbtUtils_writeBlockPos { "X" as x: i32, "Y" as y: i32, "Z" as z: i32 }
3725    }
3726}
3727
3728/// Accompanying types for entities in Minecraft 1.20.3.
3729#[cfg(feature = "1.20.3")]
3730pub mod mc1_20_3 {
3731    entities! {
3732        "1.20.3", mc1_20_3;
3733        "minecraft:allay", Allay: Allay;
3734        "minecraft:area_effect_cloud", AreaEffectCloud: AreaEffectCloud;
3735        "minecraft:armor_stand", ArmorStand: ArmorStand;
3736        "minecraft:arrow", Arrow: Arrow;
3737        "minecraft:axolotl", Axolotl: Axolotl;
3738        "minecraft:bat", Bat: Bat;
3739        "minecraft:bee", Bee: Bee;
3740        "minecraft:blaze", Blaze: Blaze;
3741        "minecraft:block_display", BlockDisplay: BlockDisplay;
3742        "minecraft:boat", Boat: Boat;
3743        experimental "minecraft:breeze", Breeze: Breeze;
3744        "minecraft:camel", Camel: Camel;
3745        "minecraft:cat", Cat: Cat;
3746        "minecraft:cave_spider", CaveSpider: CaveSpider;
3747        "minecraft:chest_boat", ChestBoat: ChestBoat;
3748        "minecraft:chest_minecart", ChestMinecart: MinecartChest;
3749        "minecraft:chicken", Chicken: Chicken;
3750        "minecraft:cod", Cod: Cod;
3751        "minecraft:command_block_minecart", CommandBlockMinecart: MinecartCommandBlock;
3752        "minecraft:cow", Cow: Cow;
3753        "minecraft:creeper", Creeper: Creeper;
3754        "minecraft:dolphin", Dolphin: Dolphin;
3755        "minecraft:donkey", Donkey: Donkey;
3756        "minecraft:dragon_fireball", DragonFireball: DragonFireball;
3757        "minecraft:drowned", Drowned: Drowned;
3758        "minecraft:egg", Egg: ThrownEgg;
3759        "minecraft:elder_guardian", ElderGuardian: ElderGuardian;
3760        "minecraft:end_crystal", EndCrystal: EndCrystal;
3761        "minecraft:ender_dragon", EnderDragon: EnderDragon;
3762        "minecraft:ender_pearl", EnderPearl: ThrownEnderpearl;
3763        "minecraft:enderman", Enderman: EnderMan;
3764        "minecraft:endermite", Endermite: Endermite;
3765        "minecraft:evoker", Evoker: Evoker;
3766        "minecraft:evoker_fangs", EvokerFangs: EvokerFangs;
3767        "minecraft:experience_bottle", ExperienceBottle: ThrownExperienceBottle;
3768        "minecraft:experience_orb", ExperienceOrb: ExperienceOrb;
3769        "minecraft:eye_of_ender", EyeOfEnder: EyeOfEnder;
3770        "minecraft:falling_block", FallingBlock: FallingBlockEntity;
3771        "minecraft:fireball", Fireball: LargeFireball;
3772        "minecraft:firework_rocket", FireworkRocket: FireworkRocketEntity;
3773        "minecraft:fishing_bobber", FishingBobber: FishingHook;
3774        "minecraft:fox", Fox: Fox;
3775        "minecraft:frog", Frog: Frog;
3776        "minecraft:furnace_minecart", FurnaceMinecart: MinecartFurnace;
3777        "minecraft:ghast", Ghast: Ghast;
3778        "minecraft:giant", Giant: Giant;
3779        "minecraft:glow_item_frame", GlowItemFrame: GlowItemFrame;
3780        "minecraft:glow_squid", GlowSquid: GlowSquid;
3781        "minecraft:goat", Goat: Goat;
3782        "minecraft:guardian", Guardian: Guardian;
3783        "minecraft:hoglin", Hoglin: Hoglin;
3784        "minecraft:hopper_minecart", HopperMinecart: MinecartHopper;
3785        "minecraft:horse", Horse: Horse;
3786        "minecraft:husk", Husk: Husk;
3787        "minecraft:illusioner", Illusioner: Illusioner;
3788        "minecraft:interaction", Interaction: Interaction;
3789        "minecraft:iron_golem", IronGolem: IronGolem;
3790        "minecraft:item", Item: ItemEntity;
3791        "minecraft:item_display", ItemDisplay: ItemDisplay;
3792        "minecraft:item_frame", ItemFrame: ItemFrame;
3793        "minecraft:leash_knot", LeashKnot: LeashFenceKnotEntity;
3794        "minecraft:lightning_bolt", LightningBolt: LightningBolt;
3795        "minecraft:llama", Llama: Llama;
3796        "minecraft:llama_spit", LlamaSpit: LlamaSpit;
3797        "minecraft:magma_cube", MagmaCube: MagmaCube;
3798        "minecraft:marker", Marker: Marker;
3799        "minecraft:minecart", Minecart: Minecart;
3800        "minecraft:mooshroom", Mooshroom: MushroomCow;
3801        "minecraft:mule", Mule: Mule;
3802        "minecraft:ocelot", Ocelot: Ocelot;
3803        "minecraft:painting", Painting: Painting;
3804        "minecraft:panda", Panda: Panda;
3805        "minecraft:parrot", Parrot: Parrot;
3806        "minecraft:phantom", Phantom: Phantom;
3807        "minecraft:pig", Pig: Pig;
3808        "minecraft:piglin", Piglin: Piglin;
3809        "minecraft:piglin_brute", PiglinBrute: PiglinBrute;
3810        "minecraft:pillager", Pillager: Pillager;
3811        "minecraft:polar_bear", PolarBear: PolarBear;
3812        "minecraft:potion", Potion: ThrownPotion;
3813        "minecraft:pufferfish", Pufferfish: Pufferfish;
3814        "minecraft:rabbit", Rabbit: Rabbit;
3815        "minecraft:ravager", Ravager: Ravager;
3816        "minecraft:salmon", Salmon: Salmon;
3817        "minecraft:sheep", Sheep: Sheep;
3818        "minecraft:shulker", Shulker: Shulker;
3819        "minecraft:shulker_bullet", ShulkerBullet: ShulkerBullet;
3820        "minecraft:silverfish", Silverfish: Silverfish;
3821        "minecraft:skeleton", Skeleton: Skeleton;
3822        "minecraft:skeleton_horse", SkeletonHorse: SkeletonHorse;
3823        "minecraft:slime", Slime: Slime;
3824        "minecraft:small_fireball", SmallFireball: SmallFireball;
3825        "minecraft:sniffer", Sniffer: Sniffer;
3826        "minecraft:snow_golem", SnowGolem: SnowGolem;
3827        "minecraft:snowball", Snowball: Snowball;
3828        "minecraft:spawner_minecart", SpawnerMinecart: MinecartSpawner;
3829        "minecraft:spectral_arrow", SpectralArrow: SpectralArrow;
3830        "minecraft:spider", Spider: Spider;
3831        "minecraft:squid", Squid: Squid;
3832        "minecraft:stray", Stray: Stray;
3833        "minecraft:strider", Strider: Strider;
3834        "minecraft:tadpole", Tadpole: Tadpole;
3835        "minecraft:text_display", TextDisplay: TextDisplay;
3836        "minecraft:tnt", Tnt: PrimedTnt;
3837        "minecraft:tnt_minecart", TntMinecart: MinecartTNT;
3838        "minecraft:trader_llama", TraderLlama: TraderLlama;
3839        "minecraft:trident", Trident: ThrownTrident;
3840        "minecraft:tropical_fish", TropicalFish: TropicalFish;
3841        "minecraft:turtle", Turtle: Turtle;
3842        "minecraft:vex", Vex: Vex;
3843        "minecraft:villager", Villager: Villager;
3844        "minecraft:vindicator", Vindicator: Vindicator;
3845        "minecraft:wandering_trader", WanderingTrader: WanderingTrader;
3846        "minecraft:warden", Warden: Warden;
3847        experimental "minecraft:wind_charge", WindCharge: WindCharge;
3848        "minecraft:witch", Witch: Witch;
3849        "minecraft:wither", Wither: WitherBoss;
3850        "minecraft:wither_skeleton", WitherSkeleton: WitherSkeleton;
3851        "minecraft:wither_skull", WitherSkull: WitherSkull;
3852        "minecraft:wolf", Wolf: Wolf;
3853        "minecraft:zoglin", Zoglin: Zoglin;
3854        "minecraft:zombie", Zombie: Zombie;
3855        "minecraft:zombie_horse", ZombieHorse: ZombieHorse;
3856        "minecraft:zombie_villager", ZombieVillager: ZombieVillager;
3857        "minecraft:zombified_piglin", ZombifiedPiglin: ZombifiedPiglin;
3858    }
3859
3860    entity_types! {
3861        "1.20.3";
3862        AbstractArrow > Projectile { "PierceLevel" as pierce_level: i8, "ShotFromCrossbow" as shot_from_crossbow: bool, "SoundEvent" as sound_event: CowStr, "crit" as crit: bool, "damage" as damage: f64, optional "inBlockState" as in_block_state: super::BlockState, "inGround" as in_ground: bool, "item" as item: super::compounds::ItemStack_save, "life" as life: i16, "pickup" as pickup: i8, "shake" as shake: i8 }
3863        AbstractChestedHorse > AbstractHorse { "ChestedHorse" as chested_horse: bool, optional "Items" as items: Vec<super::compounds::ItemStack_save_2> }
3864        AbstractFish > WaterAnimal { "FromBucket" as from_bucket: bool }
3865        AbstractGolem > PathfinderMob {  }
3866        AbstractHorse > Animal { "Bred" as bred: bool, "EatingHaystack" as eating_haystack: bool, optional "Owner" as owner: u128, optional "SaddleItem" as saddle_item: super::compounds::ItemStack_save, "Tame" as tame: bool, "Temper" as temper: i32 }
3867        AbstractHurtingProjectile > Projectile { "power" as power: Vec<f64> }
3868        AbstractIllager > Raider {  }
3869        AbstractMinecart > VehicleEntity { optional "CustomDisplayTile" as custom_display_tile: bool, optional "DisplayOffset" as display_offset: i32, optional "DisplayState" as display_state: super::BlockState }
3870        AbstractMinecartContainer > AbstractMinecart { optional "Items" as items: Vec<super::compounds::ItemStack_save_2>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
3871        AbstractPiglin > Monster { optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
3872        AbstractSchoolingFish > AbstractFish {  }
3873        AbstractSkeleton > Monster {  }
3874        AbstractVillager > AgeableMob { "Inventory" as inventory: Vec<super::compounds::ItemStack_save>, optional "Offers" as offers: super::compounds::MerchantOffers_createTag }
3875        AgeableMob > PathfinderMob { "Age" as age: i32, "ForcedAge" as forced_age: i32 }
3876        Allay > PathfinderMob { "CanDuplicate" as can_duplicate: bool, "DuplicationCooldown" as duplication_cooldown: i64, "Inventory" as inventory: Vec<super::compounds::ItemStack_save>, optional "listener" as listener: fastnbt::Value }
3877        AmbientCreature > Mob {  }
3878        Animal > AgeableMob { "InLove" as in_love: i32, optional "LoveCause" as love_cause: u128 }
3879        AreaEffectCloud > Entity { "Age" as age: i32, optional "Color" as color: i32, "Duration" as duration: i32, "DurationOnUse" as duration_on_use: i32, optional "Owner" as owner: u128, "Particle" as particle: CowStr, optional "Potion" as potion: CowStr, "Radius" as radius: f32, "RadiusOnUse" as radius_on_use: f32, "RadiusPerTick" as radius_per_tick: f32, "ReapplicationDelay" as reapplication_delay: i32, "WaitTime" as wait_time: i32, optional "effects" as effects: Vec<super::compounds::MobEffectInstance_save> }
3880        ArmorStand > LivingEntity { "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save_1>, "DisabledSlots" as disabled_slots: i32, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save_1>, "Invisible" as invisible: bool, optional "Marker" as marker: bool, "NoBasePlate" as no_base_plate: bool, "Pose" as pose: super::compounds::ArmorStand_writePose, "ShowArms" as show_arms: bool, "Small" as small: bool }
3881        Arrow > AbstractArrow { optional "Color" as color: i32, optional "Potion" as potion: CowStr, optional "custom_potion_effects" as custom_potion_effects: Vec<super::compounds::MobEffectInstance_save> }
3882        Axolotl > Animal { "FromBucket" as from_bucket: bool, "Variant" as variant: i32 }
3883        Bat > AmbientCreature { "BatFlags" as bat_flags: i8 }
3884        Bee > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CannotEnterHiveTicks" as cannot_enter_hive_ticks: i32, "CropsGrownSincePollination" as crops_grown_since_pollination: i32, optional "FlowerPos" as flower_pos: super::compounds::NbtUtils_writeBlockPos, "HasNectar" as has_nectar: bool, "HasStung" as has_stung: bool, optional "HivePos" as hive_pos: super::compounds::NbtUtils_writeBlockPos, "TicksSincePollination" as ticks_since_pollination: i32 }
3885        Blaze > Monster {  }
3886        BlockDisplay > Display { "block_state" as block_state: super::BlockState }
3887        Boat > VehicleEntity { "Type" as r#type: CowStr }
3888        Breeze > Monster {  }
3889        Camel > AbstractHorse { "LastPoseTick" as last_pose_tick: i64 }
3890        Cat > TamableAnimal { "CollarColor" as collar_color: i8, "variant" as variant: CowStr }
3891        CaveSpider > Spider {  }
3892        ChestBoat > Boat { optional "Items" as items: Vec<super::compounds::ItemStack_save_2>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
3893        Chicken > Animal { "EggLayTime" as egg_lay_time: i32, "IsChickenJockey" as is_chicken_jockey: bool }
3894        Cod > AbstractSchoolingFish {  }
3895        Cow > Animal {  }
3896        Creeper > Monster { "ExplosionRadius" as explosion_radius: i8, "Fuse" as fuse: i16, "ignited" as ignited: bool, optional "powered" as powered: bool }
3897        Display > Entity { optional "billboard" as billboard: fastnbt::Value, optional "brightness" as brightness: fastnbt::Value, "glow_color_override" as glow_color_override: i32, "height" as height: f32, "interpolation_duration" as interpolation_duration: i32, "shadow_radius" as shadow_radius: f32, "shadow_strength" as shadow_strength: f32, "teleport_duration" as teleport_duration: i32, optional "transformation" as transformation: fastnbt::Value, "view_range" as view_range: f32, "width" as width: f32 }
3898        Dolphin > WaterAnimal { "GotFish" as got_fish: bool, "Moistness" as moistness: i32, "TreasurePosX" as treasure_pos_x: i32, "TreasurePosY" as treasure_pos_y: i32, "TreasurePosZ" as treasure_pos_z: i32 }
3899        Donkey > AbstractChestedHorse {  }
3900        DragonFireball > AbstractHurtingProjectile {  }
3901        Drowned > Zombie {  }
3902        ElderGuardian > Guardian {  }
3903        EndCrystal > Entity { optional "BeamTarget" as beam_target: super::compounds::NbtUtils_writeBlockPos, "ShowBottom" as show_bottom: bool }
3904        EnderDragon > Mob { "DragonDeathTime" as dragon_death_time: i32, "DragonPhase" as dragon_phase: i32 }
3905        EnderMan > Monster { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, optional "carriedBlockState" as carried_block_state: super::BlockState }
3906        Endermite > Monster { "Lifetime" as lifetime: i32 }
3907        Entity { "Air" as air: i16, optional "CustomName" as custom_name: CowStr, optional "CustomNameVisible" as custom_name_visible: bool, "FallDistance" as fall_distance: f32, "Fire" as fire: i16, optional "Glowing" as glowing: bool, optional "HasVisualFire" as has_visual_fire: bool, "Invulnerable" as invulnerable: bool, "Motion" as motion: Vec<f64>, optional "NoGravity" as no_gravity: bool, "OnGround" as on_ground: bool, optional "Passengers" as passengers: Vec<Box<super::Entity>>, "PortalCooldown" as portal_cooldown: i32, optional "Pos" as pos: Vec<f64>, "Rotation" as rotation: Vec<f32>, optional "Silent" as silent: bool, optional "Tags" as tags: Vec<CowStr>, optional "TicksFrozen" as ticks_frozen: i32, "UUID" as uuid: u128 }
3908        Evoker > SpellcasterIllager {  }
3909        EvokerFangs > Entity { optional "Owner" as owner: u128, "Warmup" as warmup: i32 }
3910        ExperienceOrb > Entity { "Age" as age: i16, "Count" as count: i32, "Health" as health: i16, "Value" as value: i16 }
3911        EyeOfEnder > Entity { optional "Item" as item: super::compounds::ItemStack_save }
3912        FallingBlockEntity > Entity { "BlockState" as block_state: super::BlockState, "CancelDrop" as cancel_drop: bool, "DropItem" as drop_item: bool, "FallHurtAmount" as fall_hurt_amount: f32, "FallHurtMax" as fall_hurt_max: i32, "HurtEntities" as hurt_entities: bool, optional "TileEntityData" as tile_entity_data: HashMap<CowStr, fastnbt::Value>, "Time" as time: i32 }
3913        Fireball > AbstractHurtingProjectile { optional "Item" as item: super::compounds::ItemStack_save }
3914        FireworkRocketEntity > Projectile { optional "FireworksItem" as fireworks_item: super::compounds::ItemStack_save, "Life" as life: i32, "LifeTime" as life_time: i32, "ShotAtAngle" as shot_at_angle: bool }
3915        FishingHook > Projectile {  }
3916        FlyingMob > Mob {  }
3917        Fox > Animal { "Crouching" as crouching: bool, "Sitting" as sitting: bool, "Sleeping" as sleeping: bool, "Trusted" as trusted: Vec<fastnbt::IntArray>, "Type" as r#type: CowStr }
3918        Frog > Animal { "variant" as variant: CowStr }
3919        Ghast > FlyingMob { "ExplosionPower" as explosion_power: i8 }
3920        Giant > Monster {  }
3921        GlowItemFrame > ItemFrame {  }
3922        GlowSquid > Squid { "DarkTicksRemaining" as dark_ticks_remaining: i32 }
3923        Goat > Animal { "HasLeftHorn" as has_left_horn: bool, "HasRightHorn" as has_right_horn: bool, "IsScreamingGoat" as is_screaming_goat: bool }
3924        Guardian > Monster {  }
3925        HangingEntity > Entity { "TileX" as tile_x: i32, "TileY" as tile_y: i32, "TileZ" as tile_z: i32 }
3926        Hoglin > Animal { optional "CannotBeHunted" as cannot_be_hunted: bool, optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
3927        Horse > AbstractHorse { optional "ArmorItem" as armor_item: super::compounds::ItemStack_save, "Variant" as variant: i32 }
3928        Husk > Zombie {  }
3929        Illusioner > SpellcasterIllager {  }
3930        Interaction > Entity { optional "attack" as attack: fastnbt::Value, "height" as height: f32, optional "interaction" as interaction: fastnbt::Value, "response" as response: bool, "width" as width: f32 }
3931        IronGolem > AbstractGolem { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "PlayerCreated" as player_created: bool }
3932        ItemDisplay > Display { "item" as item: super::compounds::ItemStack_save, optional "item_display" as item_display: fastnbt::Value }
3933        ItemEntity > Entity { "Age" as age: i16, "Health" as health: i16, optional "Item" as item: super::compounds::ItemStack_save, optional "Owner" as owner: u128, "PickupDelay" as pickup_delay: i16, optional "Thrower" as thrower: u128 }
3934        ItemFrame > HangingEntity { "Facing" as facing: i8, "Fixed" as fixed: bool, "Invisible" as invisible: bool, optional "Item" as item: super::compounds::ItemStack_save, optional "ItemDropChance" as item_drop_chance: f32, optional "ItemRotation" as item_rotation: i8 }
3935        LargeFireball > Fireball { "ExplosionPower" as explosion_power: i8 }
3936        LeashFenceKnotEntity > HangingEntity {  }
3937        LightningBolt > Entity {  }
3938        LivingEntity > Entity { "AbsorptionAmount" as absorption_amount: f32, "Attributes" as attributes: Vec<super::compounds::AttributeInstance_save>, optional "Brain" as brain: fastnbt::Value, "DeathTime" as death_time: i16, "FallFlying" as fall_flying: bool, "Health" as health: f32, "HurtByTimestamp" as hurt_by_timestamp: i32, "HurtTime" as hurt_time: i16, optional "SleepingX" as sleeping_x: i32, optional "SleepingY" as sleeping_y: i32, optional "SleepingZ" as sleeping_z: i32, optional "active_effects" as active_effects: Vec<super::compounds::MobEffectInstance_save> }
3939        Llama > AbstractChestedHorse { optional "DecorItem" as decor_item: super::compounds::ItemStack_save, "Strength" as strength: i32, "Variant" as variant: i32 }
3940        LlamaSpit > Projectile {  }
3941        MagmaCube > Slime {  }
3942        Marker > Entity { "data" as data: HashMap<CowStr, fastnbt::Value> }
3943        Minecart > AbstractMinecart {  }
3944        MinecartChest > AbstractMinecartContainer {  }
3945        MinecartCommandBlock > AbstractMinecart { "Command" as command: CowStr, "CustomName" as custom_name: CowStr, optional "LastExecution" as last_execution: i64, optional "LastOutput" as last_output: CowStr, "SuccessCount" as success_count: i32, "TrackOutput" as track_output: bool, "UpdateLastExecution" as update_last_execution: bool }
3946        MinecartFurnace > AbstractMinecart { "Fuel" as fuel: i16, "PushX" as push_x: f64, "PushZ" as push_z: f64 }
3947        MinecartHopper > AbstractMinecartContainer { "Enabled" as enabled: bool }
3948        MinecartSpawner > AbstractMinecart { "Delay" as delay: i16, "MaxNearbyEntities" as max_nearby_entities: i16, "MaxSpawnDelay" as max_spawn_delay: i16, "MinSpawnDelay" as min_spawn_delay: i16, "RequiredPlayerRange" as required_player_range: i16, "SpawnCount" as spawn_count: i16, optional "SpawnData" as spawn_data: fastnbt::Value, "SpawnPotentials" as spawn_potentials: fastnbt::Value, "SpawnRange" as spawn_range: i16 }
3949        MinecartTNT > AbstractMinecart { "TNTFuse" as tnt_fuse: i32 }
3950        Mob > LivingEntity { "ArmorDropChances" as armor_drop_chances: Vec<f32>, "ArmorItems" as armor_items: Vec<super::compounds::ItemStack_save_1>, "CanPickUpLoot" as can_pick_up_loot: bool, optional "DeathLootTable" as death_loot_table: CowStr, optional "DeathLootTableSeed" as death_loot_table_seed: i64, "HandDropChances" as hand_drop_chances: Vec<f32>, "HandItems" as hand_items: Vec<super::compounds::ItemStack_save_1>, optional "Leash" as leash: super::compounds::Compound2, "LeftHanded" as left_handed: bool, optional "NoAI" as no_ai: bool, "PersistenceRequired" as persistence_required: bool }
3951        Monster > PathfinderMob {  }
3952        Mule > AbstractChestedHorse {  }
3953        MushroomCow > Cow { "Type" as r#type: CowStr, optional "stew_effects" as stew_effects: fastnbt::Value }
3954        Ocelot > Animal { "Trusting" as trusting: bool }
3955        Painting > HangingEntity { "facing" as facing: i8, "variant" as variant: CowStr }
3956        Panda > Animal { "HiddenGene" as hidden_gene: CowStr, "MainGene" as main_gene: CowStr }
3957        Parrot > ShoulderRidingEntity { "Variant" as variant: i32 }
3958        PathfinderMob > Mob {  }
3959        PatrollingMonster > Monster { "PatrolLeader" as patrol_leader: bool, optional "PatrolTarget" as patrol_target: super::compounds::NbtUtils_writeBlockPos, "Patrolling" as patrolling: bool }
3960        Phantom > FlyingMob { "AX" as ax: i32, "AY" as ay: i32, "AZ" as az: i32, "Size" as size: i32 }
3961        Pig > Animal { "Saddle" as saddle: bool }
3962        Piglin > AbstractPiglin { optional "CannotHunt" as cannot_hunt: bool, "Inventory" as inventory: Vec<super::compounds::ItemStack_save>, optional "IsBaby" as is_baby: bool }
3963        PiglinBrute > AbstractPiglin {  }
3964        Pillager > AbstractIllager { "Inventory" as inventory: Vec<super::compounds::ItemStack_save> }
3965        PolarBear > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
3966        PrimedTnt > Entity { "block_state" as block_state: super::BlockState, "fuse" as fuse: i16 }
3967        Projectile > Entity { "HasBeenShot" as has_been_shot: bool, optional "LeftOwner" as left_owner: bool, optional "Owner" as owner: u128 }
3968        Pufferfish > AbstractFish { "PuffState" as puff_state: i32 }
3969        Rabbit > Animal { "MoreCarrotTicks" as more_carrot_ticks: i32, "RabbitType" as rabbit_type: i32 }
3970        Raider > PatrollingMonster { "CanJoinRaid" as can_join_raid: bool, optional "RaidId" as raid_id: i32, "Wave" as wave: i32 }
3971        Ravager > Raider { "AttackTick" as attack_tick: i32, "RoarTick" as roar_tick: i32, "StunTick" as stun_tick: i32 }
3972        Salmon > AbstractSchoolingFish {  }
3973        Sheep > Animal { "Color" as color: i8, "Sheared" as sheared: bool }
3974        ShoulderRidingEntity > TamableAnimal {  }
3975        Shulker > AbstractGolem { "AttachFace" as attach_face: i8, "Color" as color: i8, "Peek" as peek: i8 }
3976        ShulkerBullet > Projectile { optional "Dir" as dir: i32, "Steps" as steps: i32, "TXD" as txd: f64, "TYD" as tyd: f64, "TZD" as tzd: f64, optional "Target" as target: u128 }
3977        Silverfish > Monster {  }
3978        Skeleton > AbstractSkeleton { "StrayConversionTime" as stray_conversion_time: i32 }
3979        SkeletonHorse > AbstractHorse { "SkeletonTrap" as skeleton_trap: bool, "SkeletonTrapTime" as skeleton_trap_time: i32 }
3980        Slime > Mob { "Size" as size: i32, "wasOnGround" as was_on_ground: bool }
3981        SmallFireball > Fireball {  }
3982        Sniffer > Animal {  }
3983        SnowGolem > AbstractGolem { "Pumpkin" as pumpkin: bool }
3984        Snowball > ThrowableItemProjectile {  }
3985        SpectralArrow > AbstractArrow { "Duration" as duration: i32 }
3986        SpellcasterIllager > AbstractIllager { "SpellTicks" as spell_ticks: i32 }
3987        Spider > Monster {  }
3988        Squid > WaterAnimal {  }
3989        Stray > AbstractSkeleton {  }
3990        Strider > Animal { "Saddle" as saddle: bool }
3991        Tadpole > AbstractFish { "Age" as age: i32 }
3992        TamableAnimal > Animal { optional "Owner" as owner: u128, "Sitting" as sitting: bool }
3993        TextDisplay > Display { optional "alignment" as alignment: fastnbt::Value, "background" as background: i32, "default_background" as default_background: bool, "line_width" as line_width: i32, "see_through" as see_through: bool, "shadow" as shadow: bool, "text" as text: CowStr, "text_opacity" as text_opacity: i8 }
3994        ThrowableItemProjectile > ThrowableProjectile { optional "Item" as item: super::compounds::ItemStack_save }
3995        ThrowableProjectile > Projectile {  }
3996        ThrownEgg > ThrowableItemProjectile {  }
3997        ThrownEnderpearl > ThrowableItemProjectile {  }
3998        ThrownExperienceBottle > ThrowableItemProjectile {  }
3999        ThrownPotion > ThrowableItemProjectile {  }
4000        ThrownTrident > AbstractArrow { "DealtDamage" as dealt_damage: bool }
4001        TraderLlama > Llama { "DespawnDelay" as despawn_delay: i32 }
4002        TropicalFish > AbstractSchoolingFish { "Variant" as variant: i32 }
4003        Turtle > Animal { "HasEgg" as has_egg: bool, "HomePosX" as home_pos_x: i32, "HomePosY" as home_pos_y: i32, "HomePosZ" as home_pos_z: i32, "TravelPosX" as travel_pos_x: i32, "TravelPosY" as travel_pos_y: i32, "TravelPosZ" as travel_pos_z: i32 }
4004        VehicleEntity > Entity {  }
4005        Vex > Monster { optional "BoundX" as bound_x: i32, optional "BoundY" as bound_y: i32, optional "BoundZ" as bound_z: i32, optional "LifeTicks" as life_ticks: i32 }
4006        Villager > AbstractVillager { optional "AssignProfessionWhenSpawned" as assign_profession_when_spawned: bool, "FoodLevel" as food_level: i8, "Gossips" as gossips: fastnbt::Value, "LastGossipDecay" as last_gossip_decay: i64, "LastRestock" as last_restock: i64, "RestocksToday" as restocks_today: i32, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
4007        Vindicator > AbstractIllager { optional "Johnny" as johnny: bool }
4008        WanderingTrader > AbstractVillager { "DespawnDelay" as despawn_delay: i32, optional "WanderTarget" as wander_target: super::compounds::NbtUtils_writeBlockPos }
4009        Warden > Monster { optional "anger" as anger: fastnbt::Value, optional "listener" as listener: fastnbt::Value }
4010        WaterAnimal > PathfinderMob {  }
4011        WindCharge > AbstractHurtingProjectile {  }
4012        Witch > Raider {  }
4013        WitherBoss > Monster { "Invul" as invul: i32 }
4014        WitherSkeleton > AbstractSkeleton {  }
4015        WitherSkull > AbstractHurtingProjectile { "dangerous" as dangerous: bool }
4016        Wolf > TamableAnimal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CollarColor" as collar_color: i8 }
4017        Zoglin > Monster { optional "IsBaby" as is_baby: bool }
4018        Zombie > Monster { "CanBreakDoors" as can_break_doors: bool, "DrownedConversionTime" as drowned_conversion_time: i32, "InWaterTime" as in_water_time: i32, "IsBaby" as is_baby: bool }
4019        ZombieHorse > AbstractHorse {  }
4020        ZombieVillager > Zombie { optional "ConversionPlayer" as conversion_player: u128, "ConversionTime" as conversion_time: i32, optional "Gossips" as gossips: fastnbt::Value, optional "Offers" as offers: HashMap<CowStr, fastnbt::Value>, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
4021        ZombifiedPiglin > Zombie { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
4022    }
4023
4024    entity_compound_types! {
4025        "1.20.3";
4026        ArmorStand_writePose { optional "Body" as body: Vec<f32>, optional "Head" as head: Vec<f32>, optional "LeftArm" as left_arm: Vec<f32>, optional "LeftLeg" as left_leg: Vec<f32>, optional "RightArm" as right_arm: Vec<f32>, optional "RightLeg" as right_leg: Vec<f32> }
4027        AttributeInstance_save { "Base" as base: f64, optional "Modifiers" as modifiers: Vec<super::compounds::AttributeModifier_save>, "Name" as name: CowStr }
4028        AttributeModifier_save { "Amount" as amount: f64, "Name" as name: CowStr, "Operation" as operation: i32, "UUID" as uuid: u128 }
4029        Compound2 { optional "UUID" as uuid: u128, optional "X" as x: i32, optional "Y" as y: i32, optional "Z" as z: i32 }
4030        ItemStack_save { "Count" as count: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
4031        ItemStack_save_1 { optional "Count" as count: i8, optional "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
4032        ItemStack_save_2 { "Count" as count: i8, "Slot" as slot: i8, "id" as id: CowStr, optional "tag" as tag: HashMap<CowStr, fastnbt::Value> }
4033        MerchantOffer_createTag { "buy" as buy: super::compounds::ItemStack_save, "buyB" as buy_b: super::compounds::ItemStack_save, "demand" as demand: i32, "maxUses" as max_uses: i32, "priceMultiplier" as price_multiplier: f32, "rewardExp" as reward_exp: bool, "sell" as sell: super::compounds::ItemStack_save, "specialPrice" as special_price: i32, "uses" as uses: i32, "xp" as xp: i32 }
4034        MerchantOffers_createTag { "Recipes" as recipes: Vec<super::compounds::MerchantOffer_createTag> }
4035        MobEffectInstance_save { "ambient" as ambient: bool, "amplifier" as amplifier: i8, "duration" as duration: i32, optional "factor_calculation_data" as factor_calculation_data: fastnbt::Value, optional "hidden_effect" as hidden_effect: Box<super::compounds::MobEffectInstance_save>, "id" as id: CowStr, "show_icon" as show_icon: bool, "show_particles" as show_particles: bool }
4036        NbtUtils_writeBlockPos { "X" as x: i32, "Y" as y: i32, "Z" as z: i32 }
4037    }
4038}
4039
4040/// Accompanying types for entities in Minecraft 1.20.5.
4041#[cfg(feature = "1.20.5")]
4042pub mod mc1_20_5 {
4043    entities! {
4044        "1.20.5", mc1_20_5;
4045        "minecraft:allay", Allay: Allay;
4046        "minecraft:area_effect_cloud", AreaEffectCloud: AreaEffectCloud;
4047        "minecraft:armadillo", Armadillo: Armadillo;
4048        "minecraft:armor_stand", ArmorStand: ArmorStand;
4049        "minecraft:arrow", Arrow: Arrow;
4050        "minecraft:axolotl", Axolotl: Axolotl;
4051        "minecraft:bat", Bat: Bat;
4052        "minecraft:bee", Bee: Bee;
4053        "minecraft:blaze", Blaze: Blaze;
4054        "minecraft:block_display", BlockDisplay: BlockDisplay;
4055        "minecraft:boat", Boat: Boat;
4056        experimental "minecraft:bogged", Bogged: Bogged;
4057        experimental "minecraft:breeze", Breeze: Breeze;
4058        experimental "minecraft:breeze_wind_charge", BreezeWindCharge: BreezeWindCharge;
4059        "minecraft:camel", Camel: Camel;
4060        "minecraft:cat", Cat: Cat;
4061        "minecraft:cave_spider", CaveSpider: CaveSpider;
4062        "minecraft:chest_boat", ChestBoat: ChestBoat;
4063        "minecraft:chest_minecart", ChestMinecart: MinecartChest;
4064        "minecraft:chicken", Chicken: Chicken;
4065        "minecraft:cod", Cod: Cod;
4066        "minecraft:command_block_minecart", CommandBlockMinecart: MinecartCommandBlock;
4067        "minecraft:cow", Cow: Cow;
4068        "minecraft:creeper", Creeper: Creeper;
4069        "minecraft:dolphin", Dolphin: Dolphin;
4070        "minecraft:donkey", Donkey: Donkey;
4071        "minecraft:dragon_fireball", DragonFireball: DragonFireball;
4072        "minecraft:drowned", Drowned: Drowned;
4073        "minecraft:egg", Egg: ThrownEgg;
4074        "minecraft:elder_guardian", ElderGuardian: ElderGuardian;
4075        "minecraft:end_crystal", EndCrystal: EndCrystal;
4076        "minecraft:ender_dragon", EnderDragon: EnderDragon;
4077        "minecraft:ender_pearl", EnderPearl: ThrownEnderpearl;
4078        "minecraft:enderman", Enderman: EnderMan;
4079        "minecraft:endermite", Endermite: Endermite;
4080        "minecraft:evoker", Evoker: Evoker;
4081        "minecraft:evoker_fangs", EvokerFangs: EvokerFangs;
4082        "minecraft:experience_bottle", ExperienceBottle: ThrownExperienceBottle;
4083        "minecraft:experience_orb", ExperienceOrb: ExperienceOrb;
4084        "minecraft:eye_of_ender", EyeOfEnder: EyeOfEnder;
4085        "minecraft:falling_block", FallingBlock: FallingBlockEntity;
4086        "minecraft:fireball", Fireball: LargeFireball;
4087        "minecraft:firework_rocket", FireworkRocket: FireworkRocketEntity;
4088        "minecraft:fishing_bobber", FishingBobber: FishingHook;
4089        "minecraft:fox", Fox: Fox;
4090        "minecraft:frog", Frog: Frog;
4091        "minecraft:furnace_minecart", FurnaceMinecart: MinecartFurnace;
4092        "minecraft:ghast", Ghast: Ghast;
4093        "minecraft:giant", Giant: Giant;
4094        "minecraft:glow_item_frame", GlowItemFrame: GlowItemFrame;
4095        "minecraft:glow_squid", GlowSquid: GlowSquid;
4096        "minecraft:goat", Goat: Goat;
4097        "minecraft:guardian", Guardian: Guardian;
4098        "minecraft:hoglin", Hoglin: Hoglin;
4099        "minecraft:hopper_minecart", HopperMinecart: MinecartHopper;
4100        "minecraft:horse", Horse: Horse;
4101        "minecraft:husk", Husk: Husk;
4102        "minecraft:illusioner", Illusioner: Illusioner;
4103        "minecraft:interaction", Interaction: Interaction;
4104        "minecraft:iron_golem", IronGolem: IronGolem;
4105        "minecraft:item", Item: ItemEntity;
4106        "minecraft:item_display", ItemDisplay: ItemDisplay;
4107        "minecraft:item_frame", ItemFrame: ItemFrame;
4108        "minecraft:leash_knot", LeashKnot: LeashFenceKnotEntity;
4109        "minecraft:lightning_bolt", LightningBolt: LightningBolt;
4110        "minecraft:llama", Llama: Llama;
4111        "minecraft:llama_spit", LlamaSpit: LlamaSpit;
4112        "minecraft:magma_cube", MagmaCube: MagmaCube;
4113        "minecraft:marker", Marker: Marker;
4114        "minecraft:minecart", Minecart: Minecart;
4115        "minecraft:mooshroom", Mooshroom: MushroomCow;
4116        "minecraft:mule", Mule: Mule;
4117        "minecraft:ocelot", Ocelot: Ocelot;
4118        experimental "minecraft:ominous_item_spawner", OminousItemSpawner: OminousItemSpawner;
4119        "minecraft:painting", Painting: Painting;
4120        "minecraft:panda", Panda: Panda;
4121        "minecraft:parrot", Parrot: Parrot;
4122        "minecraft:phantom", Phantom: Phantom;
4123        "minecraft:pig", Pig: Pig;
4124        "minecraft:piglin", Piglin: Piglin;
4125        "minecraft:piglin_brute", PiglinBrute: PiglinBrute;
4126        "minecraft:pillager", Pillager: Pillager;
4127        "minecraft:polar_bear", PolarBear: PolarBear;
4128        "minecraft:potion", Potion: ThrownPotion;
4129        "minecraft:pufferfish", Pufferfish: Pufferfish;
4130        "minecraft:rabbit", Rabbit: Rabbit;
4131        "minecraft:ravager", Ravager: Ravager;
4132        "minecraft:salmon", Salmon: Salmon;
4133        "minecraft:sheep", Sheep: Sheep;
4134        "minecraft:shulker", Shulker: Shulker;
4135        "minecraft:shulker_bullet", ShulkerBullet: ShulkerBullet;
4136        "minecraft:silverfish", Silverfish: Silverfish;
4137        "minecraft:skeleton", Skeleton: Skeleton;
4138        "minecraft:skeleton_horse", SkeletonHorse: SkeletonHorse;
4139        "minecraft:slime", Slime: Slime;
4140        "minecraft:small_fireball", SmallFireball: SmallFireball;
4141        "minecraft:sniffer", Sniffer: Sniffer;
4142        "minecraft:snow_golem", SnowGolem: SnowGolem;
4143        "minecraft:snowball", Snowball: Snowball;
4144        "minecraft:spawner_minecart", SpawnerMinecart: MinecartSpawner;
4145        "minecraft:spectral_arrow", SpectralArrow: SpectralArrow;
4146        "minecraft:spider", Spider: Spider;
4147        "minecraft:squid", Squid: Squid;
4148        "minecraft:stray", Stray: Stray;
4149        "minecraft:strider", Strider: Strider;
4150        "minecraft:tadpole", Tadpole: Tadpole;
4151        "minecraft:text_display", TextDisplay: TextDisplay;
4152        "minecraft:tnt", Tnt: PrimedTnt;
4153        "minecraft:tnt_minecart", TntMinecart: MinecartTNT;
4154        "minecraft:trader_llama", TraderLlama: TraderLlama;
4155        "minecraft:trident", Trident: ThrownTrident;
4156        "minecraft:tropical_fish", TropicalFish: TropicalFish;
4157        "minecraft:turtle", Turtle: Turtle;
4158        "minecraft:vex", Vex: Vex;
4159        "minecraft:villager", Villager: Villager;
4160        "minecraft:vindicator", Vindicator: Vindicator;
4161        "minecraft:wandering_trader", WanderingTrader: WanderingTrader;
4162        "minecraft:warden", Warden: Warden;
4163        experimental "minecraft:wind_charge", WindCharge: WindCharge;
4164        "minecraft:witch", Witch: Witch;
4165        "minecraft:wither", Wither: WitherBoss;
4166        "minecraft:wither_skeleton", WitherSkeleton: WitherSkeleton;
4167        "minecraft:wither_skull", WitherSkull: WitherSkull;
4168        "minecraft:wolf", Wolf: Wolf;
4169        "minecraft:zoglin", Zoglin: Zoglin;
4170        "minecraft:zombie", Zombie: Zombie;
4171        "minecraft:zombie_horse", ZombieHorse: ZombieHorse;
4172        "minecraft:zombie_villager", ZombieVillager: ZombieVillager;
4173        "minecraft:zombified_piglin", ZombifiedPiglin: ZombifiedPiglin;
4174    }
4175
4176    entity_types! {
4177        "1.20.5";
4178        AbstractArrow > Projectile { "PierceLevel" as pierce_level: i8, "ShotFromCrossbow" as shot_from_crossbow: bool, "SoundEvent" as sound_event: CowStr, "crit" as crit: bool, "damage" as damage: f64, optional "inBlockState" as in_block_state: super::BlockState, "inGround" as in_ground: bool, "item" as item: fastnbt::Value, "life" as life: i16, "pickup" as pickup: i8, "shake" as shake: i8 }
4179        AbstractChestedHorse > AbstractHorse { "ChestedHorse" as chested_horse: bool, optional "Items" as items: Vec<fastnbt::Value> }
4180        AbstractFish > WaterAnimal { "FromBucket" as from_bucket: bool }
4181        AbstractGolem > PathfinderMob {  }
4182        AbstractHorse > Animal { "Bred" as bred: bool, "EatingHaystack" as eating_haystack: bool, optional "Owner" as owner: u128, optional "SaddleItem" as saddle_item: fastnbt::Value, "Tame" as tame: bool, "Temper" as temper: i32 }
4183        AbstractHurtingProjectile > Projectile { "power" as power: Vec<f64> }
4184        AbstractIllager > Raider {  }
4185        AbstractMinecart > VehicleEntity { optional "CustomDisplayTile" as custom_display_tile: bool, optional "DisplayOffset" as display_offset: i32, optional "DisplayState" as display_state: super::BlockState }
4186        AbstractMinecartContainer > AbstractMinecart { optional "Items" as items: Vec<fastnbt::Value>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
4187        AbstractPiglin > Monster { optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
4188        AbstractSchoolingFish > AbstractFish {  }
4189        AbstractSkeleton > Monster {  }
4190        AbstractVillager > AgeableMob { "Inventory" as inventory: Vec<fastnbt::Value>, optional "Offers" as offers: fastnbt::Value }
4191        AbstractWindCharge > AbstractHurtingProjectile {  }
4192        AgeableMob > PathfinderMob { "Age" as age: i32, "ForcedAge" as forced_age: i32 }
4193        Allay > PathfinderMob { "CanDuplicate" as can_duplicate: bool, "DuplicationCooldown" as duplication_cooldown: i64, "Inventory" as inventory: Vec<fastnbt::Value>, optional "listener" as listener: fastnbt::Value }
4194        AmbientCreature > Mob {  }
4195        Animal > AgeableMob { "InLove" as in_love: i32, optional "LoveCause" as love_cause: u128 }
4196        AreaEffectCloud > Entity { "Age" as age: i32, "Duration" as duration: i32, "DurationOnUse" as duration_on_use: i32, optional "Owner" as owner: u128, "Particle" as particle: fastnbt::Value, "Radius" as radius: f32, "RadiusOnUse" as radius_on_use: f32, "RadiusPerTick" as radius_per_tick: f32, "ReapplicationDelay" as reapplication_delay: i32, "WaitTime" as wait_time: i32, optional "potion_contents" as potion_contents: fastnbt::Value }
4197        Armadillo > Animal { "scute_time" as scute_time: i32, "state" as state: CowStr }
4198        ArmorStand > LivingEntity { "ArmorItems" as armor_items: Vec<HashMap<CowStr, fastnbt::Value>>, "DisabledSlots" as disabled_slots: i32, "HandItems" as hand_items: Vec<HashMap<CowStr, fastnbt::Value>>, "Invisible" as invisible: bool, optional "Marker" as marker: bool, "NoBasePlate" as no_base_plate: bool, "Pose" as pose: super::compounds::ArmorStand_writePose, "ShowArms" as show_arms: bool, "Small" as small: bool }
4199        Arrow > AbstractArrow {  }
4200        Axolotl > Animal { "FromBucket" as from_bucket: bool, "Variant" as variant: i32 }
4201        Bat > AmbientCreature { "BatFlags" as bat_flags: i8 }
4202        Bee > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CannotEnterHiveTicks" as cannot_enter_hive_ticks: i32, "CropsGrownSincePollination" as crops_grown_since_pollination: i32, "HasNectar" as has_nectar: bool, "HasStung" as has_stung: bool, "TicksSincePollination" as ticks_since_pollination: i32, optional "flower_pos" as flower_pos: fastnbt::IntArray, optional "hive_pos" as hive_pos: fastnbt::IntArray }
4203        Blaze > Monster {  }
4204        BlockDisplay > Display { "block_state" as block_state: super::BlockState }
4205        Boat > VehicleEntity { "Type" as r#type: CowStr }
4206        Bogged > AbstractSkeleton { "sheared" as sheared: bool }
4207        Breeze > Monster {  }
4208        BreezeWindCharge > AbstractWindCharge {  }
4209        Camel > AbstractHorse { "LastPoseTick" as last_pose_tick: i64 }
4210        Cat > TamableAnimal { "CollarColor" as collar_color: i8, "variant" as variant: CowStr }
4211        CaveSpider > Spider {  }
4212        ChestBoat > Boat { optional "Items" as items: Vec<fastnbt::Value>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
4213        Chicken > Animal { "EggLayTime" as egg_lay_time: i32, "IsChickenJockey" as is_chicken_jockey: bool }
4214        Cod > AbstractSchoolingFish {  }
4215        Cow > Animal {  }
4216        Creeper > Monster { "ExplosionRadius" as explosion_radius: i8, "Fuse" as fuse: i16, "ignited" as ignited: bool, optional "powered" as powered: bool }
4217        Display > Entity { "glow_color_override" as glow_color_override: i32, "height" as height: f32, "interpolation_duration" as interpolation_duration: i32, "shadow_radius" as shadow_radius: f32, "shadow_strength" as shadow_strength: f32, "teleport_duration" as teleport_duration: i32, "view_range" as view_range: f32, "width" as width: f32 }
4218        Dolphin > WaterAnimal { "GotFish" as got_fish: bool, "Moistness" as moistness: i32, "TreasurePosX" as treasure_pos_x: i32, "TreasurePosY" as treasure_pos_y: i32, "TreasurePosZ" as treasure_pos_z: i32 }
4219        Donkey > AbstractChestedHorse {  }
4220        DragonFireball > AbstractHurtingProjectile {  }
4221        Drowned > Zombie {  }
4222        ElderGuardian > Guardian {  }
4223        EndCrystal > Entity { "ShowBottom" as show_bottom: bool, optional "beam_target" as beam_target: fastnbt::IntArray }
4224        EnderDragon > Mob { "DragonDeathTime" as dragon_death_time: i32, "DragonPhase" as dragon_phase: i32 }
4225        EnderMan > Monster { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, optional "carriedBlockState" as carried_block_state: super::BlockState }
4226        Endermite > Monster { "Lifetime" as lifetime: i32 }
4227        Entity { "Air" as air: i16, optional "CustomName" as custom_name: CowStr, optional "CustomNameVisible" as custom_name_visible: bool, "FallDistance" as fall_distance: f32, "Fire" as fire: i16, optional "Glowing" as glowing: bool, optional "HasVisualFire" as has_visual_fire: bool, "Invulnerable" as invulnerable: bool, "Motion" as motion: Vec<f64>, optional "NoGravity" as no_gravity: bool, "OnGround" as on_ground: bool, optional "Passengers" as passengers: Vec<Box<super::Entity>>, "PortalCooldown" as portal_cooldown: i32, optional "Pos" as pos: Vec<f64>, "Rotation" as rotation: Vec<f32>, optional "Silent" as silent: bool, optional "Tags" as tags: Vec<CowStr>, optional "TicksFrozen" as ticks_frozen: i32, "UUID" as uuid: u128 }
4228        Evoker > SpellcasterIllager {  }
4229        EvokerFangs > Entity { optional "Owner" as owner: u128, "Warmup" as warmup: i32 }
4230        ExperienceOrb > Entity { "Age" as age: i16, "Count" as count: i32, "Health" as health: i16, "Value" as value: i16 }
4231        EyeOfEnder > Entity { "Item" as item: fastnbt::Value }
4232        FallingBlockEntity > Entity { "BlockState" as block_state: super::BlockState, "CancelDrop" as cancel_drop: bool, "DropItem" as drop_item: bool, "FallHurtAmount" as fall_hurt_amount: f32, "FallHurtMax" as fall_hurt_max: i32, "HurtEntities" as hurt_entities: bool, optional "TileEntityData" as tile_entity_data: HashMap<CowStr, fastnbt::Value>, "Time" as time: i32 }
4233        Fireball > AbstractHurtingProjectile { "Item" as item: fastnbt::Value }
4234        FireworkRocketEntity > Projectile { "FireworksItem" as fireworks_item: fastnbt::Value, "Life" as life: i32, "LifeTime" as life_time: i32, "ShotAtAngle" as shot_at_angle: bool }
4235        FishingHook > Projectile {  }
4236        FlyingMob > Mob {  }
4237        Fox > Animal { "Crouching" as crouching: bool, "Sitting" as sitting: bool, "Sleeping" as sleeping: bool, "Trusted" as trusted: Vec<fastnbt::IntArray>, "Type" as r#type: CowStr }
4238        Frog > Animal { "variant" as variant: CowStr }
4239        Ghast > FlyingMob { "ExplosionPower" as explosion_power: i8 }
4240        Giant > Monster {  }
4241        GlowItemFrame > ItemFrame {  }
4242        GlowSquid > Squid { "DarkTicksRemaining" as dark_ticks_remaining: i32 }
4243        Goat > Animal { "HasLeftHorn" as has_left_horn: bool, "HasRightHorn" as has_right_horn: bool, "IsScreamingGoat" as is_screaming_goat: bool }
4244        Guardian > Monster {  }
4245        HangingEntity > Entity { "TileX" as tile_x: i32, "TileY" as tile_y: i32, "TileZ" as tile_z: i32 }
4246        Hoglin > Animal { optional "CannotBeHunted" as cannot_be_hunted: bool, optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
4247        Horse > AbstractHorse { "Variant" as variant: i32 }
4248        Husk > Zombie {  }
4249        Illusioner > SpellcasterIllager {  }
4250        Interaction > Entity { "height" as height: f32, "response" as response: bool, "width" as width: f32 }
4251        IronGolem > AbstractGolem { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "PlayerCreated" as player_created: bool }
4252        ItemDisplay > Display { optional "item" as item: fastnbt::Value }
4253        ItemEntity > Entity { "Age" as age: i16, "Health" as health: i16, optional "Item" as item: fastnbt::Value, optional "Owner" as owner: u128, "PickupDelay" as pickup_delay: i16, optional "Thrower" as thrower: u128 }
4254        ItemFrame > HangingEntity { "Facing" as facing: i8, "Fixed" as fixed: bool, "Invisible" as invisible: bool, optional "Item" as item: fastnbt::Value, optional "ItemDropChance" as item_drop_chance: f32, optional "ItemRotation" as item_rotation: i8 }
4255        LargeFireball > Fireball { "ExplosionPower" as explosion_power: i8 }
4256        LeashFenceKnotEntity > HangingEntity {  }
4257        LightningBolt > Entity {  }
4258        LivingEntity > Entity { "AbsorptionAmount" as absorption_amount: f32, "Attributes" as attributes: Vec<super::compounds::AttributeInstance_save>, optional "Brain" as brain: fastnbt::Value, "DeathTime" as death_time: i16, "FallFlying" as fall_flying: bool, "Health" as health: f32, "HurtByTimestamp" as hurt_by_timestamp: i32, "HurtTime" as hurt_time: i16, optional "SleepingX" as sleeping_x: i32, optional "SleepingY" as sleeping_y: i32, optional "SleepingZ" as sleeping_z: i32, optional "active_effects" as active_effects: Vec<fastnbt::Value> }
4259        Llama > AbstractChestedHorse { "Strength" as strength: i32, "Variant" as variant: i32 }
4260        LlamaSpit > Projectile {  }
4261        MagmaCube > Slime {  }
4262        Marker > Entity { "data" as data: HashMap<CowStr, fastnbt::Value> }
4263        Minecart > AbstractMinecart {  }
4264        MinecartChest > AbstractMinecartContainer {  }
4265        MinecartCommandBlock > AbstractMinecart { "Command" as command: CowStr, optional "CustomName" as custom_name: CowStr, optional "LastExecution" as last_execution: i64, optional "LastOutput" as last_output: CowStr, "SuccessCount" as success_count: i32, "TrackOutput" as track_output: bool, "UpdateLastExecution" as update_last_execution: bool }
4266        MinecartFurnace > AbstractMinecart { "Fuel" as fuel: i16, "PushX" as push_x: f64, "PushZ" as push_z: f64 }
4267        MinecartHopper > AbstractMinecartContainer { "Enabled" as enabled: bool }
4268        MinecartSpawner > AbstractMinecart { "Delay" as delay: i16, "MaxNearbyEntities" as max_nearby_entities: i16, "MaxSpawnDelay" as max_spawn_delay: i16, "MinSpawnDelay" as min_spawn_delay: i16, "RequiredPlayerRange" as required_player_range: i16, "SpawnCount" as spawn_count: i16, optional "SpawnData" as spawn_data: fastnbt::Value, "SpawnPotentials" as spawn_potentials: fastnbt::Value, "SpawnRange" as spawn_range: i16 }
4269        MinecartTNT > AbstractMinecart { "TNTFuse" as tnt_fuse: i32 }
4270        Mob > LivingEntity { "ArmorDropChances" as armor_drop_chances: Vec<f32>, "ArmorItems" as armor_items: Vec<HashMap<CowStr, fastnbt::Value>>, "CanPickUpLoot" as can_pick_up_loot: bool, optional "DeathLootTable" as death_loot_table: CowStr, optional "DeathLootTableSeed" as death_loot_table_seed: i64, "HandDropChances" as hand_drop_chances: Vec<f32>, "HandItems" as hand_items: Vec<HashMap<CowStr, fastnbt::Value>>, "LeftHanded" as left_handed: bool, optional "NoAI" as no_ai: bool, "PersistenceRequired" as persistence_required: bool, optional "body_armor_drop_chance" as body_armor_drop_chance: f32, optional "body_armor_item" as body_armor_item: fastnbt::Value, optional "leash" as leash: either::Either<super::compounds::Mob_method_56995, fastnbt::IntArray> }
4271        Monster > PathfinderMob {  }
4272        Mule > AbstractChestedHorse {  }
4273        MushroomCow > Cow { "Type" as r#type: CowStr }
4274        Ocelot > Animal { "Trusting" as trusting: bool }
4275        OminousItemSpawner > Entity { optional "item" as item: fastnbt::Value, "spawn_item_after_ticks" as spawn_item_after_ticks: i64 }
4276        Painting > HangingEntity { "facing" as facing: i8 }
4277        Panda > Animal { "HiddenGene" as hidden_gene: CowStr, "MainGene" as main_gene: CowStr }
4278        Parrot > ShoulderRidingEntity { "Variant" as variant: i32 }
4279        PathfinderMob > Mob {  }
4280        PatrollingMonster > Monster { "PatrolLeader" as patrol_leader: bool, "Patrolling" as patrolling: bool, optional "patrol_target" as patrol_target: fastnbt::IntArray }
4281        Phantom > FlyingMob { "AX" as ax: i32, "AY" as ay: i32, "AZ" as az: i32, "Size" as size: i32 }
4282        Pig > Animal { "Saddle" as saddle: bool }
4283        Piglin > AbstractPiglin { optional "CannotHunt" as cannot_hunt: bool, "Inventory" as inventory: Vec<fastnbt::Value>, optional "IsBaby" as is_baby: bool }
4284        PiglinBrute > AbstractPiglin {  }
4285        Pillager > AbstractIllager { "Inventory" as inventory: Vec<fastnbt::Value> }
4286        PolarBear > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
4287        PrimedTnt > Entity { "block_state" as block_state: super::BlockState, "fuse" as fuse: i16 }
4288        Projectile > Entity { "HasBeenShot" as has_been_shot: bool, optional "LeftOwner" as left_owner: bool, optional "Owner" as owner: u128 }
4289        Pufferfish > AbstractFish { "PuffState" as puff_state: i32 }
4290        Rabbit > Animal { "MoreCarrotTicks" as more_carrot_ticks: i32, "RabbitType" as rabbit_type: i32 }
4291        Raider > PatrollingMonster { "CanJoinRaid" as can_join_raid: bool, optional "RaidId" as raid_id: i32, "Wave" as wave: i32 }
4292        Ravager > Raider { "AttackTick" as attack_tick: i32, "RoarTick" as roar_tick: i32, "StunTick" as stun_tick: i32 }
4293        Salmon > AbstractSchoolingFish {  }
4294        Sheep > Animal { "Color" as color: i8, "Sheared" as sheared: bool }
4295        ShoulderRidingEntity > TamableAnimal {  }
4296        Shulker > AbstractGolem { "AttachFace" as attach_face: i8, "Color" as color: i8, "Peek" as peek: i8 }
4297        ShulkerBullet > Projectile { optional "Dir" as dir: i32, "Steps" as steps: i32, "TXD" as txd: f64, "TYD" as tyd: f64, "TZD" as tzd: f64, optional "Target" as target: u128 }
4298        Silverfish > Monster {  }
4299        Skeleton > AbstractSkeleton { "StrayConversionTime" as stray_conversion_time: i32 }
4300        SkeletonHorse > AbstractHorse { "SkeletonTrap" as skeleton_trap: bool, "SkeletonTrapTime" as skeleton_trap_time: i32 }
4301        Slime > Mob { "Size" as size: i32, "wasOnGround" as was_on_ground: bool }
4302        SmallFireball > Fireball {  }
4303        Sniffer > Animal {  }
4304        SnowGolem > AbstractGolem { "Pumpkin" as pumpkin: bool }
4305        Snowball > ThrowableItemProjectile {  }
4306        SpectralArrow > AbstractArrow { "Duration" as duration: i32 }
4307        SpellcasterIllager > AbstractIllager { "SpellTicks" as spell_ticks: i32 }
4308        Spider > Monster {  }
4309        Squid > WaterAnimal {  }
4310        Stray > AbstractSkeleton {  }
4311        Strider > Animal { "Saddle" as saddle: bool }
4312        Tadpole > AbstractFish { "Age" as age: i32 }
4313        TamableAnimal > Animal { optional "Owner" as owner: u128, "Sitting" as sitting: bool }
4314        TextDisplay > Display { "background" as background: i32, "default_background" as default_background: bool, "line_width" as line_width: i32, "see_through" as see_through: bool, "shadow" as shadow: bool, "text" as text: CowStr, "text_opacity" as text_opacity: i8 }
4315        ThrowableItemProjectile > ThrowableProjectile { "Item" as item: fastnbt::Value }
4316        ThrowableProjectile > Projectile {  }
4317        ThrownEgg > ThrowableItemProjectile {  }
4318        ThrownEnderpearl > ThrowableItemProjectile {  }
4319        ThrownExperienceBottle > ThrowableItemProjectile {  }
4320        ThrownPotion > ThrowableItemProjectile {  }
4321        ThrownTrident > AbstractArrow { "DealtDamage" as dealt_damage: bool }
4322        TraderLlama > Llama { "DespawnDelay" as despawn_delay: i32 }
4323        TropicalFish > AbstractSchoolingFish { "Variant" as variant: i32 }
4324        Turtle > Animal { "HasEgg" as has_egg: bool, "HomePosX" as home_pos_x: i32, "HomePosY" as home_pos_y: i32, "HomePosZ" as home_pos_z: i32, "TravelPosX" as travel_pos_x: i32, "TravelPosY" as travel_pos_y: i32, "TravelPosZ" as travel_pos_z: i32 }
4325        VehicleEntity > Entity {  }
4326        Vex > Monster { optional "BoundX" as bound_x: i32, optional "BoundY" as bound_y: i32, optional "BoundZ" as bound_z: i32, optional "LifeTicks" as life_ticks: i32 }
4327        Villager > AbstractVillager { optional "AssignProfessionWhenSpawned" as assign_profession_when_spawned: bool, "FoodLevel" as food_level: i8, "Gossips" as gossips: fastnbt::Value, "LastGossipDecay" as last_gossip_decay: i64, "LastRestock" as last_restock: i64, "RestocksToday" as restocks_today: i32, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
4328        Vindicator > AbstractIllager { optional "Johnny" as johnny: bool }
4329        WanderingTrader > AbstractVillager { "DespawnDelay" as despawn_delay: i32, optional "wander_target" as wander_target: fastnbt::IntArray }
4330        Warden > Monster { optional "anger" as anger: fastnbt::Value, optional "listener" as listener: fastnbt::Value }
4331        WaterAnimal > PathfinderMob {  }
4332        WindCharge > AbstractWindCharge {  }
4333        Witch > Raider {  }
4334        WitherBoss > Monster { "Invul" as invul: i32 }
4335        WitherSkeleton > AbstractSkeleton {  }
4336        WitherSkull > AbstractHurtingProjectile { "dangerous" as dangerous: bool }
4337        Wolf > TamableAnimal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CollarColor" as collar_color: i8, "variant" as variant: CowStr }
4338        Zoglin > Monster { optional "IsBaby" as is_baby: bool }
4339        Zombie > Monster { "CanBreakDoors" as can_break_doors: bool, "DrownedConversionTime" as drowned_conversion_time: i32, "InWaterTime" as in_water_time: i32, "IsBaby" as is_baby: bool }
4340        ZombieHorse > AbstractHorse {  }
4341        ZombieVillager > Zombie { optional "ConversionPlayer" as conversion_player: u128, "ConversionTime" as conversion_time: i32, optional "Gossips" as gossips: fastnbt::Value, optional "Offers" as offers: fastnbt::Value, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
4342        ZombifiedPiglin > Zombie { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
4343    }
4344
4345    entity_compound_types! {
4346        "1.20.5";
4347        ArmorStand_writePose { optional "Body" as body: Vec<f32>, optional "Head" as head: Vec<f32>, optional "LeftArm" as left_arm: Vec<f32>, optional "LeftLeg" as left_leg: Vec<f32>, optional "RightArm" as right_arm: Vec<f32>, optional "RightLeg" as right_leg: Vec<f32> }
4348        AttributeInstance_save { "Base" as base: f64, optional "Modifiers" as modifiers: Vec<super::compounds::AttributeModifier_save>, "Name" as name: CowStr }
4349        AttributeModifier_save { "Amount" as amount: f64, "Name" as name: CowStr, "Operation" as operation: i32, "UUID" as uuid: u128 }
4350        Mob_method_56995 { "UUID" as uuid: u128 }
4351    }
4352}
4353
4354/// Accompanying types for entities in Minecraft 1.21.
4355#[cfg(feature = "1.21")]
4356pub mod mc1_21 {
4357    entities! {
4358        "1.21", mc1_21;
4359        "minecraft:allay", Allay: Allay;
4360        "minecraft:area_effect_cloud", AreaEffectCloud: AreaEffectCloud;
4361        "minecraft:armadillo", Armadillo: Armadillo;
4362        "minecraft:armor_stand", ArmorStand: ArmorStand;
4363        "minecraft:arrow", Arrow: Arrow;
4364        "minecraft:axolotl", Axolotl: Axolotl;
4365        "minecraft:bat", Bat: Bat;
4366        "minecraft:bee", Bee: Bee;
4367        "minecraft:blaze", Blaze: Blaze;
4368        "minecraft:block_display", BlockDisplay: BlockDisplay;
4369        "minecraft:boat", Boat: Boat;
4370        "minecraft:bogged", Bogged: Bogged;
4371        "minecraft:breeze", Breeze: Breeze;
4372        "minecraft:breeze_wind_charge", BreezeWindCharge: BreezeWindCharge;
4373        "minecraft:camel", Camel: Camel;
4374        "minecraft:cat", Cat: Cat;
4375        "minecraft:cave_spider", CaveSpider: CaveSpider;
4376        "minecraft:chest_boat", ChestBoat: ChestBoat;
4377        "minecraft:chest_minecart", ChestMinecart: MinecartChest;
4378        "minecraft:chicken", Chicken: Chicken;
4379        "minecraft:cod", Cod: Cod;
4380        "minecraft:command_block_minecart", CommandBlockMinecart: MinecartCommandBlock;
4381        "minecraft:cow", Cow: Cow;
4382        "minecraft:creeper", Creeper: Creeper;
4383        "minecraft:dolphin", Dolphin: Dolphin;
4384        "minecraft:donkey", Donkey: Donkey;
4385        "minecraft:dragon_fireball", DragonFireball: DragonFireball;
4386        "minecraft:drowned", Drowned: Drowned;
4387        "minecraft:egg", Egg: ThrownEgg;
4388        "minecraft:elder_guardian", ElderGuardian: ElderGuardian;
4389        "minecraft:end_crystal", EndCrystal: EndCrystal;
4390        "minecraft:ender_dragon", EnderDragon: EnderDragon;
4391        "minecraft:ender_pearl", EnderPearl: ThrownEnderpearl;
4392        "minecraft:enderman", Enderman: EnderMan;
4393        "minecraft:endermite", Endermite: Endermite;
4394        "minecraft:evoker", Evoker: Evoker;
4395        "minecraft:evoker_fangs", EvokerFangs: EvokerFangs;
4396        "minecraft:experience_bottle", ExperienceBottle: ThrownExperienceBottle;
4397        "minecraft:experience_orb", ExperienceOrb: ExperienceOrb;
4398        "minecraft:eye_of_ender", EyeOfEnder: EyeOfEnder;
4399        "minecraft:falling_block", FallingBlock: FallingBlockEntity;
4400        "minecraft:fireball", Fireball: LargeFireball;
4401        "minecraft:firework_rocket", FireworkRocket: FireworkRocketEntity;
4402        "minecraft:fishing_bobber", FishingBobber: FishingHook;
4403        "minecraft:fox", Fox: Fox;
4404        "minecraft:frog", Frog: Frog;
4405        "minecraft:furnace_minecart", FurnaceMinecart: MinecartFurnace;
4406        "minecraft:ghast", Ghast: Ghast;
4407        "minecraft:giant", Giant: Giant;
4408        "minecraft:glow_item_frame", GlowItemFrame: GlowItemFrame;
4409        "minecraft:glow_squid", GlowSquid: GlowSquid;
4410        "minecraft:goat", Goat: Goat;
4411        "minecraft:guardian", Guardian: Guardian;
4412        "minecraft:hoglin", Hoglin: Hoglin;
4413        "minecraft:hopper_minecart", HopperMinecart: MinecartHopper;
4414        "minecraft:horse", Horse: Horse;
4415        "minecraft:husk", Husk: Husk;
4416        "minecraft:illusioner", Illusioner: Illusioner;
4417        "minecraft:interaction", Interaction: Interaction;
4418        "minecraft:iron_golem", IronGolem: IronGolem;
4419        "minecraft:item", Item: ItemEntity;
4420        "minecraft:item_display", ItemDisplay: ItemDisplay;
4421        "minecraft:item_frame", ItemFrame: ItemFrame;
4422        "minecraft:leash_knot", LeashKnot: LeashFenceKnotEntity;
4423        "minecraft:lightning_bolt", LightningBolt: LightningBolt;
4424        "minecraft:llama", Llama: Llama;
4425        "minecraft:llama_spit", LlamaSpit: LlamaSpit;
4426        "minecraft:magma_cube", MagmaCube: MagmaCube;
4427        "minecraft:marker", Marker: Marker;
4428        "minecraft:minecart", Minecart: Minecart;
4429        "minecraft:mooshroom", Mooshroom: MushroomCow;
4430        "minecraft:mule", Mule: Mule;
4431        "minecraft:ocelot", Ocelot: Ocelot;
4432        "minecraft:ominous_item_spawner", OminousItemSpawner: OminousItemSpawner;
4433        "minecraft:painting", Painting: Painting;
4434        "minecraft:panda", Panda: Panda;
4435        "minecraft:parrot", Parrot: Parrot;
4436        "minecraft:phantom", Phantom: Phantom;
4437        "minecraft:pig", Pig: Pig;
4438        "minecraft:piglin", Piglin: Piglin;
4439        "minecraft:piglin_brute", PiglinBrute: PiglinBrute;
4440        "minecraft:pillager", Pillager: Pillager;
4441        "minecraft:polar_bear", PolarBear: PolarBear;
4442        "minecraft:potion", Potion: ThrownPotion;
4443        "minecraft:pufferfish", Pufferfish: Pufferfish;
4444        "minecraft:rabbit", Rabbit: Rabbit;
4445        "minecraft:ravager", Ravager: Ravager;
4446        "minecraft:salmon", Salmon: Salmon;
4447        "minecraft:sheep", Sheep: Sheep;
4448        "minecraft:shulker", Shulker: Shulker;
4449        "minecraft:shulker_bullet", ShulkerBullet: ShulkerBullet;
4450        "minecraft:silverfish", Silverfish: Silverfish;
4451        "minecraft:skeleton", Skeleton: Skeleton;
4452        "minecraft:skeleton_horse", SkeletonHorse: SkeletonHorse;
4453        "minecraft:slime", Slime: Slime;
4454        "minecraft:small_fireball", SmallFireball: SmallFireball;
4455        "minecraft:sniffer", Sniffer: Sniffer;
4456        "minecraft:snow_golem", SnowGolem: SnowGolem;
4457        "minecraft:snowball", Snowball: Snowball;
4458        "minecraft:spawner_minecart", SpawnerMinecart: MinecartSpawner;
4459        "minecraft:spectral_arrow", SpectralArrow: SpectralArrow;
4460        "minecraft:spider", Spider: Spider;
4461        "minecraft:squid", Squid: Squid;
4462        "minecraft:stray", Stray: Stray;
4463        "minecraft:strider", Strider: Strider;
4464        "minecraft:tadpole", Tadpole: Tadpole;
4465        "minecraft:text_display", TextDisplay: TextDisplay;
4466        "minecraft:tnt", Tnt: PrimedTnt;
4467        "minecraft:tnt_minecart", TntMinecart: MinecartTNT;
4468        "minecraft:trader_llama", TraderLlama: TraderLlama;
4469        "minecraft:trident", Trident: ThrownTrident;
4470        "minecraft:tropical_fish", TropicalFish: TropicalFish;
4471        "minecraft:turtle", Turtle: Turtle;
4472        "minecraft:vex", Vex: Vex;
4473        "minecraft:villager", Villager: Villager;
4474        "minecraft:vindicator", Vindicator: Vindicator;
4475        "minecraft:wandering_trader", WanderingTrader: WanderingTrader;
4476        "minecraft:warden", Warden: Warden;
4477        "minecraft:wind_charge", WindCharge: WindCharge;
4478        "minecraft:witch", Witch: Witch;
4479        "minecraft:wither", Wither: WitherBoss;
4480        "minecraft:wither_skeleton", WitherSkeleton: WitherSkeleton;
4481        "minecraft:wither_skull", WitherSkull: WitherSkull;
4482        "minecraft:wolf", Wolf: Wolf;
4483        "minecraft:zoglin", Zoglin: Zoglin;
4484        "minecraft:zombie", Zombie: Zombie;
4485        "minecraft:zombie_horse", ZombieHorse: ZombieHorse;
4486        "minecraft:zombie_villager", ZombieVillager: ZombieVillager;
4487        "minecraft:zombified_piglin", ZombifiedPiglin: ZombifiedPiglin;
4488    }
4489
4490    entity_types! {
4491        "1.21";
4492        AbstractArrow > Projectile { "PierceLevel" as pierce_level: i8, "SoundEvent" as sound_event: CowStr, "crit" as crit: bool, "damage" as damage: f64, optional "inBlockState" as in_block_state: super::BlockState, "inGround" as in_ground: bool, "item" as item: fastnbt::Value, "life" as life: i16, "pickup" as pickup: i8, "shake" as shake: i8, optional "weapon" as weapon: fastnbt::Value }
4493        AbstractChestedHorse > AbstractHorse { "ChestedHorse" as chested_horse: bool, optional "Items" as items: Vec<fastnbt::Value> }
4494        AbstractFish > WaterAnimal { "FromBucket" as from_bucket: bool }
4495        AbstractGolem > PathfinderMob {  }
4496        AbstractHorse > Animal { "Bred" as bred: bool, "EatingHaystack" as eating_haystack: bool, optional "Owner" as owner: u128, optional "SaddleItem" as saddle_item: fastnbt::Value, "Tame" as tame: bool, "Temper" as temper: i32 }
4497        AbstractHurtingProjectile > Projectile { "acceleration_power" as acceleration_power: f64 }
4498        AbstractIllager > Raider {  }
4499        AbstractMinecart > VehicleEntity { optional "CustomDisplayTile" as custom_display_tile: bool, optional "DisplayOffset" as display_offset: i32, optional "DisplayState" as display_state: super::BlockState }
4500        AbstractMinecartContainer > AbstractMinecart { optional "Items" as items: Vec<fastnbt::Value>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
4501        AbstractPiglin > Monster { optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
4502        AbstractSchoolingFish > AbstractFish {  }
4503        AbstractSkeleton > Monster {  }
4504        AbstractVillager > AgeableMob { "Inventory" as inventory: Vec<fastnbt::Value>, optional "Offers" as offers: fastnbt::Value }
4505        AbstractWindCharge > AbstractHurtingProjectile {  }
4506        AgeableMob > PathfinderMob { "Age" as age: i32, "ForcedAge" as forced_age: i32 }
4507        Allay > PathfinderMob { "CanDuplicate" as can_duplicate: bool, "DuplicationCooldown" as duplication_cooldown: i64, "Inventory" as inventory: Vec<fastnbt::Value>, optional "listener" as listener: fastnbt::Value }
4508        AmbientCreature > Mob {  }
4509        Animal > AgeableMob { "InLove" as in_love: i32, optional "LoveCause" as love_cause: u128 }
4510        AreaEffectCloud > Entity { "Age" as age: i32, "Duration" as duration: i32, "DurationOnUse" as duration_on_use: i32, optional "Owner" as owner: u128, "Particle" as particle: fastnbt::Value, "Radius" as radius: f32, "RadiusOnUse" as radius_on_use: f32, "RadiusPerTick" as radius_per_tick: f32, "ReapplicationDelay" as reapplication_delay: i32, "WaitTime" as wait_time: i32, optional "potion_contents" as potion_contents: fastnbt::Value }
4511        Armadillo > Animal { "scute_time" as scute_time: i32, "state" as state: CowStr }
4512        ArmorStand > LivingEntity { "ArmorItems" as armor_items: Vec<HashMap<CowStr, fastnbt::Value>>, "DisabledSlots" as disabled_slots: i32, "HandItems" as hand_items: Vec<HashMap<CowStr, fastnbt::Value>>, "Invisible" as invisible: bool, optional "Marker" as marker: bool, "NoBasePlate" as no_base_plate: bool, "Pose" as pose: super::compounds::ArmorStand_writePose, "ShowArms" as show_arms: bool, "Small" as small: bool }
4513        Arrow > AbstractArrow {  }
4514        Axolotl > Animal { "FromBucket" as from_bucket: bool, "Variant" as variant: i32 }
4515        Bat > AmbientCreature { "BatFlags" as bat_flags: i8 }
4516        Bee > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CannotEnterHiveTicks" as cannot_enter_hive_ticks: i32, "CropsGrownSincePollination" as crops_grown_since_pollination: i32, "HasNectar" as has_nectar: bool, "HasStung" as has_stung: bool, "TicksSincePollination" as ticks_since_pollination: i32, optional "flower_pos" as flower_pos: fastnbt::IntArray, optional "hive_pos" as hive_pos: fastnbt::IntArray }
4517        Blaze > Monster {  }
4518        BlockAttachedEntity > Entity { "TileX" as tile_x: i32, "TileY" as tile_y: i32, "TileZ" as tile_z: i32 }
4519        BlockDisplay > Display { "block_state" as block_state: super::BlockState }
4520        Boat > VehicleEntity { "Type" as r#type: CowStr, optional "leash" as leash: either::Either<fastnbt::Value, fastnbt::IntArray> }
4521        Bogged > AbstractSkeleton { "sheared" as sheared: bool }
4522        Breeze > Monster {  }
4523        BreezeWindCharge > AbstractWindCharge {  }
4524        Camel > AbstractHorse { "LastPoseTick" as last_pose_tick: i64 }
4525        Cat > TamableAnimal { "CollarColor" as collar_color: i8, "variant" as variant: CowStr }
4526        CaveSpider > Spider {  }
4527        ChestBoat > Boat { optional "Items" as items: Vec<fastnbt::Value>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
4528        Chicken > Animal { "EggLayTime" as egg_lay_time: i32, "IsChickenJockey" as is_chicken_jockey: bool }
4529        Cod > AbstractSchoolingFish {  }
4530        Cow > Animal {  }
4531        Creeper > Monster { "ExplosionRadius" as explosion_radius: i8, "Fuse" as fuse: i16, "ignited" as ignited: bool, optional "powered" as powered: bool }
4532        Display > Entity { "glow_color_override" as glow_color_override: i32, "height" as height: f32, "interpolation_duration" as interpolation_duration: i32, "shadow_radius" as shadow_radius: f32, "shadow_strength" as shadow_strength: f32, "teleport_duration" as teleport_duration: i32, "view_range" as view_range: f32, "width" as width: f32 }
4533        Dolphin > WaterAnimal { "GotFish" as got_fish: bool, "Moistness" as moistness: i32, "TreasurePosX" as treasure_pos_x: i32, "TreasurePosY" as treasure_pos_y: i32, "TreasurePosZ" as treasure_pos_z: i32 }
4534        Donkey > AbstractChestedHorse {  }
4535        DragonFireball > AbstractHurtingProjectile {  }
4536        Drowned > Zombie {  }
4537        ElderGuardian > Guardian {  }
4538        EndCrystal > Entity { "ShowBottom" as show_bottom: bool, optional "beam_target" as beam_target: fastnbt::IntArray }
4539        EnderDragon > Mob { "DragonDeathTime" as dragon_death_time: i32, "DragonPhase" as dragon_phase: i32 }
4540        EnderMan > Monster { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, optional "carriedBlockState" as carried_block_state: super::BlockState }
4541        Endermite > Monster { "Lifetime" as lifetime: i32 }
4542        Entity { "Air" as air: i16, optional "CustomName" as custom_name: CowStr, optional "CustomNameVisible" as custom_name_visible: bool, "FallDistance" as fall_distance: f32, "Fire" as fire: i16, optional "Glowing" as glowing: bool, optional "HasVisualFire" as has_visual_fire: bool, "Invulnerable" as invulnerable: bool, "Motion" as motion: Vec<f64>, optional "NoGravity" as no_gravity: bool, "OnGround" as on_ground: bool, optional "Passengers" as passengers: Vec<Box<super::Entity>>, "PortalCooldown" as portal_cooldown: i32, optional "Pos" as pos: Vec<f64>, "Rotation" as rotation: Vec<f32>, optional "Silent" as silent: bool, optional "Tags" as tags: Vec<CowStr>, optional "TicksFrozen" as ticks_frozen: i32, "UUID" as uuid: u128 }
4543        Evoker > SpellcasterIllager {  }
4544        EvokerFangs > Entity { optional "Owner" as owner: u128, "Warmup" as warmup: i32 }
4545        ExperienceOrb > Entity { "Age" as age: i16, "Count" as count: i32, "Health" as health: i16, "Value" as value: i16 }
4546        EyeOfEnder > Entity { "Item" as item: fastnbt::Value }
4547        FallingBlockEntity > Entity { "BlockState" as block_state: super::BlockState, "CancelDrop" as cancel_drop: bool, "DropItem" as drop_item: bool, "FallHurtAmount" as fall_hurt_amount: f32, "FallHurtMax" as fall_hurt_max: i32, "HurtEntities" as hurt_entities: bool, optional "TileEntityData" as tile_entity_data: HashMap<CowStr, fastnbt::Value>, "Time" as time: i32 }
4548        Fireball > AbstractHurtingProjectile { "Item" as item: fastnbt::Value }
4549        FireworkRocketEntity > Projectile { "FireworksItem" as fireworks_item: fastnbt::Value, "Life" as life: i32, "LifeTime" as life_time: i32, "ShotAtAngle" as shot_at_angle: bool }
4550        FishingHook > Projectile {  }
4551        FlyingMob > Mob {  }
4552        Fox > Animal { "Crouching" as crouching: bool, "Sitting" as sitting: bool, "Sleeping" as sleeping: bool, "Trusted" as trusted: Vec<fastnbt::IntArray>, "Type" as r#type: CowStr }
4553        Frog > Animal { "variant" as variant: CowStr }
4554        Ghast > FlyingMob { "ExplosionPower" as explosion_power: i8 }
4555        Giant > Monster {  }
4556        GlowItemFrame > ItemFrame {  }
4557        GlowSquid > Squid { "DarkTicksRemaining" as dark_ticks_remaining: i32 }
4558        Goat > Animal { "HasLeftHorn" as has_left_horn: bool, "HasRightHorn" as has_right_horn: bool, "IsScreamingGoat" as is_screaming_goat: bool }
4559        Guardian > Monster {  }
4560        HangingEntity > BlockAttachedEntity {  }
4561        Hoglin > Animal { optional "CannotBeHunted" as cannot_be_hunted: bool, optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
4562        Horse > AbstractHorse { "Variant" as variant: i32 }
4563        Husk > Zombie {  }
4564        Illusioner > SpellcasterIllager {  }
4565        Interaction > Entity { "height" as height: f32, "response" as response: bool, "width" as width: f32 }
4566        IronGolem > AbstractGolem { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "PlayerCreated" as player_created: bool }
4567        ItemDisplay > Display { optional "item" as item: fastnbt::Value }
4568        ItemEntity > Entity { "Age" as age: i16, "Health" as health: i16, optional "Item" as item: fastnbt::Value, optional "Owner" as owner: u128, "PickupDelay" as pickup_delay: i16, optional "Thrower" as thrower: u128 }
4569        ItemFrame > HangingEntity { "Facing" as facing: i8, "Fixed" as fixed: bool, "Invisible" as invisible: bool, optional "Item" as item: fastnbt::Value, optional "ItemDropChance" as item_drop_chance: f32, optional "ItemRotation" as item_rotation: i8 }
4570        LargeFireball > Fireball { "ExplosionPower" as explosion_power: i8 }
4571        LeashFenceKnotEntity > BlockAttachedEntity {  }
4572        LightningBolt > Entity {  }
4573        LivingEntity > Entity { "AbsorptionAmount" as absorption_amount: f32, optional "Brain" as brain: fastnbt::Value, "DeathTime" as death_time: i16, "FallFlying" as fall_flying: bool, "Health" as health: f32, "HurtByTimestamp" as hurt_by_timestamp: i32, "HurtTime" as hurt_time: i16, optional "SleepingX" as sleeping_x: i32, optional "SleepingY" as sleeping_y: i32, optional "SleepingZ" as sleeping_z: i32, optional "active_effects" as active_effects: Vec<fastnbt::Value>, "attributes" as attributes: Vec<super::compounds::AttributeInstance_save> }
4574        Llama > AbstractChestedHorse { "Strength" as strength: i32, "Variant" as variant: i32 }
4575        LlamaSpit > Projectile {  }
4576        MagmaCube > Slime {  }
4577        Marker > Entity { "data" as data: HashMap<CowStr, fastnbt::Value> }
4578        Minecart > AbstractMinecart {  }
4579        MinecartChest > AbstractMinecartContainer {  }
4580        MinecartCommandBlock > AbstractMinecart { "Command" as command: CowStr, optional "CustomName" as custom_name: CowStr, optional "LastExecution" as last_execution: i64, optional "LastOutput" as last_output: CowStr, "SuccessCount" as success_count: i32, "TrackOutput" as track_output: bool, "UpdateLastExecution" as update_last_execution: bool }
4581        MinecartFurnace > AbstractMinecart { "Fuel" as fuel: i16, "PushX" as push_x: f64, "PushZ" as push_z: f64 }
4582        MinecartHopper > AbstractMinecartContainer { "Enabled" as enabled: bool }
4583        MinecartSpawner > AbstractMinecart { "Delay" as delay: i16, "MaxNearbyEntities" as max_nearby_entities: i16, "MaxSpawnDelay" as max_spawn_delay: i16, "MinSpawnDelay" as min_spawn_delay: i16, "RequiredPlayerRange" as required_player_range: i16, "SpawnCount" as spawn_count: i16, optional "SpawnData" as spawn_data: fastnbt::Value, "SpawnPotentials" as spawn_potentials: fastnbt::Value, "SpawnRange" as spawn_range: i16 }
4584        MinecartTNT > AbstractMinecart { "TNTFuse" as tnt_fuse: i32 }
4585        Mob > LivingEntity { "ArmorDropChances" as armor_drop_chances: Vec<f32>, "ArmorItems" as armor_items: Vec<HashMap<CowStr, fastnbt::Value>>, "CanPickUpLoot" as can_pick_up_loot: bool, optional "DeathLootTable" as death_loot_table: CowStr, optional "DeathLootTableSeed" as death_loot_table_seed: i64, "HandDropChances" as hand_drop_chances: Vec<f32>, "HandItems" as hand_items: Vec<HashMap<CowStr, fastnbt::Value>>, "LeftHanded" as left_handed: bool, optional "NoAI" as no_ai: bool, "PersistenceRequired" as persistence_required: bool, optional "body_armor_drop_chance" as body_armor_drop_chance: f32, optional "body_armor_item" as body_armor_item: fastnbt::Value, optional "leash" as leash: either::Either<fastnbt::Value, fastnbt::IntArray> }
4586        Monster > PathfinderMob {  }
4587        Mule > AbstractChestedHorse {  }
4588        MushroomCow > Cow { "Type" as r#type: CowStr }
4589        Ocelot > Animal { "Trusting" as trusting: bool }
4590        OminousItemSpawner > Entity { optional "item" as item: fastnbt::Value, "spawn_item_after_ticks" as spawn_item_after_ticks: i64 }
4591        Painting > HangingEntity { "facing" as facing: i8 }
4592        Panda > Animal { "HiddenGene" as hidden_gene: CowStr, "MainGene" as main_gene: CowStr }
4593        Parrot > ShoulderRidingEntity { "Variant" as variant: i32 }
4594        PathfinderMob > Mob {  }
4595        PatrollingMonster > Monster { "PatrolLeader" as patrol_leader: bool, "Patrolling" as patrolling: bool, optional "patrol_target" as patrol_target: fastnbt::IntArray }
4596        Phantom > FlyingMob { "AX" as ax: i32, "AY" as ay: i32, "AZ" as az: i32, "Size" as size: i32 }
4597        Pig > Animal { "Saddle" as saddle: bool }
4598        Piglin > AbstractPiglin { optional "CannotHunt" as cannot_hunt: bool, "Inventory" as inventory: Vec<fastnbt::Value>, optional "IsBaby" as is_baby: bool }
4599        PiglinBrute > AbstractPiglin {  }
4600        Pillager > AbstractIllager { "Inventory" as inventory: Vec<fastnbt::Value> }
4601        PolarBear > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
4602        PrimedTnt > Entity { "block_state" as block_state: super::BlockState, "fuse" as fuse: i16 }
4603        Projectile > Entity { "HasBeenShot" as has_been_shot: bool, optional "LeftOwner" as left_owner: bool, optional "Owner" as owner: u128 }
4604        Pufferfish > AbstractFish { "PuffState" as puff_state: i32 }
4605        Rabbit > Animal { "MoreCarrotTicks" as more_carrot_ticks: i32, "RabbitType" as rabbit_type: i32 }
4606        Raider > PatrollingMonster { "CanJoinRaid" as can_join_raid: bool, optional "RaidId" as raid_id: i32, "Wave" as wave: i32 }
4607        Ravager > Raider { "AttackTick" as attack_tick: i32, "RoarTick" as roar_tick: i32, "StunTick" as stun_tick: i32 }
4608        Salmon > AbstractSchoolingFish {  }
4609        Sheep > Animal { "Color" as color: i8, "Sheared" as sheared: bool }
4610        ShoulderRidingEntity > TamableAnimal {  }
4611        Shulker > AbstractGolem { "AttachFace" as attach_face: i8, "Color" as color: i8, "Peek" as peek: i8 }
4612        ShulkerBullet > Projectile { optional "Dir" as dir: i32, "Steps" as steps: i32, "TXD" as txd: f64, "TYD" as tyd: f64, "TZD" as tzd: f64, optional "Target" as target: u128 }
4613        Silverfish > Monster {  }
4614        Skeleton > AbstractSkeleton { "StrayConversionTime" as stray_conversion_time: i32 }
4615        SkeletonHorse > AbstractHorse { "SkeletonTrap" as skeleton_trap: bool, "SkeletonTrapTime" as skeleton_trap_time: i32 }
4616        Slime > Mob { "Size" as size: i32, "wasOnGround" as was_on_ground: bool }
4617        SmallFireball > Fireball {  }
4618        Sniffer > Animal {  }
4619        SnowGolem > AbstractGolem { "Pumpkin" as pumpkin: bool }
4620        Snowball > ThrowableItemProjectile {  }
4621        SpectralArrow > AbstractArrow { "Duration" as duration: i32 }
4622        SpellcasterIllager > AbstractIllager { "SpellTicks" as spell_ticks: i32 }
4623        Spider > Monster {  }
4624        Squid > WaterAnimal {  }
4625        Stray > AbstractSkeleton {  }
4626        Strider > Animal { "Saddle" as saddle: bool }
4627        Tadpole > AbstractFish { "Age" as age: i32 }
4628        TamableAnimal > Animal { optional "Owner" as owner: u128, "Sitting" as sitting: bool }
4629        TextDisplay > Display { "background" as background: i32, "default_background" as default_background: bool, "line_width" as line_width: i32, "see_through" as see_through: bool, "shadow" as shadow: bool, "text" as text: CowStr, "text_opacity" as text_opacity: i8 }
4630        ThrowableItemProjectile > ThrowableProjectile { "Item" as item: fastnbt::Value }
4631        ThrowableProjectile > Projectile {  }
4632        ThrownEgg > ThrowableItemProjectile {  }
4633        ThrownEnderpearl > ThrowableItemProjectile {  }
4634        ThrownExperienceBottle > ThrowableItemProjectile {  }
4635        ThrownPotion > ThrowableItemProjectile {  }
4636        ThrownTrident > AbstractArrow { "DealtDamage" as dealt_damage: bool }
4637        TraderLlama > Llama { "DespawnDelay" as despawn_delay: i32 }
4638        TropicalFish > AbstractSchoolingFish { "Variant" as variant: i32 }
4639        Turtle > Animal { "HasEgg" as has_egg: bool, "HomePosX" as home_pos_x: i32, "HomePosY" as home_pos_y: i32, "HomePosZ" as home_pos_z: i32, "TravelPosX" as travel_pos_x: i32, "TravelPosY" as travel_pos_y: i32, "TravelPosZ" as travel_pos_z: i32 }
4640        VehicleEntity > Entity {  }
4641        Vex > Monster { optional "BoundX" as bound_x: i32, optional "BoundY" as bound_y: i32, optional "BoundZ" as bound_z: i32, optional "LifeTicks" as life_ticks: i32 }
4642        Villager > AbstractVillager { optional "AssignProfessionWhenSpawned" as assign_profession_when_spawned: bool, "FoodLevel" as food_level: i8, "Gossips" as gossips: fastnbt::Value, "LastGossipDecay" as last_gossip_decay: i64, "LastRestock" as last_restock: i64, "RestocksToday" as restocks_today: i32, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
4643        Vindicator > AbstractIllager { optional "Johnny" as johnny: bool }
4644        WanderingTrader > AbstractVillager { "DespawnDelay" as despawn_delay: i32, optional "wander_target" as wander_target: fastnbt::IntArray }
4645        Warden > Monster { optional "anger" as anger: fastnbt::Value, optional "listener" as listener: fastnbt::Value }
4646        WaterAnimal > PathfinderMob {  }
4647        WindCharge > AbstractWindCharge {  }
4648        Witch > Raider {  }
4649        WitherBoss > Monster { "Invul" as invul: i32 }
4650        WitherSkeleton > AbstractSkeleton {  }
4651        WitherSkull > AbstractHurtingProjectile { "dangerous" as dangerous: bool }
4652        Wolf > TamableAnimal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CollarColor" as collar_color: i8, optional "variant" as variant: CowStr }
4653        Zoglin > Monster { optional "IsBaby" as is_baby: bool }
4654        Zombie > Monster { "CanBreakDoors" as can_break_doors: bool, "DrownedConversionTime" as drowned_conversion_time: i32, "InWaterTime" as in_water_time: i32, "IsBaby" as is_baby: bool }
4655        ZombieHorse > AbstractHorse {  }
4656        ZombieVillager > Zombie { optional "ConversionPlayer" as conversion_player: u128, "ConversionTime" as conversion_time: i32, optional "Gossips" as gossips: fastnbt::Value, optional "Offers" as offers: fastnbt::Value, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
4657        ZombifiedPiglin > Zombie { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
4658    }
4659
4660    entity_compound_types! {
4661        "1.21";
4662        ArmorStand_writePose { optional "Body" as body: Vec<f32>, optional "Head" as head: Vec<f32>, optional "LeftArm" as left_arm: Vec<f32>, optional "LeftLeg" as left_leg: Vec<f32>, optional "RightArm" as right_arm: Vec<f32>, optional "RightLeg" as right_leg: Vec<f32> }
4663        AttributeInstance_save { "base" as base: f64, "id" as id: CowStr, optional "modifiers" as modifiers: Vec<HashMap<CowStr, fastnbt::Value>> }
4664    }
4665}
4666
4667/// Accompanying types for entities in Minecraft 1.21.2.
4668#[cfg(feature = "1.21.2")]
4669pub mod mc1_21_2 {
4670    entities! {
4671        "1.21.2", mc1_21_2;
4672        "minecraft:acacia_boat", AcaciaBoat: Boat;
4673        "minecraft:acacia_chest_boat", AcaciaChestBoat: ChestBoat;
4674        "minecraft:allay", Allay: Allay;
4675        "minecraft:area_effect_cloud", AreaEffectCloud: AreaEffectCloud;
4676        "minecraft:armadillo", Armadillo: Armadillo;
4677        "minecraft:armor_stand", ArmorStand: ArmorStand;
4678        "minecraft:arrow", Arrow: Arrow;
4679        "minecraft:axolotl", Axolotl: Axolotl;
4680        "minecraft:bamboo_chest_raft", BambooChestRaft: ChestRaft;
4681        "minecraft:bamboo_raft", BambooRaft: Raft;
4682        "minecraft:bat", Bat: Bat;
4683        "minecraft:bee", Bee: Bee;
4684        "minecraft:birch_boat", BirchBoat: Boat;
4685        "minecraft:birch_chest_boat", BirchChestBoat: ChestBoat;
4686        "minecraft:blaze", Blaze: Blaze;
4687        "minecraft:block_display", BlockDisplay: BlockDisplay;
4688        "minecraft:bogged", Bogged: Bogged;
4689        "minecraft:breeze", Breeze: Breeze;
4690        "minecraft:breeze_wind_charge", BreezeWindCharge: BreezeWindCharge;
4691        "minecraft:camel", Camel: Camel;
4692        "minecraft:cat", Cat: Cat;
4693        "minecraft:cave_spider", CaveSpider: CaveSpider;
4694        "minecraft:cherry_boat", CherryBoat: Boat;
4695        "minecraft:cherry_chest_boat", CherryChestBoat: ChestBoat;
4696        "minecraft:chest_minecart", ChestMinecart: MinecartChest;
4697        "minecraft:chicken", Chicken: Chicken;
4698        "minecraft:cod", Cod: Cod;
4699        "minecraft:command_block_minecart", CommandBlockMinecart: MinecartCommandBlock;
4700        "minecraft:cow", Cow: Cow;
4701        experimental "minecraft:creaking", Creaking: Creaking;
4702        experimental "minecraft:creaking_transient", CreakingTransient: CreakingTransient;
4703        "minecraft:creeper", Creeper: Creeper;
4704        "minecraft:dark_oak_boat", DarkOakBoat: Boat;
4705        "minecraft:dark_oak_chest_boat", DarkOakChestBoat: ChestBoat;
4706        "minecraft:dolphin", Dolphin: Dolphin;
4707        "minecraft:donkey", Donkey: Donkey;
4708        "minecraft:dragon_fireball", DragonFireball: DragonFireball;
4709        "minecraft:drowned", Drowned: Drowned;
4710        "minecraft:egg", Egg: ThrownEgg;
4711        "minecraft:elder_guardian", ElderGuardian: ElderGuardian;
4712        "minecraft:end_crystal", EndCrystal: EndCrystal;
4713        "minecraft:ender_dragon", EnderDragon: EnderDragon;
4714        "minecraft:ender_pearl", EnderPearl: ThrownEnderpearl;
4715        "minecraft:enderman", Enderman: EnderMan;
4716        "minecraft:endermite", Endermite: Endermite;
4717        "minecraft:evoker", Evoker: Evoker;
4718        "minecraft:evoker_fangs", EvokerFangs: EvokerFangs;
4719        "minecraft:experience_bottle", ExperienceBottle: ThrownExperienceBottle;
4720        "minecraft:experience_orb", ExperienceOrb: ExperienceOrb;
4721        "minecraft:eye_of_ender", EyeOfEnder: EyeOfEnder;
4722        "minecraft:falling_block", FallingBlock: FallingBlockEntity;
4723        "minecraft:fireball", Fireball: LargeFireball;
4724        "minecraft:firework_rocket", FireworkRocket: FireworkRocketEntity;
4725        "minecraft:fishing_bobber", FishingBobber: FishingHook;
4726        "minecraft:fox", Fox: Fox;
4727        "minecraft:frog", Frog: Frog;
4728        "minecraft:furnace_minecart", FurnaceMinecart: MinecartFurnace;
4729        "minecraft:ghast", Ghast: Ghast;
4730        "minecraft:giant", Giant: Giant;
4731        "minecraft:glow_item_frame", GlowItemFrame: GlowItemFrame;
4732        "minecraft:glow_squid", GlowSquid: GlowSquid;
4733        "minecraft:goat", Goat: Goat;
4734        "minecraft:guardian", Guardian: Guardian;
4735        "minecraft:hoglin", Hoglin: Hoglin;
4736        "minecraft:hopper_minecart", HopperMinecart: MinecartHopper;
4737        "minecraft:horse", Horse: Horse;
4738        "minecraft:husk", Husk: Husk;
4739        "minecraft:illusioner", Illusioner: Illusioner;
4740        "minecraft:interaction", Interaction: Interaction;
4741        "minecraft:iron_golem", IronGolem: IronGolem;
4742        "minecraft:item", Item: ItemEntity;
4743        "minecraft:item_display", ItemDisplay: ItemDisplay;
4744        "minecraft:item_frame", ItemFrame: ItemFrame;
4745        "minecraft:jungle_boat", JungleBoat: Boat;
4746        "minecraft:jungle_chest_boat", JungleChestBoat: ChestBoat;
4747        "minecraft:leash_knot", LeashKnot: LeashFenceKnotEntity;
4748        "minecraft:lightning_bolt", LightningBolt: LightningBolt;
4749        "minecraft:llama", Llama: Llama;
4750        "minecraft:llama_spit", LlamaSpit: LlamaSpit;
4751        "minecraft:magma_cube", MagmaCube: MagmaCube;
4752        "minecraft:mangrove_boat", MangroveBoat: Boat;
4753        "minecraft:mangrove_chest_boat", MangroveChestBoat: ChestBoat;
4754        "minecraft:marker", Marker: Marker;
4755        "minecraft:minecart", Minecart: Minecart;
4756        "minecraft:mooshroom", Mooshroom: MushroomCow;
4757        "minecraft:mule", Mule: Mule;
4758        "minecraft:oak_boat", OakBoat: Boat;
4759        "minecraft:oak_chest_boat", OakChestBoat: ChestBoat;
4760        "minecraft:ocelot", Ocelot: Ocelot;
4761        "minecraft:ominous_item_spawner", OminousItemSpawner: OminousItemSpawner;
4762        "minecraft:painting", Painting: Painting;
4763        experimental "minecraft:pale_oak_boat", PaleOakBoat: Boat;
4764        experimental "minecraft:pale_oak_chest_boat", PaleOakChestBoat: ChestBoat;
4765        "minecraft:panda", Panda: Panda;
4766        "minecraft:parrot", Parrot: Parrot;
4767        "minecraft:phantom", Phantom: Phantom;
4768        "minecraft:pig", Pig: Pig;
4769        "minecraft:piglin", Piglin: Piglin;
4770        "minecraft:piglin_brute", PiglinBrute: PiglinBrute;
4771        "minecraft:pillager", Pillager: Pillager;
4772        "minecraft:polar_bear", PolarBear: PolarBear;
4773        "minecraft:potion", Potion: ThrownPotion;
4774        "minecraft:pufferfish", Pufferfish: Pufferfish;
4775        "minecraft:rabbit", Rabbit: Rabbit;
4776        "minecraft:ravager", Ravager: Ravager;
4777        "minecraft:salmon", Salmon: Salmon;
4778        "minecraft:sheep", Sheep: Sheep;
4779        "minecraft:shulker", Shulker: Shulker;
4780        "minecraft:shulker_bullet", ShulkerBullet: ShulkerBullet;
4781        "minecraft:silverfish", Silverfish: Silverfish;
4782        "minecraft:skeleton", Skeleton: Skeleton;
4783        "minecraft:skeleton_horse", SkeletonHorse: SkeletonHorse;
4784        "minecraft:slime", Slime: Slime;
4785        "minecraft:small_fireball", SmallFireball: SmallFireball;
4786        "minecraft:sniffer", Sniffer: Sniffer;
4787        "minecraft:snow_golem", SnowGolem: SnowGolem;
4788        "minecraft:snowball", Snowball: Snowball;
4789        "minecraft:spawner_minecart", SpawnerMinecart: MinecartSpawner;
4790        "minecraft:spectral_arrow", SpectralArrow: SpectralArrow;
4791        "minecraft:spider", Spider: Spider;
4792        "minecraft:spruce_boat", SpruceBoat: Boat;
4793        "minecraft:spruce_chest_boat", SpruceChestBoat: ChestBoat;
4794        "minecraft:squid", Squid: Squid;
4795        "minecraft:stray", Stray: Stray;
4796        "minecraft:strider", Strider: Strider;
4797        "minecraft:tadpole", Tadpole: Tadpole;
4798        "minecraft:text_display", TextDisplay: TextDisplay;
4799        "minecraft:tnt", Tnt: PrimedTnt;
4800        "minecraft:tnt_minecart", TntMinecart: MinecartTNT;
4801        "minecraft:trader_llama", TraderLlama: TraderLlama;
4802        "minecraft:trident", Trident: ThrownTrident;
4803        "minecraft:tropical_fish", TropicalFish: TropicalFish;
4804        "minecraft:turtle", Turtle: Turtle;
4805        "minecraft:vex", Vex: Vex;
4806        "minecraft:villager", Villager: Villager;
4807        "minecraft:vindicator", Vindicator: Vindicator;
4808        "minecraft:wandering_trader", WanderingTrader: WanderingTrader;
4809        "minecraft:warden", Warden: Warden;
4810        "minecraft:wind_charge", WindCharge: WindCharge;
4811        "minecraft:witch", Witch: Witch;
4812        "minecraft:wither", Wither: WitherBoss;
4813        "minecraft:wither_skeleton", WitherSkeleton: WitherSkeleton;
4814        "minecraft:wither_skull", WitherSkull: WitherSkull;
4815        "minecraft:wolf", Wolf: Wolf;
4816        "minecraft:zoglin", Zoglin: Zoglin;
4817        "minecraft:zombie", Zombie: Zombie;
4818        "minecraft:zombie_horse", ZombieHorse: ZombieHorse;
4819        "minecraft:zombie_villager", ZombieVillager: ZombieVillager;
4820        "minecraft:zombified_piglin", ZombifiedPiglin: ZombifiedPiglin;
4821    }
4822
4823    entity_types! {
4824        "1.21.2";
4825        AbstractArrow > Projectile { "PierceLevel" as pierce_level: i8, "SoundEvent" as sound_event: CowStr, "crit" as crit: bool, "damage" as damage: f64, optional "inBlockState" as in_block_state: super::BlockState, "inGround" as in_ground: bool, "item" as item: fastnbt::Value, "life" as life: i16, "pickup" as pickup: i8, "shake" as shake: i8, optional "weapon" as weapon: fastnbt::Value }
4826        AbstractBoat > VehicleEntity { optional "leash" as leash: either::Either<fastnbt::Value, fastnbt::IntArray> }
4827        AbstractChestBoat > AbstractBoat { optional "Items" as items: Vec<fastnbt::Value>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
4828        AbstractChestedHorse > AbstractHorse { "ChestedHorse" as chested_horse: bool, optional "Items" as items: Vec<fastnbt::Value> }
4829        AbstractFish > WaterAnimal { "FromBucket" as from_bucket: bool }
4830        AbstractGolem > PathfinderMob {  }
4831        AbstractHorse > Animal { "Bred" as bred: bool, "EatingHaystack" as eating_haystack: bool, optional "Owner" as owner: u128, optional "SaddleItem" as saddle_item: fastnbt::Value, "Tame" as tame: bool, "Temper" as temper: i32 }
4832        AbstractHurtingProjectile > Projectile { "acceleration_power" as acceleration_power: f64 }
4833        AbstractIllager > Raider {  }
4834        AbstractMinecart > VehicleEntity { optional "CustomDisplayTile" as custom_display_tile: bool, optional "DisplayOffset" as display_offset: i32, optional "DisplayState" as display_state: super::BlockState, "FlippedRotation" as flipped_rotation: bool, "HasTicked" as has_ticked: bool }
4835        AbstractMinecartContainer > AbstractMinecart { optional "Items" as items: Vec<fastnbt::Value>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
4836        AbstractPiglin > Monster { optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
4837        AbstractSchoolingFish > AbstractFish {  }
4838        AbstractSkeleton > Monster {  }
4839        AbstractVillager > AgeableMob { "Inventory" as inventory: Vec<fastnbt::Value>, optional "Offers" as offers: fastnbt::Value }
4840        AbstractWindCharge > AbstractHurtingProjectile {  }
4841        AgeableMob > PathfinderMob { "Age" as age: i32, "ForcedAge" as forced_age: i32 }
4842        AgeableWaterCreature > AgeableMob {  }
4843        Allay > PathfinderMob { "CanDuplicate" as can_duplicate: bool, "DuplicationCooldown" as duplication_cooldown: i64, "Inventory" as inventory: Vec<fastnbt::Value>, optional "listener" as listener: fastnbt::Value }
4844        AmbientCreature > Mob {  }
4845        Animal > AgeableMob { "InLove" as in_love: i32, optional "LoveCause" as love_cause: u128 }
4846        AreaEffectCloud > Entity { "Age" as age: i32, "Duration" as duration: i32, "DurationOnUse" as duration_on_use: i32, optional "Owner" as owner: u128, "Particle" as particle: fastnbt::Value, "Radius" as radius: f32, "RadiusOnUse" as radius_on_use: f32, "RadiusPerTick" as radius_per_tick: f32, "ReapplicationDelay" as reapplication_delay: i32, "WaitTime" as wait_time: i32, optional "potion_contents" as potion_contents: fastnbt::Value }
4847        Armadillo > Animal { "scute_time" as scute_time: i32, "state" as state: CowStr }
4848        ArmorStand > LivingEntity { "ArmorItems" as armor_items: Vec<HashMap<CowStr, fastnbt::Value>>, "DisabledSlots" as disabled_slots: i32, "HandItems" as hand_items: Vec<HashMap<CowStr, fastnbt::Value>>, "Invisible" as invisible: bool, optional "Marker" as marker: bool, "NoBasePlate" as no_base_plate: bool, "Pose" as pose: super::compounds::ArmorStand_writePose, "ShowArms" as show_arms: bool, "Small" as small: bool }
4849        Arrow > AbstractArrow {  }
4850        Axolotl > Animal { "FromBucket" as from_bucket: bool, "Variant" as variant: i32 }
4851        Bat > AmbientCreature { "BatFlags" as bat_flags: i8 }
4852        Bee > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CannotEnterHiveTicks" as cannot_enter_hive_ticks: i32, "CropsGrownSincePollination" as crops_grown_since_pollination: i32, "HasNectar" as has_nectar: bool, "HasStung" as has_stung: bool, "TicksSincePollination" as ticks_since_pollination: i32, optional "flower_pos" as flower_pos: fastnbt::IntArray, optional "hive_pos" as hive_pos: fastnbt::IntArray }
4853        Blaze > Monster {  }
4854        BlockAttachedEntity > Entity { "TileX" as tile_x: i32, "TileY" as tile_y: i32, "TileZ" as tile_z: i32 }
4855        BlockDisplay > Display { "block_state" as block_state: super::BlockState }
4856        Boat > AbstractBoat {  }
4857        Bogged > AbstractSkeleton { "sheared" as sheared: bool }
4858        Breeze > Monster {  }
4859        BreezeWindCharge > AbstractWindCharge {  }
4860        Camel > AbstractHorse { "LastPoseTick" as last_pose_tick: i64 }
4861        Cat > TamableAnimal { "CollarColor" as collar_color: i8, "variant" as variant: CowStr }
4862        CaveSpider > Spider {  }
4863        ChestBoat > AbstractChestBoat {  }
4864        ChestRaft > AbstractChestBoat {  }
4865        Chicken > Animal { "EggLayTime" as egg_lay_time: i32, "IsChickenJockey" as is_chicken_jockey: bool }
4866        Cod > AbstractSchoolingFish {  }
4867        Cow > Animal {  }
4868        Creaking > Monster {  }
4869        CreakingTransient > Creaking {  }
4870        Creeper > Monster { "ExplosionRadius" as explosion_radius: i8, "Fuse" as fuse: i16, "ignited" as ignited: bool, optional "powered" as powered: bool }
4871        Display > Entity { "glow_color_override" as glow_color_override: i32, "height" as height: f32, "interpolation_duration" as interpolation_duration: i32, "shadow_radius" as shadow_radius: f32, "shadow_strength" as shadow_strength: f32, "teleport_duration" as teleport_duration: i32, "view_range" as view_range: f32, "width" as width: f32 }
4872        Dolphin > AgeableWaterCreature { "GotFish" as got_fish: bool, "Moistness" as moistness: i32, "TreasurePosX" as treasure_pos_x: i32, "TreasurePosY" as treasure_pos_y: i32, "TreasurePosZ" as treasure_pos_z: i32 }
4873        Donkey > AbstractChestedHorse {  }
4874        DragonFireball > AbstractHurtingProjectile {  }
4875        Drowned > Zombie {  }
4876        ElderGuardian > Guardian {  }
4877        EndCrystal > Entity { "ShowBottom" as show_bottom: bool, optional "beam_target" as beam_target: fastnbt::IntArray }
4878        EnderDragon > Mob { "DragonDeathTime" as dragon_death_time: i32, "DragonPhase" as dragon_phase: i32 }
4879        EnderMan > Monster { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, optional "carriedBlockState" as carried_block_state: super::BlockState }
4880        Endermite > Monster { "Lifetime" as lifetime: i32 }
4881        Entity { "Air" as air: i16, optional "CustomName" as custom_name: CowStr, optional "CustomNameVisible" as custom_name_visible: bool, "FallDistance" as fall_distance: f32, "Fire" as fire: i16, optional "Glowing" as glowing: bool, optional "HasVisualFire" as has_visual_fire: bool, "Invulnerable" as invulnerable: bool, "Motion" as motion: Vec<f64>, optional "NoGravity" as no_gravity: bool, "OnGround" as on_ground: bool, optional "Passengers" as passengers: Vec<Box<super::Entity>>, "PortalCooldown" as portal_cooldown: i32, optional "Pos" as pos: Vec<f64>, "Rotation" as rotation: Vec<f32>, optional "Silent" as silent: bool, optional "Tags" as tags: Vec<CowStr>, optional "TicksFrozen" as ticks_frozen: i32, "UUID" as uuid: u128 }
4882        Evoker > SpellcasterIllager {  }
4883        EvokerFangs > Entity { optional "Owner" as owner: u128, "Warmup" as warmup: i32 }
4884        ExperienceOrb > Entity { "Age" as age: i16, "Count" as count: i32, "Health" as health: i16, "Value" as value: i16 }
4885        EyeOfEnder > Entity { "Item" as item: fastnbt::Value }
4886        FallingBlockEntity > Entity { "BlockState" as block_state: super::BlockState, "CancelDrop" as cancel_drop: bool, "DropItem" as drop_item: bool, "FallHurtAmount" as fall_hurt_amount: f32, "FallHurtMax" as fall_hurt_max: i32, "HurtEntities" as hurt_entities: bool, optional "TileEntityData" as tile_entity_data: HashMap<CowStr, fastnbt::Value>, "Time" as time: i32 }
4887        Fireball > AbstractHurtingProjectile { "Item" as item: fastnbt::Value }
4888        FireworkRocketEntity > Projectile { "FireworksItem" as fireworks_item: fastnbt::Value, "Life" as life: i32, "LifeTime" as life_time: i32, "ShotAtAngle" as shot_at_angle: bool }
4889        FishingHook > Projectile {  }
4890        FlyingMob > Mob {  }
4891        Fox > Animal { "Crouching" as crouching: bool, "Sitting" as sitting: bool, "Sleeping" as sleeping: bool, "Trusted" as trusted: Vec<fastnbt::IntArray>, "Type" as r#type: CowStr }
4892        Frog > Animal { "variant" as variant: CowStr }
4893        Ghast > FlyingMob { "ExplosionPower" as explosion_power: i8 }
4894        Giant > Monster {  }
4895        GlowItemFrame > ItemFrame {  }
4896        GlowSquid > Squid { "DarkTicksRemaining" as dark_ticks_remaining: i32 }
4897        Goat > Animal { "HasLeftHorn" as has_left_horn: bool, "HasRightHorn" as has_right_horn: bool, "IsScreamingGoat" as is_screaming_goat: bool }
4898        Guardian > Monster {  }
4899        HangingEntity > BlockAttachedEntity {  }
4900        Hoglin > Animal { optional "CannotBeHunted" as cannot_be_hunted: bool, optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
4901        Horse > AbstractHorse { "Variant" as variant: i32 }
4902        Husk > Zombie {  }
4903        Illusioner > SpellcasterIllager {  }
4904        Interaction > Entity { "height" as height: f32, "response" as response: bool, "width" as width: f32 }
4905        IronGolem > AbstractGolem { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "PlayerCreated" as player_created: bool }
4906        ItemDisplay > Display { optional "item" as item: fastnbt::Value }
4907        ItemEntity > Entity { "Age" as age: i16, "Health" as health: i16, optional "Item" as item: fastnbt::Value, optional "Owner" as owner: u128, "PickupDelay" as pickup_delay: i16, optional "Thrower" as thrower: u128 }
4908        ItemFrame > HangingEntity { "Facing" as facing: i8, "Fixed" as fixed: bool, "Invisible" as invisible: bool, optional "Item" as item: fastnbt::Value, optional "ItemDropChance" as item_drop_chance: f32, optional "ItemRotation" as item_rotation: i8 }
4909        LargeFireball > Fireball { "ExplosionPower" as explosion_power: i8 }
4910        LeashFenceKnotEntity > BlockAttachedEntity {  }
4911        LightningBolt > Entity {  }
4912        LivingEntity > Entity { "AbsorptionAmount" as absorption_amount: f32, optional "Brain" as brain: fastnbt::Value, "DeathTime" as death_time: i16, "FallFlying" as fall_flying: bool, "Health" as health: f32, "HurtByTimestamp" as hurt_by_timestamp: i32, "HurtTime" as hurt_time: i16, optional "SleepingX" as sleeping_x: i32, optional "SleepingY" as sleeping_y: i32, optional "SleepingZ" as sleeping_z: i32, optional "active_effects" as active_effects: Vec<fastnbt::Value>, "attributes" as attributes: Vec<super::compounds::AttributeInstance_save> }
4913        Llama > AbstractChestedHorse { "Strength" as strength: i32, "Variant" as variant: i32 }
4914        LlamaSpit > Projectile {  }
4915        MagmaCube > Slime {  }
4916        Marker > Entity { "data" as data: HashMap<CowStr, fastnbt::Value> }
4917        Minecart > AbstractMinecart {  }
4918        MinecartChest > AbstractMinecartContainer {  }
4919        MinecartCommandBlock > AbstractMinecart { "Command" as command: CowStr, optional "CustomName" as custom_name: CowStr, optional "LastExecution" as last_execution: i64, optional "LastOutput" as last_output: CowStr, "SuccessCount" as success_count: i32, "TrackOutput" as track_output: bool, "UpdateLastExecution" as update_last_execution: bool }
4920        MinecartFurnace > AbstractMinecart { "Fuel" as fuel: i16, "PushX" as push_x: f64, "PushZ" as push_z: f64 }
4921        MinecartHopper > AbstractMinecartContainer { "Enabled" as enabled: bool }
4922        MinecartSpawner > AbstractMinecart { "Delay" as delay: i16, "MaxNearbyEntities" as max_nearby_entities: i16, "MaxSpawnDelay" as max_spawn_delay: i16, "MinSpawnDelay" as min_spawn_delay: i16, "RequiredPlayerRange" as required_player_range: i16, "SpawnCount" as spawn_count: i16, optional "SpawnData" as spawn_data: fastnbt::Value, "SpawnPotentials" as spawn_potentials: fastnbt::Value, "SpawnRange" as spawn_range: i16 }
4923        MinecartTNT > AbstractMinecart { "TNTFuse" as tnt_fuse: i32, optional "explosion_power" as explosion_power: f32 }
4924        Mob > LivingEntity { "ArmorDropChances" as armor_drop_chances: Vec<f32>, "ArmorItems" as armor_items: Vec<HashMap<CowStr, fastnbt::Value>>, "CanPickUpLoot" as can_pick_up_loot: bool, optional "DeathLootTable" as death_loot_table: CowStr, optional "DeathLootTableSeed" as death_loot_table_seed: i64, "HandDropChances" as hand_drop_chances: Vec<f32>, "HandItems" as hand_items: Vec<HashMap<CowStr, fastnbt::Value>>, "LeftHanded" as left_handed: bool, optional "NoAI" as no_ai: bool, "PersistenceRequired" as persistence_required: bool, optional "body_armor_drop_chance" as body_armor_drop_chance: f32, optional "body_armor_item" as body_armor_item: fastnbt::Value, optional "leash" as leash: either::Either<fastnbt::Value, fastnbt::IntArray> }
4925        Monster > PathfinderMob {  }
4926        Mule > AbstractChestedHorse {  }
4927        MushroomCow > Cow { "Type" as r#type: CowStr }
4928        Ocelot > Animal { "Trusting" as trusting: bool }
4929        OminousItemSpawner > Entity { optional "item" as item: fastnbt::Value, "spawn_item_after_ticks" as spawn_item_after_ticks: i64 }
4930        Painting > HangingEntity { "facing" as facing: i8 }
4931        Panda > Animal { "HiddenGene" as hidden_gene: CowStr, "MainGene" as main_gene: CowStr }
4932        Parrot > ShoulderRidingEntity { "Variant" as variant: i32 }
4933        PathfinderMob > Mob {  }
4934        PatrollingMonster > Monster { "PatrolLeader" as patrol_leader: bool, "Patrolling" as patrolling: bool, optional "patrol_target" as patrol_target: fastnbt::IntArray }
4935        Phantom > FlyingMob { "AX" as ax: i32, "AY" as ay: i32, "AZ" as az: i32, "Size" as size: i32 }
4936        Pig > Animal { "Saddle" as saddle: bool }
4937        Piglin > AbstractPiglin { optional "CannotHunt" as cannot_hunt: bool, "Inventory" as inventory: Vec<fastnbt::Value>, optional "IsBaby" as is_baby: bool }
4938        PiglinBrute > AbstractPiglin {  }
4939        Pillager > AbstractIllager { "Inventory" as inventory: Vec<fastnbt::Value> }
4940        PolarBear > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
4941        PrimedTnt > Entity { "block_state" as block_state: super::BlockState, optional "explosion_power" as explosion_power: f32, "fuse" as fuse: i16 }
4942        Projectile > Entity { "HasBeenShot" as has_been_shot: bool, optional "LeftOwner" as left_owner: bool, optional "Owner" as owner: u128 }
4943        Pufferfish > AbstractFish { "PuffState" as puff_state: i32 }
4944        Rabbit > Animal { "MoreCarrotTicks" as more_carrot_ticks: i32, "RabbitType" as rabbit_type: i32 }
4945        Raft > AbstractBoat {  }
4946        Raider > PatrollingMonster { "CanJoinRaid" as can_join_raid: bool, optional "RaidId" as raid_id: i32, "Wave" as wave: i32 }
4947        Ravager > Raider { "AttackTick" as attack_tick: i32, "RoarTick" as roar_tick: i32, "StunTick" as stun_tick: i32 }
4948        Salmon > AbstractSchoolingFish { "type" as r#type: CowStr }
4949        Sheep > Animal { "Color" as color: i8, "Sheared" as sheared: bool }
4950        ShoulderRidingEntity > TamableAnimal {  }
4951        Shulker > AbstractGolem { "AttachFace" as attach_face: i8, "Color" as color: i8, "Peek" as peek: i8 }
4952        ShulkerBullet > Projectile { optional "Dir" as dir: i32, "Steps" as steps: i32, "TXD" as txd: f64, "TYD" as tyd: f64, "TZD" as tzd: f64, optional "Target" as target: u128 }
4953        Silverfish > Monster {  }
4954        Skeleton > AbstractSkeleton { "StrayConversionTime" as stray_conversion_time: i32 }
4955        SkeletonHorse > AbstractHorse { "SkeletonTrap" as skeleton_trap: bool, "SkeletonTrapTime" as skeleton_trap_time: i32 }
4956        Slime > Mob { "Size" as size: i32, "wasOnGround" as was_on_ground: bool }
4957        SmallFireball > Fireball {  }
4958        Sniffer > Animal {  }
4959        SnowGolem > AbstractGolem { "Pumpkin" as pumpkin: bool }
4960        Snowball > ThrowableItemProjectile {  }
4961        SpectralArrow > AbstractArrow { "Duration" as duration: i32 }
4962        SpellcasterIllager > AbstractIllager { "SpellTicks" as spell_ticks: i32 }
4963        Spider > Monster {  }
4964        Squid > AgeableWaterCreature {  }
4965        Stray > AbstractSkeleton {  }
4966        Strider > Animal { "Saddle" as saddle: bool }
4967        Tadpole > AbstractFish { "Age" as age: i32 }
4968        TamableAnimal > Animal { optional "Owner" as owner: u128, "Sitting" as sitting: bool }
4969        TextDisplay > Display { "background" as background: i32, "default_background" as default_background: bool, "line_width" as line_width: i32, "see_through" as see_through: bool, "shadow" as shadow: bool, "text" as text: CowStr, "text_opacity" as text_opacity: i8 }
4970        ThrowableItemProjectile > ThrowableProjectile { "Item" as item: fastnbt::Value }
4971        ThrowableProjectile > Projectile {  }
4972        ThrownEgg > ThrowableItemProjectile {  }
4973        ThrownEnderpearl > ThrowableItemProjectile {  }
4974        ThrownExperienceBottle > ThrowableItemProjectile {  }
4975        ThrownPotion > ThrowableItemProjectile {  }
4976        ThrownTrident > AbstractArrow { "DealtDamage" as dealt_damage: bool }
4977        TraderLlama > Llama { "DespawnDelay" as despawn_delay: i32 }
4978        TropicalFish > AbstractSchoolingFish { "Variant" as variant: i32 }
4979        Turtle > Animal { "HasEgg" as has_egg: bool, "HomePosX" as home_pos_x: i32, "HomePosY" as home_pos_y: i32, "HomePosZ" as home_pos_z: i32, "TravelPosX" as travel_pos_x: i32, "TravelPosY" as travel_pos_y: i32, "TravelPosZ" as travel_pos_z: i32 }
4980        VehicleEntity > Entity {  }
4981        Vex > Monster { optional "BoundX" as bound_x: i32, optional "BoundY" as bound_y: i32, optional "BoundZ" as bound_z: i32, optional "LifeTicks" as life_ticks: i32 }
4982        Villager > AbstractVillager { optional "AssignProfessionWhenSpawned" as assign_profession_when_spawned: bool, "FoodLevel" as food_level: i8, "Gossips" as gossips: fastnbt::Value, "LastGossipDecay" as last_gossip_decay: i64, "LastRestock" as last_restock: i64, "RestocksToday" as restocks_today: i32, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
4983        Vindicator > AbstractIllager { optional "Johnny" as johnny: bool }
4984        WanderingTrader > AbstractVillager { "DespawnDelay" as despawn_delay: i32, optional "wander_target" as wander_target: fastnbt::IntArray }
4985        Warden > Monster { optional "anger" as anger: fastnbt::Value, optional "listener" as listener: fastnbt::Value }
4986        WaterAnimal > PathfinderMob {  }
4987        WindCharge > AbstractWindCharge {  }
4988        Witch > Raider {  }
4989        WitherBoss > Monster { "Invul" as invul: i32 }
4990        WitherSkeleton > AbstractSkeleton {  }
4991        WitherSkull > AbstractHurtingProjectile { "dangerous" as dangerous: bool }
4992        Wolf > TamableAnimal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CollarColor" as collar_color: i8, optional "variant" as variant: CowStr }
4993        Zoglin > Monster { optional "IsBaby" as is_baby: bool }
4994        Zombie > Monster { "CanBreakDoors" as can_break_doors: bool, "DrownedConversionTime" as drowned_conversion_time: i32, "InWaterTime" as in_water_time: i32, "IsBaby" as is_baby: bool }
4995        ZombieHorse > AbstractHorse {  }
4996        ZombieVillager > Zombie { optional "ConversionPlayer" as conversion_player: u128, "ConversionTime" as conversion_time: i32, optional "Gossips" as gossips: fastnbt::Value, optional "Offers" as offers: fastnbt::Value, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
4997        ZombifiedPiglin > Zombie { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
4998    }
4999
5000    entity_compound_types! {
5001        "1.21.2";
5002        ArmorStand_writePose { optional "Body" as body: Vec<f32>, optional "Head" as head: Vec<f32>, optional "LeftArm" as left_arm: Vec<f32>, optional "LeftLeg" as left_leg: Vec<f32>, optional "RightArm" as right_arm: Vec<f32>, optional "RightLeg" as right_leg: Vec<f32> }
5003        AttributeInstance_save { "base" as base: f64, "id" as id: CowStr, optional "modifiers" as modifiers: Vec<HashMap<CowStr, fastnbt::Value>> }
5004    }
5005}
5006
5007/// Accompanying types for entities in Minecraft 1.21.4.
5008#[cfg(feature = "1.21.4")]
5009pub mod mc1_21_4 {
5010    entities! {
5011        "1.21.4", mc1_21_4;
5012        "minecraft:acacia_boat", AcaciaBoat: Boat;
5013        "minecraft:acacia_chest_boat", AcaciaChestBoat: ChestBoat;
5014        "minecraft:allay", Allay: Allay;
5015        "minecraft:area_effect_cloud", AreaEffectCloud: AreaEffectCloud;
5016        "minecraft:armadillo", Armadillo: Armadillo;
5017        "minecraft:armor_stand", ArmorStand: ArmorStand;
5018        "minecraft:arrow", Arrow: Arrow;
5019        "minecraft:axolotl", Axolotl: Axolotl;
5020        "minecraft:bamboo_chest_raft", BambooChestRaft: ChestRaft;
5021        "minecraft:bamboo_raft", BambooRaft: Raft;
5022        "minecraft:bat", Bat: Bat;
5023        "minecraft:bee", Bee: Bee;
5024        "minecraft:birch_boat", BirchBoat: Boat;
5025        "minecraft:birch_chest_boat", BirchChestBoat: ChestBoat;
5026        "minecraft:blaze", Blaze: Blaze;
5027        "minecraft:block_display", BlockDisplay: BlockDisplay;
5028        "minecraft:bogged", Bogged: Bogged;
5029        "minecraft:breeze", Breeze: Breeze;
5030        "minecraft:breeze_wind_charge", BreezeWindCharge: BreezeWindCharge;
5031        "minecraft:camel", Camel: Camel;
5032        "minecraft:cat", Cat: Cat;
5033        "minecraft:cave_spider", CaveSpider: CaveSpider;
5034        "minecraft:cherry_boat", CherryBoat: Boat;
5035        "minecraft:cherry_chest_boat", CherryChestBoat: ChestBoat;
5036        "minecraft:chest_minecart", ChestMinecart: MinecartChest;
5037        "minecraft:chicken", Chicken: Chicken;
5038        "minecraft:cod", Cod: Cod;
5039        "minecraft:command_block_minecart", CommandBlockMinecart: MinecartCommandBlock;
5040        "minecraft:cow", Cow: Cow;
5041        "minecraft:creaking", Creaking: Creaking;
5042        "minecraft:creeper", Creeper: Creeper;
5043        "minecraft:dark_oak_boat", DarkOakBoat: Boat;
5044        "minecraft:dark_oak_chest_boat", DarkOakChestBoat: ChestBoat;
5045        "minecraft:dolphin", Dolphin: Dolphin;
5046        "minecraft:donkey", Donkey: Donkey;
5047        "minecraft:dragon_fireball", DragonFireball: DragonFireball;
5048        "minecraft:drowned", Drowned: Drowned;
5049        "minecraft:egg", Egg: ThrownEgg;
5050        "minecraft:elder_guardian", ElderGuardian: ElderGuardian;
5051        "minecraft:end_crystal", EndCrystal: EndCrystal;
5052        "minecraft:ender_dragon", EnderDragon: EnderDragon;
5053        "minecraft:ender_pearl", EnderPearl: ThrownEnderpearl;
5054        "minecraft:enderman", Enderman: EnderMan;
5055        "minecraft:endermite", Endermite: Endermite;
5056        "minecraft:evoker", Evoker: Evoker;
5057        "minecraft:evoker_fangs", EvokerFangs: EvokerFangs;
5058        "minecraft:experience_bottle", ExperienceBottle: ThrownExperienceBottle;
5059        "minecraft:experience_orb", ExperienceOrb: ExperienceOrb;
5060        "minecraft:eye_of_ender", EyeOfEnder: EyeOfEnder;
5061        "minecraft:falling_block", FallingBlock: FallingBlockEntity;
5062        "minecraft:fireball", Fireball: LargeFireball;
5063        "minecraft:firework_rocket", FireworkRocket: FireworkRocketEntity;
5064        "minecraft:fishing_bobber", FishingBobber: FishingHook;
5065        "minecraft:fox", Fox: Fox;
5066        "minecraft:frog", Frog: Frog;
5067        "minecraft:furnace_minecart", FurnaceMinecart: MinecartFurnace;
5068        "minecraft:ghast", Ghast: Ghast;
5069        "minecraft:giant", Giant: Giant;
5070        "minecraft:glow_item_frame", GlowItemFrame: GlowItemFrame;
5071        "minecraft:glow_squid", GlowSquid: GlowSquid;
5072        "minecraft:goat", Goat: Goat;
5073        "minecraft:guardian", Guardian: Guardian;
5074        "minecraft:hoglin", Hoglin: Hoglin;
5075        "minecraft:hopper_minecart", HopperMinecart: MinecartHopper;
5076        "minecraft:horse", Horse: Horse;
5077        "minecraft:husk", Husk: Husk;
5078        "minecraft:illusioner", Illusioner: Illusioner;
5079        "minecraft:interaction", Interaction: Interaction;
5080        "minecraft:iron_golem", IronGolem: IronGolem;
5081        "minecraft:item", Item: ItemEntity;
5082        "minecraft:item_display", ItemDisplay: ItemDisplay;
5083        "minecraft:item_frame", ItemFrame: ItemFrame;
5084        "minecraft:jungle_boat", JungleBoat: Boat;
5085        "minecraft:jungle_chest_boat", JungleChestBoat: ChestBoat;
5086        "minecraft:leash_knot", LeashKnot: LeashFenceKnotEntity;
5087        "minecraft:lightning_bolt", LightningBolt: LightningBolt;
5088        "minecraft:llama", Llama: Llama;
5089        "minecraft:llama_spit", LlamaSpit: LlamaSpit;
5090        "minecraft:magma_cube", MagmaCube: MagmaCube;
5091        "minecraft:mangrove_boat", MangroveBoat: Boat;
5092        "minecraft:mangrove_chest_boat", MangroveChestBoat: ChestBoat;
5093        "minecraft:marker", Marker: Marker;
5094        "minecraft:minecart", Minecart: Minecart;
5095        "minecraft:mooshroom", Mooshroom: MushroomCow;
5096        "minecraft:mule", Mule: Mule;
5097        "minecraft:oak_boat", OakBoat: Boat;
5098        "minecraft:oak_chest_boat", OakChestBoat: ChestBoat;
5099        "minecraft:ocelot", Ocelot: Ocelot;
5100        "minecraft:ominous_item_spawner", OminousItemSpawner: OminousItemSpawner;
5101        "minecraft:painting", Painting: Painting;
5102        "minecraft:pale_oak_boat", PaleOakBoat: Boat;
5103        "minecraft:pale_oak_chest_boat", PaleOakChestBoat: ChestBoat;
5104        "minecraft:panda", Panda: Panda;
5105        "minecraft:parrot", Parrot: Parrot;
5106        "minecraft:phantom", Phantom: Phantom;
5107        "minecraft:pig", Pig: Pig;
5108        "minecraft:piglin", Piglin: Piglin;
5109        "minecraft:piglin_brute", PiglinBrute: PiglinBrute;
5110        "minecraft:pillager", Pillager: Pillager;
5111        "minecraft:polar_bear", PolarBear: PolarBear;
5112        "minecraft:potion", Potion: ThrownPotion;
5113        "minecraft:pufferfish", Pufferfish: Pufferfish;
5114        "minecraft:rabbit", Rabbit: Rabbit;
5115        "minecraft:ravager", Ravager: Ravager;
5116        "minecraft:salmon", Salmon: Salmon;
5117        "minecraft:sheep", Sheep: Sheep;
5118        "minecraft:shulker", Shulker: Shulker;
5119        "minecraft:shulker_bullet", ShulkerBullet: ShulkerBullet;
5120        "minecraft:silverfish", Silverfish: Silverfish;
5121        "minecraft:skeleton", Skeleton: Skeleton;
5122        "minecraft:skeleton_horse", SkeletonHorse: SkeletonHorse;
5123        "minecraft:slime", Slime: Slime;
5124        "minecraft:small_fireball", SmallFireball: SmallFireball;
5125        "minecraft:sniffer", Sniffer: Sniffer;
5126        "minecraft:snow_golem", SnowGolem: SnowGolem;
5127        "minecraft:snowball", Snowball: Snowball;
5128        "minecraft:spawner_minecart", SpawnerMinecart: MinecartSpawner;
5129        "minecraft:spectral_arrow", SpectralArrow: SpectralArrow;
5130        "minecraft:spider", Spider: Spider;
5131        "minecraft:spruce_boat", SpruceBoat: Boat;
5132        "minecraft:spruce_chest_boat", SpruceChestBoat: ChestBoat;
5133        "minecraft:squid", Squid: Squid;
5134        "minecraft:stray", Stray: Stray;
5135        "minecraft:strider", Strider: Strider;
5136        "minecraft:tadpole", Tadpole: Tadpole;
5137        "minecraft:text_display", TextDisplay: TextDisplay;
5138        "minecraft:tnt", Tnt: PrimedTnt;
5139        "minecraft:tnt_minecart", TntMinecart: MinecartTNT;
5140        "minecraft:trader_llama", TraderLlama: TraderLlama;
5141        "minecraft:trident", Trident: ThrownTrident;
5142        "minecraft:tropical_fish", TropicalFish: TropicalFish;
5143        "minecraft:turtle", Turtle: Turtle;
5144        "minecraft:vex", Vex: Vex;
5145        "minecraft:villager", Villager: Villager;
5146        "minecraft:vindicator", Vindicator: Vindicator;
5147        "minecraft:wandering_trader", WanderingTrader: WanderingTrader;
5148        "minecraft:warden", Warden: Warden;
5149        "minecraft:wind_charge", WindCharge: WindCharge;
5150        "minecraft:witch", Witch: Witch;
5151        "minecraft:wither", Wither: WitherBoss;
5152        "minecraft:wither_skeleton", WitherSkeleton: WitherSkeleton;
5153        "minecraft:wither_skull", WitherSkull: WitherSkull;
5154        "minecraft:wolf", Wolf: Wolf;
5155        "minecraft:zoglin", Zoglin: Zoglin;
5156        "minecraft:zombie", Zombie: Zombie;
5157        "minecraft:zombie_horse", ZombieHorse: ZombieHorse;
5158        "minecraft:zombie_villager", ZombieVillager: ZombieVillager;
5159        "minecraft:zombified_piglin", ZombifiedPiglin: ZombifiedPiglin;
5160    }
5161
5162    entity_types! {
5163        "1.21.4";
5164        AbstractArrow > Projectile { "PierceLevel" as pierce_level: i8, "SoundEvent" as sound_event: CowStr, "crit" as crit: bool, "damage" as damage: f64, optional "inBlockState" as in_block_state: super::BlockState, "inGround" as in_ground: bool, "item" as item: fastnbt::Value, "life" as life: i16, "pickup" as pickup: i8, "shake" as shake: i8, optional "weapon" as weapon: fastnbt::Value }
5165        AbstractBoat > VehicleEntity { optional "leash" as leash: either::Either<fastnbt::Value, fastnbt::IntArray> }
5166        AbstractChestBoat > AbstractBoat { optional "Items" as items: Vec<fastnbt::Value>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
5167        AbstractChestedHorse > AbstractHorse { "ChestedHorse" as chested_horse: bool, optional "Items" as items: Vec<fastnbt::Value> }
5168        AbstractFish > WaterAnimal { "FromBucket" as from_bucket: bool }
5169        AbstractGolem > PathfinderMob {  }
5170        AbstractHorse > Animal { "Bred" as bred: bool, "EatingHaystack" as eating_haystack: bool, optional "Owner" as owner: u128, optional "SaddleItem" as saddle_item: fastnbt::Value, "Tame" as tame: bool, "Temper" as temper: i32 }
5171        AbstractHurtingProjectile > Projectile { "acceleration_power" as acceleration_power: f64 }
5172        AbstractIllager > Raider {  }
5173        AbstractMinecart > VehicleEntity { optional "CustomDisplayTile" as custom_display_tile: bool, optional "DisplayOffset" as display_offset: i32, optional "DisplayState" as display_state: super::BlockState, "FlippedRotation" as flipped_rotation: bool, "HasTicked" as has_ticked: bool }
5174        AbstractMinecartContainer > AbstractMinecart { optional "Items" as items: Vec<fastnbt::Value>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
5175        AbstractPiglin > Monster { optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
5176        AbstractSchoolingFish > AbstractFish {  }
5177        AbstractSkeleton > Monster {  }
5178        AbstractVillager > AgeableMob { "Inventory" as inventory: Vec<fastnbt::Value>, optional "Offers" as offers: fastnbt::Value }
5179        AbstractWindCharge > AbstractHurtingProjectile {  }
5180        AgeableMob > PathfinderMob { "Age" as age: i32, "ForcedAge" as forced_age: i32 }
5181        AgeableWaterCreature > AgeableMob {  }
5182        Allay > PathfinderMob { "CanDuplicate" as can_duplicate: bool, "DuplicationCooldown" as duplication_cooldown: i64, "Inventory" as inventory: Vec<fastnbt::Value>, optional "listener" as listener: fastnbt::Value }
5183        AmbientCreature > Mob {  }
5184        Animal > AgeableMob { "InLove" as in_love: i32, optional "LoveCause" as love_cause: u128 }
5185        AreaEffectCloud > Entity { "Age" as age: i32, "Duration" as duration: i32, "DurationOnUse" as duration_on_use: i32, optional "Owner" as owner: u128, "Particle" as particle: fastnbt::Value, "Radius" as radius: f32, "RadiusOnUse" as radius_on_use: f32, "RadiusPerTick" as radius_per_tick: f32, "ReapplicationDelay" as reapplication_delay: i32, "WaitTime" as wait_time: i32, optional "potion_contents" as potion_contents: fastnbt::Value }
5186        Armadillo > Animal { "scute_time" as scute_time: i32, "state" as state: CowStr }
5187        ArmorStand > LivingEntity { "ArmorItems" as armor_items: Vec<HashMap<CowStr, fastnbt::Value>>, "DisabledSlots" as disabled_slots: i32, "HandItems" as hand_items: Vec<HashMap<CowStr, fastnbt::Value>>, "Invisible" as invisible: bool, optional "Marker" as marker: bool, "NoBasePlate" as no_base_plate: bool, "Pose" as pose: super::compounds::ArmorStand_writePose, "ShowArms" as show_arms: bool, "Small" as small: bool }
5188        Arrow > AbstractArrow {  }
5189        Axolotl > Animal { "FromBucket" as from_bucket: bool, "Variant" as variant: i32 }
5190        Bat > AmbientCreature { "BatFlags" as bat_flags: i8 }
5191        Bee > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CannotEnterHiveTicks" as cannot_enter_hive_ticks: i32, "CropsGrownSincePollination" as crops_grown_since_pollination: i32, "HasNectar" as has_nectar: bool, "HasStung" as has_stung: bool, "TicksSincePollination" as ticks_since_pollination: i32, optional "flower_pos" as flower_pos: fastnbt::IntArray, optional "hive_pos" as hive_pos: fastnbt::IntArray }
5192        Blaze > Monster {  }
5193        BlockAttachedEntity > Entity { "TileX" as tile_x: i32, "TileY" as tile_y: i32, "TileZ" as tile_z: i32 }
5194        BlockDisplay > Display { "block_state" as block_state: super::BlockState }
5195        Boat > AbstractBoat {  }
5196        Bogged > AbstractSkeleton { "sheared" as sheared: bool }
5197        Breeze > Monster {  }
5198        BreezeWindCharge > AbstractWindCharge {  }
5199        Camel > AbstractHorse { "LastPoseTick" as last_pose_tick: i64 }
5200        Cat > TamableAnimal { "CollarColor" as collar_color: i8, "variant" as variant: CowStr }
5201        CaveSpider > Spider {  }
5202        ChestBoat > AbstractChestBoat {  }
5203        ChestRaft > AbstractChestBoat {  }
5204        Chicken > Animal { "EggLayTime" as egg_lay_time: i32, "IsChickenJockey" as is_chicken_jockey: bool }
5205        Cod > AbstractSchoolingFish {  }
5206        Cow > Animal {  }
5207        Creaking > Monster { optional "home_pos" as home_pos: fastnbt::IntArray }
5208        Creeper > Monster { "ExplosionRadius" as explosion_radius: i8, "Fuse" as fuse: i16, "ignited" as ignited: bool, optional "powered" as powered: bool }
5209        Display > Entity { "glow_color_override" as glow_color_override: i32, "height" as height: f32, "interpolation_duration" as interpolation_duration: i32, "shadow_radius" as shadow_radius: f32, "shadow_strength" as shadow_strength: f32, "teleport_duration" as teleport_duration: i32, "view_range" as view_range: f32, "width" as width: f32 }
5210        Dolphin > AgeableWaterCreature { "GotFish" as got_fish: bool, "Moistness" as moistness: i32, "TreasurePosX" as treasure_pos_x: i32, "TreasurePosY" as treasure_pos_y: i32, "TreasurePosZ" as treasure_pos_z: i32 }
5211        Donkey > AbstractChestedHorse {  }
5212        DragonFireball > AbstractHurtingProjectile {  }
5213        Drowned > Zombie {  }
5214        ElderGuardian > Guardian {  }
5215        EndCrystal > Entity { "ShowBottom" as show_bottom: bool, optional "beam_target" as beam_target: fastnbt::IntArray }
5216        EnderDragon > Mob { "DragonDeathTime" as dragon_death_time: i32, "DragonPhase" as dragon_phase: i32 }
5217        EnderMan > Monster { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, optional "carriedBlockState" as carried_block_state: super::BlockState }
5218        Endermite > Monster { "Lifetime" as lifetime: i32 }
5219        Entity { "Air" as air: i16, optional "CustomName" as custom_name: CowStr, optional "CustomNameVisible" as custom_name_visible: bool, "FallDistance" as fall_distance: f32, "Fire" as fire: i16, optional "Glowing" as glowing: bool, optional "HasVisualFire" as has_visual_fire: bool, "Invulnerable" as invulnerable: bool, "Motion" as motion: Vec<f64>, optional "NoGravity" as no_gravity: bool, "OnGround" as on_ground: bool, optional "Passengers" as passengers: Vec<Box<super::Entity>>, "PortalCooldown" as portal_cooldown: i32, optional "Pos" as pos: Vec<f64>, "Rotation" as rotation: Vec<f32>, optional "Silent" as silent: bool, optional "Tags" as tags: Vec<CowStr>, optional "TicksFrozen" as ticks_frozen: i32, "UUID" as uuid: u128 }
5220        Evoker > SpellcasterIllager {  }
5221        EvokerFangs > Entity { optional "Owner" as owner: u128, "Warmup" as warmup: i32 }
5222        ExperienceOrb > Entity { "Age" as age: i16, "Count" as count: i32, "Health" as health: i16, "Value" as value: i16 }
5223        EyeOfEnder > Entity { "Item" as item: fastnbt::Value }
5224        FallingBlockEntity > Entity { "BlockState" as block_state: super::BlockState, "CancelDrop" as cancel_drop: bool, "DropItem" as drop_item: bool, "FallHurtAmount" as fall_hurt_amount: f32, "FallHurtMax" as fall_hurt_max: i32, "HurtEntities" as hurt_entities: bool, optional "TileEntityData" as tile_entity_data: HashMap<CowStr, fastnbt::Value>, "Time" as time: i32 }
5225        Fireball > AbstractHurtingProjectile { "Item" as item: fastnbt::Value }
5226        FireworkRocketEntity > Projectile { "FireworksItem" as fireworks_item: fastnbt::Value, "Life" as life: i32, "LifeTime" as life_time: i32, "ShotAtAngle" as shot_at_angle: bool }
5227        FishingHook > Projectile {  }
5228        FlyingMob > Mob {  }
5229        Fox > Animal { "Crouching" as crouching: bool, "Sitting" as sitting: bool, "Sleeping" as sleeping: bool, "Trusted" as trusted: Vec<fastnbt::IntArray>, "Type" as r#type: CowStr }
5230        Frog > Animal { "variant" as variant: CowStr }
5231        Ghast > FlyingMob { "ExplosionPower" as explosion_power: i8 }
5232        Giant > Monster {  }
5233        GlowItemFrame > ItemFrame {  }
5234        GlowSquid > Squid { "DarkTicksRemaining" as dark_ticks_remaining: i32 }
5235        Goat > Animal { "HasLeftHorn" as has_left_horn: bool, "HasRightHorn" as has_right_horn: bool, "IsScreamingGoat" as is_screaming_goat: bool }
5236        Guardian > Monster {  }
5237        HangingEntity > BlockAttachedEntity {  }
5238        Hoglin > Animal { optional "CannotBeHunted" as cannot_be_hunted: bool, optional "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
5239        Horse > AbstractHorse { "Variant" as variant: i32 }
5240        Husk > Zombie {  }
5241        Illusioner > SpellcasterIllager {  }
5242        Interaction > Entity { "height" as height: f32, "response" as response: bool, "width" as width: f32 }
5243        IronGolem > AbstractGolem { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "PlayerCreated" as player_created: bool }
5244        ItemDisplay > Display { optional "item" as item: fastnbt::Value }
5245        ItemEntity > Entity { "Age" as age: i16, "Health" as health: i16, optional "Item" as item: fastnbt::Value, optional "Owner" as owner: u128, "PickupDelay" as pickup_delay: i16, optional "Thrower" as thrower: u128 }
5246        ItemFrame > HangingEntity { "Facing" as facing: i8, "Fixed" as fixed: bool, "Invisible" as invisible: bool, optional "Item" as item: fastnbt::Value, optional "ItemDropChance" as item_drop_chance: f32, optional "ItemRotation" as item_rotation: i8 }
5247        LargeFireball > Fireball { "ExplosionPower" as explosion_power: i8 }
5248        LeashFenceKnotEntity > BlockAttachedEntity {  }
5249        LightningBolt > Entity {  }
5250        LivingEntity > Entity { "AbsorptionAmount" as absorption_amount: f32, optional "Brain" as brain: fastnbt::Value, "DeathTime" as death_time: i16, "FallFlying" as fall_flying: bool, "Health" as health: f32, "HurtByTimestamp" as hurt_by_timestamp: i32, "HurtTime" as hurt_time: i16, optional "SleepingX" as sleeping_x: i32, optional "SleepingY" as sleeping_y: i32, optional "SleepingZ" as sleeping_z: i32, optional "active_effects" as active_effects: Vec<fastnbt::Value>, "attributes" as attributes: Vec<super::compounds::AttributeInstance_save> }
5251        Llama > AbstractChestedHorse { "Strength" as strength: i32, "Variant" as variant: i32 }
5252        LlamaSpit > Projectile {  }
5253        MagmaCube > Slime {  }
5254        Marker > Entity { "data" as data: HashMap<CowStr, fastnbt::Value> }
5255        Minecart > AbstractMinecart {  }
5256        MinecartChest > AbstractMinecartContainer {  }
5257        MinecartCommandBlock > AbstractMinecart { "Command" as command: CowStr, optional "CustomName" as custom_name: CowStr, optional "LastExecution" as last_execution: i64, optional "LastOutput" as last_output: CowStr, "SuccessCount" as success_count: i32, "TrackOutput" as track_output: bool, "UpdateLastExecution" as update_last_execution: bool }
5258        MinecartFurnace > AbstractMinecart { "Fuel" as fuel: i16, "PushX" as push_x: f64, "PushZ" as push_z: f64 }
5259        MinecartHopper > AbstractMinecartContainer { "Enabled" as enabled: bool }
5260        MinecartSpawner > AbstractMinecart { "Delay" as delay: i16, "MaxNearbyEntities" as max_nearby_entities: i16, "MaxSpawnDelay" as max_spawn_delay: i16, "MinSpawnDelay" as min_spawn_delay: i16, "RequiredPlayerRange" as required_player_range: i16, "SpawnCount" as spawn_count: i16, optional "SpawnData" as spawn_data: fastnbt::Value, "SpawnPotentials" as spawn_potentials: fastnbt::Value, "SpawnRange" as spawn_range: i16 }
5261        MinecartTNT > AbstractMinecart { optional "explosion_power" as explosion_power: f32, optional "explosion_speed_factor" as explosion_speed_factor: f32, "fuse" as fuse: i32 }
5262        Mob > LivingEntity { "ArmorDropChances" as armor_drop_chances: Vec<f32>, "ArmorItems" as armor_items: Vec<HashMap<CowStr, fastnbt::Value>>, "CanPickUpLoot" as can_pick_up_loot: bool, optional "DeathLootTable" as death_loot_table: CowStr, optional "DeathLootTableSeed" as death_loot_table_seed: i64, "HandDropChances" as hand_drop_chances: Vec<f32>, "HandItems" as hand_items: Vec<HashMap<CowStr, fastnbt::Value>>, "LeftHanded" as left_handed: bool, optional "NoAI" as no_ai: bool, "PersistenceRequired" as persistence_required: bool, optional "body_armor_drop_chance" as body_armor_drop_chance: f32, optional "body_armor_item" as body_armor_item: fastnbt::Value, optional "leash" as leash: either::Either<fastnbt::Value, fastnbt::IntArray> }
5263        Monster > PathfinderMob {  }
5264        Mule > AbstractChestedHorse {  }
5265        MushroomCow > Cow { "Type" as r#type: CowStr }
5266        Ocelot > Animal { "Trusting" as trusting: bool }
5267        OminousItemSpawner > Entity { optional "item" as item: fastnbt::Value, "spawn_item_after_ticks" as spawn_item_after_ticks: i64 }
5268        Painting > HangingEntity { "facing" as facing: i8 }
5269        Panda > Animal { "HiddenGene" as hidden_gene: CowStr, "MainGene" as main_gene: CowStr }
5270        Parrot > ShoulderRidingEntity { "Variant" as variant: i32 }
5271        PathfinderMob > Mob {  }
5272        PatrollingMonster > Monster { "PatrolLeader" as patrol_leader: bool, "Patrolling" as patrolling: bool, optional "patrol_target" as patrol_target: fastnbt::IntArray }
5273        Phantom > FlyingMob { "AX" as ax: i32, "AY" as ay: i32, "AZ" as az: i32, "Size" as size: i32 }
5274        Pig > Animal { "Saddle" as saddle: bool }
5275        Piglin > AbstractPiglin { optional "CannotHunt" as cannot_hunt: bool, "Inventory" as inventory: Vec<fastnbt::Value>, optional "IsBaby" as is_baby: bool }
5276        PiglinBrute > AbstractPiglin {  }
5277        Pillager > AbstractIllager { "Inventory" as inventory: Vec<fastnbt::Value> }
5278        PolarBear > Animal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
5279        PrimedTnt > Entity { "block_state" as block_state: super::BlockState, optional "explosion_power" as explosion_power: f32, "fuse" as fuse: i16 }
5280        Projectile > Entity { "HasBeenShot" as has_been_shot: bool, optional "LeftOwner" as left_owner: bool, optional "Owner" as owner: u128 }
5281        Pufferfish > AbstractFish { "PuffState" as puff_state: i32 }
5282        Rabbit > Animal { "MoreCarrotTicks" as more_carrot_ticks: i32, "RabbitType" as rabbit_type: i32 }
5283        Raft > AbstractBoat {  }
5284        Raider > PatrollingMonster { "CanJoinRaid" as can_join_raid: bool, optional "RaidId" as raid_id: i32, "Wave" as wave: i32 }
5285        Ravager > Raider { "AttackTick" as attack_tick: i32, "RoarTick" as roar_tick: i32, "StunTick" as stun_tick: i32 }
5286        Salmon > AbstractSchoolingFish { "type" as r#type: CowStr }
5287        Sheep > Animal { "Color" as color: i8, "Sheared" as sheared: bool }
5288        ShoulderRidingEntity > TamableAnimal {  }
5289        Shulker > AbstractGolem { "AttachFace" as attach_face: i8, "Color" as color: i8, "Peek" as peek: i8 }
5290        ShulkerBullet > Projectile { optional "Dir" as dir: i32, "Steps" as steps: i32, "TXD" as txd: f64, "TYD" as tyd: f64, "TZD" as tzd: f64, optional "Target" as target: u128 }
5291        Silverfish > Monster {  }
5292        Skeleton > AbstractSkeleton { "StrayConversionTime" as stray_conversion_time: i32 }
5293        SkeletonHorse > AbstractHorse { "SkeletonTrap" as skeleton_trap: bool, "SkeletonTrapTime" as skeleton_trap_time: i32 }
5294        Slime > Mob { "Size" as size: i32, "wasOnGround" as was_on_ground: bool }
5295        SmallFireball > Fireball {  }
5296        Sniffer > Animal {  }
5297        SnowGolem > AbstractGolem { "Pumpkin" as pumpkin: bool }
5298        Snowball > ThrowableItemProjectile {  }
5299        SpectralArrow > AbstractArrow { "Duration" as duration: i32 }
5300        SpellcasterIllager > AbstractIllager { "SpellTicks" as spell_ticks: i32 }
5301        Spider > Monster {  }
5302        Squid > AgeableWaterCreature {  }
5303        Stray > AbstractSkeleton {  }
5304        Strider > Animal { "Saddle" as saddle: bool }
5305        Tadpole > AbstractFish { "Age" as age: i32 }
5306        TamableAnimal > Animal { optional "Owner" as owner: u128, "Sitting" as sitting: bool }
5307        TextDisplay > Display { "background" as background: i32, "default_background" as default_background: bool, "line_width" as line_width: i32, "see_through" as see_through: bool, "shadow" as shadow: bool, "text" as text: CowStr, "text_opacity" as text_opacity: i8 }
5308        ThrowableItemProjectile > ThrowableProjectile { "Item" as item: fastnbt::Value }
5309        ThrowableProjectile > Projectile {  }
5310        ThrownEgg > ThrowableItemProjectile {  }
5311        ThrownEnderpearl > ThrowableItemProjectile {  }
5312        ThrownExperienceBottle > ThrowableItemProjectile {  }
5313        ThrownPotion > ThrowableItemProjectile {  }
5314        ThrownTrident > AbstractArrow { "DealtDamage" as dealt_damage: bool }
5315        TraderLlama > Llama { "DespawnDelay" as despawn_delay: i32 }
5316        TropicalFish > AbstractSchoolingFish { "Variant" as variant: i32 }
5317        Turtle > Animal { "HasEgg" as has_egg: bool, "HomePosX" as home_pos_x: i32, "HomePosY" as home_pos_y: i32, "HomePosZ" as home_pos_z: i32, "TravelPosX" as travel_pos_x: i32, "TravelPosY" as travel_pos_y: i32, "TravelPosZ" as travel_pos_z: i32 }
5318        VehicleEntity > Entity {  }
5319        Vex > Monster { optional "BoundX" as bound_x: i32, optional "BoundY" as bound_y: i32, optional "BoundZ" as bound_z: i32, optional "LifeTicks" as life_ticks: i32 }
5320        Villager > AbstractVillager { optional "AssignProfessionWhenSpawned" as assign_profession_when_spawned: bool, "FoodLevel" as food_level: i8, "Gossips" as gossips: fastnbt::Value, "LastGossipDecay" as last_gossip_decay: i64, "LastRestock" as last_restock: i64, "RestocksToday" as restocks_today: i32, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
5321        Vindicator > AbstractIllager { optional "Johnny" as johnny: bool }
5322        WanderingTrader > AbstractVillager { "DespawnDelay" as despawn_delay: i32, optional "wander_target" as wander_target: fastnbt::IntArray }
5323        Warden > Monster { optional "anger" as anger: fastnbt::Value, optional "listener" as listener: fastnbt::Value }
5324        WaterAnimal > PathfinderMob {  }
5325        WindCharge > AbstractWindCharge {  }
5326        Witch > Raider {  }
5327        WitherBoss > Monster { "Invul" as invul: i32 }
5328        WitherSkeleton > AbstractSkeleton {  }
5329        WitherSkull > AbstractHurtingProjectile { "dangerous" as dangerous: bool }
5330        Wolf > TamableAnimal { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128, "CollarColor" as collar_color: i8, optional "variant" as variant: CowStr }
5331        Zoglin > Monster { optional "IsBaby" as is_baby: bool }
5332        Zombie > Monster { "CanBreakDoors" as can_break_doors: bool, "DrownedConversionTime" as drowned_conversion_time: i32, "InWaterTime" as in_water_time: i32, "IsBaby" as is_baby: bool }
5333        ZombieHorse > AbstractHorse {  }
5334        ZombieVillager > Zombie { optional "ConversionPlayer" as conversion_player: u128, "ConversionTime" as conversion_time: i32, optional "Gossips" as gossips: fastnbt::Value, optional "Offers" as offers: fastnbt::Value, optional "VillagerData" as villager_data: fastnbt::Value, "Xp" as xp: i32 }
5335        ZombifiedPiglin > Zombie { "AngerTime" as anger_time: i32, optional "AngryAt" as angry_at: u128 }
5336    }
5337
5338    entity_compound_types! {
5339        "1.21.4";
5340        ArmorStand_writePose { optional "Body" as body: Vec<f32>, optional "Head" as head: Vec<f32>, optional "LeftArm" as left_arm: Vec<f32>, optional "LeftLeg" as left_leg: Vec<f32>, optional "RightArm" as right_arm: Vec<f32>, optional "RightLeg" as right_leg: Vec<f32> }
5341        AttributeInstance_save { "base" as base: f64, "id" as id: CowStr, optional "modifiers" as modifiers: Vec<HashMap<CowStr, fastnbt::Value>> }
5342    }
5343}
5344
5345/// Accompanying types for entities in Minecraft 1.21.5.
5346#[cfg(feature = "1.21.5")]
5347pub mod mc1_21_5 {
5348    entities! {
5349        "1.21.5", mc1_21_5;
5350        "minecraft:acacia_boat", AcaciaBoat: Boat;
5351        "minecraft:acacia_chest_boat", AcaciaChestBoat: ChestBoat;
5352        "minecraft:allay", Allay: Allay;
5353        "minecraft:area_effect_cloud", AreaEffectCloud: AreaEffectCloud;
5354        "minecraft:armadillo", Armadillo: Armadillo;
5355        "minecraft:armor_stand", ArmorStand: ArmorStand;
5356        "minecraft:arrow", Arrow: Arrow;
5357        "minecraft:axolotl", Axolotl: Axolotl;
5358        "minecraft:bamboo_chest_raft", BambooChestRaft: ChestRaft;
5359        "minecraft:bamboo_raft", BambooRaft: Raft;
5360        "minecraft:bat", Bat: Bat;
5361        "minecraft:bee", Bee: Bee;
5362        "minecraft:birch_boat", BirchBoat: Boat;
5363        "minecraft:birch_chest_boat", BirchChestBoat: ChestBoat;
5364        "minecraft:blaze", Blaze: Blaze;
5365        "minecraft:block_display", BlockDisplay: BlockDisplay;
5366        "minecraft:bogged", Bogged: Bogged;
5367        "minecraft:breeze", Breeze: Breeze;
5368        "minecraft:breeze_wind_charge", BreezeWindCharge: BreezeWindCharge;
5369        "minecraft:camel", Camel: Camel;
5370        "minecraft:cat", Cat: Cat;
5371        "minecraft:cave_spider", CaveSpider: CaveSpider;
5372        "minecraft:cherry_boat", CherryBoat: Boat;
5373        "minecraft:cherry_chest_boat", CherryChestBoat: ChestBoat;
5374        "minecraft:chest_minecart", ChestMinecart: MinecartChest;
5375        "minecraft:chicken", Chicken: Chicken;
5376        "minecraft:cod", Cod: Cod;
5377        "minecraft:command_block_minecart", CommandBlockMinecart: MinecartCommandBlock;
5378        "minecraft:cow", Cow: Cow;
5379        "minecraft:creaking", Creaking: Creaking;
5380        "minecraft:creeper", Creeper: Creeper;
5381        "minecraft:dark_oak_boat", DarkOakBoat: Boat;
5382        "minecraft:dark_oak_chest_boat", DarkOakChestBoat: ChestBoat;
5383        "minecraft:dolphin", Dolphin: Dolphin;
5384        "minecraft:donkey", Donkey: Donkey;
5385        "minecraft:dragon_fireball", DragonFireball: DragonFireball;
5386        "minecraft:drowned", Drowned: Drowned;
5387        "minecraft:egg", Egg: ThrownEgg;
5388        "minecraft:elder_guardian", ElderGuardian: ElderGuardian;
5389        "minecraft:end_crystal", EndCrystal: EndCrystal;
5390        "minecraft:ender_dragon", EnderDragon: EnderDragon;
5391        "minecraft:ender_pearl", EnderPearl: ThrownEnderpearl;
5392        "minecraft:enderman", Enderman: EnderMan;
5393        "minecraft:endermite", Endermite: Endermite;
5394        "minecraft:evoker", Evoker: Evoker;
5395        "minecraft:evoker_fangs", EvokerFangs: EvokerFangs;
5396        "minecraft:experience_bottle", ExperienceBottle: ThrownExperienceBottle;
5397        "minecraft:experience_orb", ExperienceOrb: ExperienceOrb;
5398        "minecraft:eye_of_ender", EyeOfEnder: EyeOfEnder;
5399        "minecraft:falling_block", FallingBlock: FallingBlockEntity;
5400        "minecraft:fireball", Fireball: LargeFireball;
5401        "minecraft:firework_rocket", FireworkRocket: FireworkRocketEntity;
5402        "minecraft:fishing_bobber", FishingBobber: FishingHook;
5403        "minecraft:fox", Fox: Fox;
5404        "minecraft:frog", Frog: Frog;
5405        "minecraft:furnace_minecart", FurnaceMinecart: MinecartFurnace;
5406        "minecraft:ghast", Ghast: Ghast;
5407        "minecraft:giant", Giant: Giant;
5408        "minecraft:glow_item_frame", GlowItemFrame: GlowItemFrame;
5409        "minecraft:glow_squid", GlowSquid: GlowSquid;
5410        "minecraft:goat", Goat: Goat;
5411        "minecraft:guardian", Guardian: Guardian;
5412        "minecraft:hoglin", Hoglin: Hoglin;
5413        "minecraft:hopper_minecart", HopperMinecart: MinecartHopper;
5414        "minecraft:horse", Horse: Horse;
5415        "minecraft:husk", Husk: Husk;
5416        "minecraft:illusioner", Illusioner: Illusioner;
5417        "minecraft:interaction", Interaction: Interaction;
5418        "minecraft:iron_golem", IronGolem: IronGolem;
5419        "minecraft:item", Item: ItemEntity;
5420        "minecraft:item_display", ItemDisplay: ItemDisplay;
5421        "minecraft:item_frame", ItemFrame: ItemFrame;
5422        "minecraft:jungle_boat", JungleBoat: Boat;
5423        "minecraft:jungle_chest_boat", JungleChestBoat: ChestBoat;
5424        "minecraft:leash_knot", LeashKnot: LeashFenceKnotEntity;
5425        "minecraft:lightning_bolt", LightningBolt: LightningBolt;
5426        "minecraft:lingering_potion", LingeringPotion: ThrownLingeringPotion;
5427        "minecraft:llama", Llama: Llama;
5428        "minecraft:llama_spit", LlamaSpit: LlamaSpit;
5429        "minecraft:magma_cube", MagmaCube: MagmaCube;
5430        "minecraft:mangrove_boat", MangroveBoat: Boat;
5431        "minecraft:mangrove_chest_boat", MangroveChestBoat: ChestBoat;
5432        "minecraft:marker", Marker: Marker;
5433        "minecraft:minecart", Minecart: Minecart;
5434        "minecraft:mooshroom", Mooshroom: MushroomCow;
5435        "minecraft:mule", Mule: Mule;
5436        "minecraft:oak_boat", OakBoat: Boat;
5437        "minecraft:oak_chest_boat", OakChestBoat: ChestBoat;
5438        "minecraft:ocelot", Ocelot: Ocelot;
5439        "minecraft:ominous_item_spawner", OminousItemSpawner: OminousItemSpawner;
5440        "minecraft:painting", Painting: Painting;
5441        "minecraft:pale_oak_boat", PaleOakBoat: Boat;
5442        "minecraft:pale_oak_chest_boat", PaleOakChestBoat: ChestBoat;
5443        "minecraft:panda", Panda: Panda;
5444        "minecraft:parrot", Parrot: Parrot;
5445        "minecraft:phantom", Phantom: Phantom;
5446        "minecraft:pig", Pig: Pig;
5447        "minecraft:piglin", Piglin: Piglin;
5448        "minecraft:piglin_brute", PiglinBrute: PiglinBrute;
5449        "minecraft:pillager", Pillager: Pillager;
5450        "minecraft:polar_bear", PolarBear: PolarBear;
5451        "minecraft:pufferfish", Pufferfish: Pufferfish;
5452        "minecraft:rabbit", Rabbit: Rabbit;
5453        "minecraft:ravager", Ravager: Ravager;
5454        "minecraft:salmon", Salmon: Salmon;
5455        "minecraft:sheep", Sheep: Sheep;
5456        "minecraft:shulker", Shulker: Shulker;
5457        "minecraft:shulker_bullet", ShulkerBullet: ShulkerBullet;
5458        "minecraft:silverfish", Silverfish: Silverfish;
5459        "minecraft:skeleton", Skeleton: Skeleton;
5460        "minecraft:skeleton_horse", SkeletonHorse: SkeletonHorse;
5461        "minecraft:slime", Slime: Slime;
5462        "minecraft:small_fireball", SmallFireball: SmallFireball;
5463        "minecraft:sniffer", Sniffer: Sniffer;
5464        "minecraft:snow_golem", SnowGolem: SnowGolem;
5465        "minecraft:snowball", Snowball: Snowball;
5466        "minecraft:spawner_minecart", SpawnerMinecart: MinecartSpawner;
5467        "minecraft:spectral_arrow", SpectralArrow: SpectralArrow;
5468        "minecraft:spider", Spider: Spider;
5469        "minecraft:splash_potion", SplashPotion: ThrownSplashPotion;
5470        "minecraft:spruce_boat", SpruceBoat: Boat;
5471        "minecraft:spruce_chest_boat", SpruceChestBoat: ChestBoat;
5472        "minecraft:squid", Squid: Squid;
5473        "minecraft:stray", Stray: Stray;
5474        "minecraft:strider", Strider: Strider;
5475        "minecraft:tadpole", Tadpole: Tadpole;
5476        "minecraft:text_display", TextDisplay: TextDisplay;
5477        "minecraft:tnt", Tnt: PrimedTnt;
5478        "minecraft:tnt_minecart", TntMinecart: MinecartTNT;
5479        "minecraft:trader_llama", TraderLlama: TraderLlama;
5480        "minecraft:trident", Trident: ThrownTrident;
5481        "minecraft:tropical_fish", TropicalFish: TropicalFish;
5482        "minecraft:turtle", Turtle: Turtle;
5483        "minecraft:vex", Vex: Vex;
5484        "minecraft:villager", Villager: Villager;
5485        "minecraft:vindicator", Vindicator: Vindicator;
5486        "minecraft:wandering_trader", WanderingTrader: WanderingTrader;
5487        "minecraft:warden", Warden: Warden;
5488        "minecraft:wind_charge", WindCharge: WindCharge;
5489        "minecraft:witch", Witch: Witch;
5490        "minecraft:wither", Wither: WitherBoss;
5491        "minecraft:wither_skeleton", WitherSkeleton: WitherSkeleton;
5492        "minecraft:wither_skull", WitherSkull: WitherSkull;
5493        "minecraft:wolf", Wolf: Wolf;
5494        "minecraft:zoglin", Zoglin: Zoglin;
5495        "minecraft:zombie", Zombie: Zombie;
5496        "minecraft:zombie_horse", ZombieHorse: ZombieHorse;
5497        "minecraft:zombie_villager", ZombieVillager: ZombieVillager;
5498        "minecraft:zombified_piglin", ZombifiedPiglin: ZombifiedPiglin;
5499    }
5500
5501    entity_types! {
5502        "1.21.5";
5503        AbstractArrow > Projectile { "PierceLevel" as pierce_level: i8, "crit" as crit: bool, "damage" as damage: f64, "inGround" as in_ground: bool, "life" as life: i16, "shake" as shake: i8 }
5504        AbstractBoat > VehicleEntity {  }
5505        AbstractChestBoat > AbstractBoat { optional "Items" as items: Vec<fastnbt::Value>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
5506        AbstractChestedHorse > AbstractHorse { "ChestedHorse" as chested_horse: bool, optional "Items" as items: Vec<fastnbt::Value> }
5507        AbstractCow > Animal {  }
5508        AbstractFish > WaterAnimal { "FromBucket" as from_bucket: bool }
5509        AbstractGolem > PathfinderMob {  }
5510        AbstractHorse > Animal { "Bred" as bred: bool, "EatingHaystack" as eating_haystack: bool, "Tame" as tame: bool, "Temper" as temper: i32 }
5511        AbstractHurtingProjectile > Projectile { "acceleration_power" as acceleration_power: f64 }
5512        AbstractIllager > Raider {  }
5513        AbstractMinecart > VehicleEntity { optional "DisplayOffset" as display_offset: i32, "FlippedRotation" as flipped_rotation: bool, "HasTicked" as has_ticked: bool }
5514        AbstractMinecartContainer > AbstractMinecart { optional "Items" as items: Vec<fastnbt::Value>, optional "LootTable" as loot_table: CowStr, optional "LootTableSeed" as loot_table_seed: i64 }
5515        AbstractPiglin > Monster { "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
5516        AbstractSchoolingFish > AbstractFish {  }
5517        AbstractSkeleton > Monster {  }
5518        AbstractThrownPotion > ThrowableItemProjectile {  }
5519        AbstractVillager > AgeableMob { "Inventory" as inventory: Vec<fastnbt::Value> }
5520        AbstractWindCharge > AbstractHurtingProjectile {  }
5521        AgeableMob > PathfinderMob { "Age" as age: i32, "ForcedAge" as forced_age: i32 }
5522        AgeableWaterCreature > AgeableMob {  }
5523        Allay > PathfinderMob { "DuplicationCooldown" as duplication_cooldown: i64, "Inventory" as inventory: Vec<fastnbt::Value> }
5524        AmbientCreature > Mob {  }
5525        Animal > AgeableMob { "InLove" as in_love: i32 }
5526        AreaEffectCloud > Entity { "Age" as age: i32, "Duration" as duration: i32, "DurationOnUse" as duration_on_use: i32, "Radius" as radius: f32, "RadiusOnUse" as radius_on_use: f32, "RadiusPerTick" as radius_per_tick: f32, "ReapplicationDelay" as reapplication_delay: i32, "WaitTime" as wait_time: i32, optional "potion_duration_scale" as potion_duration_scale: f32 }
5527        Armadillo > Animal { "scute_time" as scute_time: i32 }
5528        ArmorStand > LivingEntity { "DisabledSlots" as disabled_slots: i32, "Invisible" as invisible: bool, optional "Marker" as marker: bool, "NoBasePlate" as no_base_plate: bool, "Pose" as pose: HashMap<CowStr, fastnbt::Value>, "ShowArms" as show_arms: bool, "Small" as small: bool }
5529        Arrow > AbstractArrow {  }
5530        Axolotl > Animal { "FromBucket" as from_bucket: bool }
5531        Bat > AmbientCreature { "BatFlags" as bat_flags: i8 }
5532        Bee > Animal { "AngerTime" as anger_time: i32, "CannotEnterHiveTicks" as cannot_enter_hive_ticks: i32, "CropsGrownSincePollination" as crops_grown_since_pollination: i32, "HasNectar" as has_nectar: bool, "HasStung" as has_stung: bool, "TicksSincePollination" as ticks_since_pollination: i32 }
5533        Blaze > Monster {  }
5534        BlockAttachedEntity > Entity {  }
5535        BlockDisplay > Display {  }
5536        Boat > AbstractBoat {  }
5537        Bogged > AbstractSkeleton { "sheared" as sheared: bool }
5538        Breeze > Monster {  }
5539        BreezeWindCharge > AbstractWindCharge {  }
5540        Camel > AbstractHorse { "LastPoseTick" as last_pose_tick: i64 }
5541        Cat > TamableAnimal {  }
5542        CaveSpider > Spider {  }
5543        ChestBoat > AbstractChestBoat {  }
5544        ChestRaft > AbstractChestBoat {  }
5545        Chicken > Animal { "EggLayTime" as egg_lay_time: i32, "IsChickenJockey" as is_chicken_jockey: bool }
5546        Cod > AbstractSchoolingFish {  }
5547        Cow > AbstractCow {  }
5548        Creaking > Monster {  }
5549        Creeper > Monster { "ExplosionRadius" as explosion_radius: i8, "Fuse" as fuse: i16, "ignited" as ignited: bool, "powered" as powered: bool }
5550        Display > Entity { "glow_color_override" as glow_color_override: i32, "height" as height: f32, "interpolation_duration" as interpolation_duration: i32, "shadow_radius" as shadow_radius: f32, "shadow_strength" as shadow_strength: f32, "teleport_duration" as teleport_duration: i32, "view_range" as view_range: f32, "width" as width: f32 }
5551        Dolphin > AgeableWaterCreature { "GotFish" as got_fish: bool, "Moistness" as moistness: i32 }
5552        Donkey > AbstractChestedHorse {  }
5553        DragonFireball > AbstractHurtingProjectile {  }
5554        Drowned > Zombie {  }
5555        ElderGuardian > Guardian {  }
5556        EndCrystal > Entity { "ShowBottom" as show_bottom: bool }
5557        EnderDragon > Mob { "DragonDeathTime" as dragon_death_time: i32, "DragonPhase" as dragon_phase: i32 }
5558        EnderMan > Monster { "AngerTime" as anger_time: i32 }
5559        Endermite > Monster { "Lifetime" as lifetime: i32 }
5560        Entity { "Air" as air: i16, optional "CustomNameVisible" as custom_name_visible: bool, "Fire" as fire: i16, optional "Glowing" as glowing: bool, optional "HasVisualFire" as has_visual_fire: bool, "Invulnerable" as invulnerable: bool, optional "NoGravity" as no_gravity: bool, "OnGround" as on_ground: bool, optional "Passengers" as passengers: Vec<Box<super::Entity>>, "PortalCooldown" as portal_cooldown: i32, optional "Silent" as silent: bool, optional "TicksFrozen" as ticks_frozen: i32, "fall_distance" as fall_distance: f64 }
5561        Evoker > SpellcasterIllager {  }
5562        EvokerFangs > Entity { "Warmup" as warmup: i32 }
5563        ExperienceOrb > Entity { "Age" as age: i16, "Count" as count: i32, "Health" as health: i16, "Value" as value: i16 }
5564        EyeOfEnder > Entity {  }
5565        FallingBlockEntity > Entity { "CancelDrop" as cancel_drop: bool, "DropItem" as drop_item: bool, "FallHurtAmount" as fall_hurt_amount: f32, "FallHurtMax" as fall_hurt_max: i32, "HurtEntities" as hurt_entities: bool, optional "TileEntityData" as tile_entity_data: HashMap<CowStr, fastnbt::Value>, "Time" as time: i32 }
5566        Fireball > AbstractHurtingProjectile {  }
5567        FireworkRocketEntity > Projectile { "Life" as life: i32, "LifeTime" as life_time: i32, "ShotAtAngle" as shot_at_angle: bool }
5568        FishingHook > Projectile {  }
5569        FlyingMob > Mob {  }
5570        Fox > Animal { "Crouching" as crouching: bool, "Sitting" as sitting: bool, "Sleeping" as sleeping: bool }
5571        Frog > Animal {  }
5572        Ghast > FlyingMob { "ExplosionPower" as explosion_power: i8 }
5573        Giant > Monster {  }
5574        GlowItemFrame > ItemFrame {  }
5575        GlowSquid > Squid { "DarkTicksRemaining" as dark_ticks_remaining: i32 }
5576        Goat > Animal { "HasLeftHorn" as has_left_horn: bool, "HasRightHorn" as has_right_horn: bool, "IsScreamingGoat" as is_screaming_goat: bool }
5577        Guardian > Monster {  }
5578        HangingEntity > BlockAttachedEntity {  }
5579        Hoglin > Animal { "CannotBeHunted" as cannot_be_hunted: bool, "IsImmuneToZombification" as is_immune_to_zombification: bool, "TimeInOverworld" as time_in_overworld: i32 }
5580        Horse > AbstractHorse { "Variant" as variant: i32 }
5581        Husk > Zombie {  }
5582        Illusioner > SpellcasterIllager {  }
5583        Interaction > Entity { "height" as height: f32, "response" as response: bool, "width" as width: f32 }
5584        IronGolem > AbstractGolem { "AngerTime" as anger_time: i32, "PlayerCreated" as player_created: bool }
5585        ItemDisplay > Display {  }
5586        ItemEntity > Entity { "Age" as age: i16, "Health" as health: i16, "PickupDelay" as pickup_delay: i16 }
5587        ItemFrame > HangingEntity { "Fixed" as fixed: bool, "Invisible" as invisible: bool, "ItemDropChance" as item_drop_chance: f32, "ItemRotation" as item_rotation: i8 }
5588        LargeFireball > Fireball { "ExplosionPower" as explosion_power: i8 }
5589        LeashFenceKnotEntity > BlockAttachedEntity {  }
5590        LightningBolt > Entity {  }
5591        LivingEntity > Entity { "AbsorptionAmount" as absorption_amount: f32, optional "Brain" as brain: fastnbt::Value, "DeathTime" as death_time: i16, "FallFlying" as fall_flying: bool, "Health" as health: f32, "HurtByTimestamp" as hurt_by_timestamp: i32, "HurtTime" as hurt_time: i16, "attributes" as attributes: Vec<super::compounds::AttributeInstance_save>, optional "last_hurt_by_player_memory_time" as last_hurt_by_player_memory_time: i32, optional "ticks_since_last_hurt_by_mob" as ticks_since_last_hurt_by_mob: i32 }
5592        Llama > AbstractChestedHorse { "Strength" as strength: i32 }
5593        LlamaSpit > Projectile {  }
5594        MagmaCube > Slime {  }
5595        Marker > Entity {  }
5596        Minecart > AbstractMinecart {  }
5597        MinecartChest > AbstractMinecartContainer {  }
5598        MinecartCommandBlock > AbstractMinecart { "Command" as command: CowStr, optional "LastExecution" as last_execution: i64, "SuccessCount" as success_count: i32, "TrackOutput" as track_output: bool, "UpdateLastExecution" as update_last_execution: bool }
5599        MinecartFurnace > AbstractMinecart { "Fuel" as fuel: i16, "PushX" as push_x: f64, "PushZ" as push_z: f64 }
5600        MinecartHopper > AbstractMinecartContainer { "Enabled" as enabled: bool }
5601        MinecartSpawner > AbstractMinecart { "Delay" as delay: i16, "MaxNearbyEntities" as max_nearby_entities: i16, "MaxSpawnDelay" as max_spawn_delay: i16, "MinSpawnDelay" as min_spawn_delay: i16, "RequiredPlayerRange" as required_player_range: i16, "SpawnCount" as spawn_count: i16, "SpawnRange" as spawn_range: i16 }
5602        MinecartTNT > AbstractMinecart { optional "explosion_power" as explosion_power: f32, optional "explosion_speed_factor" as explosion_speed_factor: f32, "fuse" as fuse: i32 }
5603        Mob > LivingEntity { "CanPickUpLoot" as can_pick_up_loot: bool, optional "DeathLootTableSeed" as death_loot_table_seed: i64, "LeftHanded" as left_handed: bool, optional "NoAI" as no_ai: bool, "PersistenceRequired" as persistence_required: bool }
5604        Monster > PathfinderMob {  }
5605        Mule > AbstractChestedHorse {  }
5606        MushroomCow > AbstractCow {  }
5607        Ocelot > Animal { "Trusting" as trusting: bool }
5608        OminousItemSpawner > Entity { "spawn_item_after_ticks" as spawn_item_after_ticks: i64 }
5609        Painting > HangingEntity {  }
5610        Panda > Animal {  }
5611        Parrot > ShoulderRidingEntity {  }
5612        PathfinderMob > Mob {  }
5613        PatrollingMonster > Monster { "PatrolLeader" as patrol_leader: bool, "Patrolling" as patrolling: bool }
5614        Phantom > FlyingMob { "size" as size: i32 }
5615        Pig > Animal {  }
5616        Piglin > AbstractPiglin { "CannotHunt" as cannot_hunt: bool, "Inventory" as inventory: Vec<fastnbt::Value>, "IsBaby" as is_baby: bool }
5617        PiglinBrute > AbstractPiglin {  }
5618        Pillager > AbstractIllager { "Inventory" as inventory: Vec<fastnbt::Value> }
5619        PolarBear > Animal { "AngerTime" as anger_time: i32 }
5620        PrimedTnt > Entity { optional "explosion_power" as explosion_power: f32, "fuse" as fuse: i16 }
5621        Projectile > Entity { "HasBeenShot" as has_been_shot: bool, optional "LeftOwner" as left_owner: bool }
5622        Pufferfish > AbstractFish { "PuffState" as puff_state: i32 }
5623        Rabbit > Animal { "MoreCarrotTicks" as more_carrot_ticks: i32 }
5624        Raft > AbstractBoat {  }
5625        Raider > PatrollingMonster { "CanJoinRaid" as can_join_raid: bool, "Wave" as wave: i32 }
5626        Ravager > Raider { "AttackTick" as attack_tick: i32, "RoarTick" as roar_tick: i32, "StunTick" as stun_tick: i32 }
5627        Salmon > AbstractSchoolingFish {  }
5628        Sheep > Animal { "Sheared" as sheared: bool }
5629        ShoulderRidingEntity > TamableAnimal {  }
5630        Shulker > AbstractGolem { "Color" as color: i8, "Peek" as peek: i8 }
5631        ShulkerBullet > Projectile { "Steps" as steps: i32, "TXD" as txd: f64, "TYD" as tyd: f64, "TZD" as tzd: f64 }
5632        Silverfish > Monster {  }
5633        Skeleton > AbstractSkeleton { "StrayConversionTime" as stray_conversion_time: i32 }
5634        SkeletonHorse > AbstractHorse { "SkeletonTrap" as skeleton_trap: bool, "SkeletonTrapTime" as skeleton_trap_time: i32 }
5635        Slime > Mob { "Size" as size: i32, "wasOnGround" as was_on_ground: bool }
5636        SmallFireball > Fireball {  }
5637        Sniffer > Animal {  }
5638        SnowGolem > AbstractGolem { "Pumpkin" as pumpkin: bool }
5639        Snowball > ThrowableItemProjectile {  }
5640        SpectralArrow > AbstractArrow { "Duration" as duration: i32 }
5641        SpellcasterIllager > AbstractIllager { "SpellTicks" as spell_ticks: i32 }
5642        Spider > Monster {  }
5643        Squid > AgeableWaterCreature {  }
5644        Stray > AbstractSkeleton {  }
5645        Strider > Animal {  }
5646        Tadpole > AbstractFish { "Age" as age: i32 }
5647        TamableAnimal > Animal { "Sitting" as sitting: bool }
5648        TextDisplay > Display { "background" as background: i32, "default_background" as default_background: bool, "line_width" as line_width: i32, "see_through" as see_through: bool, "shadow" as shadow: bool, "text_opacity" as text_opacity: i8 }
5649        ThrowableItemProjectile > ThrowableProjectile {  }
5650        ThrowableProjectile > Projectile {  }
5651        ThrownEgg > ThrowableItemProjectile {  }
5652        ThrownEnderpearl > ThrowableItemProjectile {  }
5653        ThrownExperienceBottle > ThrowableItemProjectile {  }
5654        ThrownLingeringPotion > AbstractThrownPotion {  }
5655        ThrownSplashPotion > AbstractThrownPotion {  }
5656        ThrownTrident > AbstractArrow { "DealtDamage" as dealt_damage: bool }
5657        TraderLlama > Llama { "DespawnDelay" as despawn_delay: i32 }
5658        TropicalFish > AbstractSchoolingFish {  }
5659        Turtle > Animal { "has_egg" as has_egg: bool }
5660        VehicleEntity > Entity {  }
5661        Vex > Monster { optional "life_ticks" as life_ticks: i32 }
5662        Villager > AbstractVillager { optional "AssignProfessionWhenSpawned" as assign_profession_when_spawned: bool, "FoodLevel" as food_level: i8, "LastGossipDecay" as last_gossip_decay: i64, "LastRestock" as last_restock: i64, "RestocksToday" as restocks_today: i32, "Xp" as xp: i32 }
5663        Vindicator > AbstractIllager { optional "Johnny" as johnny: bool }
5664        WanderingTrader > AbstractVillager { "DespawnDelay" as despawn_delay: i32 }
5665        Warden > Monster {  }
5666        WaterAnimal > PathfinderMob {  }
5667        WindCharge > AbstractWindCharge {  }
5668        Witch > Raider {  }
5669        WitherBoss > Monster { "Invul" as invul: i32 }
5670        WitherSkeleton > AbstractSkeleton {  }
5671        WitherSkull > AbstractHurtingProjectile { "dangerous" as dangerous: bool }
5672        Wolf > TamableAnimal { "AngerTime" as anger_time: i32 }
5673        Zoglin > Monster { "IsBaby" as is_baby: bool }
5674        Zombie > Monster { "CanBreakDoors" as can_break_doors: bool, "DrownedConversionTime" as drowned_conversion_time: i32, "InWaterTime" as in_water_time: i32, "IsBaby" as is_baby: bool }
5675        ZombieHorse > AbstractHorse {  }
5676        ZombieVillager > Zombie { "ConversionTime" as conversion_time: i32, "Xp" as xp: i32 }
5677        ZombifiedPiglin > Zombie { "AngerTime" as anger_time: i32 }
5678    }
5679
5680    entity_compound_types! {
5681        "1.21.5";
5682        AttributeInstance_save { "base" as base: f64 }
5683    }
5684}
5685
5686/// Accompanying types for entities in Minecraft 1.21.6.
5687#[cfg(feature = "1.21.6")]
5688pub mod mc1_21_6 {
5689    entities! {
5690        "1.21.6", mc1_21_6;
5691        "minecraft:acacia_boat", AcaciaBoat: Boat;
5692        "minecraft:acacia_chest_boat", AcaciaChestBoat: ChestBoat;
5693        "minecraft:allay", Allay: Allay;
5694        "minecraft:area_effect_cloud", AreaEffectCloud: AreaEffectCloud;
5695        "minecraft:armadillo", Armadillo: Armadillo;
5696        "minecraft:armor_stand", ArmorStand: ArmorStand;
5697        "minecraft:arrow", Arrow: Arrow;
5698        "minecraft:axolotl", Axolotl: Axolotl;
5699        "minecraft:bamboo_chest_raft", BambooChestRaft: ChestRaft;
5700        "minecraft:bamboo_raft", BambooRaft: Raft;
5701        "minecraft:bat", Bat: Bat;
5702        "minecraft:bee", Bee: Bee;
5703        "minecraft:birch_boat", BirchBoat: Boat;
5704        "minecraft:birch_chest_boat", BirchChestBoat: ChestBoat;
5705        "minecraft:blaze", Blaze: Blaze;
5706        "minecraft:block_display", BlockDisplay: BlockDisplay;
5707        "minecraft:bogged", Bogged: Bogged;
5708        "minecraft:breeze", Breeze: Breeze;
5709        "minecraft:breeze_wind_charge", BreezeWindCharge: BreezeWindCharge;
5710        "minecraft:camel", Camel: Camel;
5711        "minecraft:cat", Cat: Cat;
5712        "minecraft:cave_spider", CaveSpider: CaveSpider;
5713        "minecraft:cherry_boat", CherryBoat: Boat;
5714        "minecraft:cherry_chest_boat", CherryChestBoat: ChestBoat;
5715        "minecraft:chest_minecart", ChestMinecart: MinecartChest;
5716        "minecraft:chicken", Chicken: Chicken;
5717        "minecraft:cod", Cod: Cod;
5718        "minecraft:command_block_minecart", CommandBlockMinecart: MinecartCommandBlock;
5719        "minecraft:cow", Cow: Cow;
5720        "minecraft:creaking", Creaking: Creaking;
5721        "minecraft:creeper", Creeper: Creeper;
5722        "minecraft:dark_oak_boat", DarkOakBoat: Boat;
5723        "minecraft:dark_oak_chest_boat", DarkOakChestBoat: ChestBoat;
5724        "minecraft:dolphin", Dolphin: Dolphin;
5725        "minecraft:donkey", Donkey: Donkey;
5726        "minecraft:dragon_fireball", DragonFireball: DragonFireball;
5727        "minecraft:drowned", Drowned: Drowned;
5728        "minecraft:egg", Egg: ThrownEgg;
5729        "minecraft:elder_guardian", ElderGuardian: ElderGuardian;
5730        "minecraft:end_crystal", EndCrystal: EndCrystal;
5731        "minecraft:ender_dragon", EnderDragon: EnderDragon;
5732        "minecraft:ender_pearl", EnderPearl: ThrownEnderpearl;
5733        "minecraft:enderman", Enderman: EnderMan;
5734        "minecraft:endermite", Endermite: Endermite;
5735        "minecraft:evoker", Evoker: Evoker;
5736        "minecraft:evoker_fangs", EvokerFangs: EvokerFangs;
5737        "minecraft:experience_bottle", ExperienceBottle: ThrownExperienceBottle;
5738        "minecraft:experience_orb", ExperienceOrb: ExperienceOrb;
5739        "minecraft:eye_of_ender", EyeOfEnder: EyeOfEnder;
5740        "minecraft:falling_block", FallingBlock: FallingBlockEntity;
5741        "minecraft:fireball", Fireball: LargeFireball;
5742        "minecraft:firework_rocket", FireworkRocket: FireworkRocketEntity;
5743        "minecraft:fishing_bobber", FishingBobber: FishingHook;
5744        "minecraft:fox", Fox: Fox;
5745        "minecraft:frog", Frog: Frog;
5746        "minecraft:furnace_minecart", FurnaceMinecart: MinecartFurnace;
5747        "minecraft:ghast", Ghast: Ghast;
5748        "minecraft:giant", Giant: Giant;
5749        "minecraft:glow_item_frame", GlowItemFrame: GlowItemFrame;
5750        "minecraft:glow_squid", GlowSquid: GlowSquid;
5751        "minecraft:goat", Goat: Goat;
5752        "minecraft:guardian", Guardian: Guardian;
5753        "minecraft:happy_ghast", HappyGhast: HappyGhast;
5754        "minecraft:hoglin", Hoglin: Hoglin;
5755        "minecraft:hopper_minecart", HopperMinecart: MinecartHopper;
5756        "minecraft:horse", Horse: Horse;
5757        "minecraft:husk", Husk: Husk;
5758        "minecraft:illusioner", Illusioner: Illusioner;
5759        "minecraft:interaction", Interaction: Interaction;
5760        "minecraft:iron_golem", IronGolem: IronGolem;
5761        "minecraft:item", Item: ItemEntity;
5762        "minecraft:item_display", ItemDisplay: ItemDisplay;
5763        "minecraft:item_frame", ItemFrame: ItemFrame;
5764        "minecraft:jungle_boat", JungleBoat: Boat;
5765        "minecraft:jungle_chest_boat", JungleChestBoat: ChestBoat;
5766        "minecraft:leash_knot", LeashKnot: LeashFenceKnotEntity;
5767        "minecraft:lightning_bolt", LightningBolt: LightningBolt;
5768        "minecraft:lingering_potion", LingeringPotion: ThrownLingeringPotion;
5769        "minecraft:llama", Llama: Llama;
5770        "minecraft:llama_spit", LlamaSpit: LlamaSpit;
5771        "minecraft:magma_cube", MagmaCube: MagmaCube;
5772        "minecraft:mangrove_boat", MangroveBoat: Boat;
5773        "minecraft:mangrove_chest_boat", MangroveChestBoat: ChestBoat;
5774        "minecraft:marker", Marker: Marker;
5775        "minecraft:minecart", Minecart: Minecart;
5776        "minecraft:mooshroom", Mooshroom: MushroomCow;
5777        "minecraft:mule", Mule: Mule;
5778        "minecraft:oak_boat", OakBoat: Boat;
5779        "minecraft:oak_chest_boat", OakChestBoat: ChestBoat;
5780        "minecraft:ocelot", Ocelot: Ocelot;
5781        "minecraft:ominous_item_spawner", OminousItemSpawner: OminousItemSpawner;
5782        "minecraft:painting", Painting: Painting;
5783        "minecraft:pale_oak_boat", PaleOakBoat: Boat;
5784        "minecraft:pale_oak_chest_boat", PaleOakChestBoat: ChestBoat;
5785        "minecraft:panda", Panda: Panda;
5786        "minecraft:parrot", Parrot: Parrot;
5787        "minecraft:phantom", Phantom: Phantom;
5788        "minecraft:pig", Pig: Pig;
5789        "minecraft:piglin", Piglin: Piglin;
5790        "minecraft:piglin_brute", PiglinBrute: PiglinBrute;
5791        "minecraft:pillager", Pillager: Pillager;
5792        "minecraft:polar_bear", PolarBear: PolarBear;
5793        "minecraft:pufferfish", Pufferfish: Pufferfish;
5794        "minecraft:rabbit", Rabbit: Rabbit;
5795        "minecraft:ravager", Ravager: Ravager;
5796        "minecraft:salmon", Salmon: Salmon;
5797        "minecraft:sheep", Sheep: Sheep;
5798        "minecraft:shulker", Shulker: Shulker;
5799        "minecraft:shulker_bullet", ShulkerBullet: ShulkerBullet;
5800        "minecraft:silverfish", Silverfish: Silverfish;
5801        "minecraft:skeleton", Skeleton: Skeleton;
5802        "minecraft:skeleton_horse", SkeletonHorse: SkeletonHorse;
5803        "minecraft:slime", Slime: Slime;
5804        "minecraft:small_fireball", SmallFireball: SmallFireball;
5805        "minecraft:sniffer", Sniffer: Sniffer;
5806        "minecraft:snow_golem", SnowGolem: SnowGolem;
5807        "minecraft:snowball", Snowball: Snowball;
5808        "minecraft:spawner_minecart", SpawnerMinecart: MinecartSpawner;
5809        "minecraft:spectral_arrow", SpectralArrow: SpectralArrow;
5810        "minecraft:spider", Spider: Spider;
5811        "minecraft:splash_potion", SplashPotion: ThrownSplashPotion;
5812        "minecraft:spruce_boat", SpruceBoat: Boat;
5813        "minecraft:spruce_chest_boat", SpruceChestBoat: ChestBoat;
5814        "minecraft:squid", Squid: Squid;
5815        "minecraft:stray", Stray: Stray;
5816        "minecraft:strider", Strider: Strider;
5817        "minecraft:tadpole", Tadpole: Tadpole;
5818        "minecraft:text_display", TextDisplay: TextDisplay;
5819        "minecraft:tnt", Tnt: PrimedTnt;
5820        "minecraft:tnt_minecart", TntMinecart: MinecartTNT;
5821        "minecraft:trader_llama", TraderLlama: TraderLlama;
5822        "minecraft:trident", Trident: ThrownTrident;
5823        "minecraft:tropical_fish", TropicalFish: TropicalFish;
5824        "minecraft:turtle", Turtle: Turtle;
5825        "minecraft:vex", Vex: Vex;
5826        "minecraft:villager", Villager: Villager;
5827        "minecraft:vindicator", Vindicator: Vindicator;
5828        "minecraft:wandering_trader", WanderingTrader: WanderingTrader;
5829        "minecraft:warden", Warden: Warden;
5830        "minecraft:wind_charge", WindCharge: WindCharge;
5831        "minecraft:witch", Witch: Witch;
5832        "minecraft:wither", Wither: WitherBoss;
5833        "minecraft:wither_skeleton", WitherSkeleton: WitherSkeleton;
5834        "minecraft:wither_skull", WitherSkull: WitherSkull;
5835        "minecraft:wolf", Wolf: Wolf;
5836        "minecraft:zoglin", Zoglin: Zoglin;
5837        "minecraft:zombie", Zombie: Zombie;
5838        "minecraft:zombie_horse", ZombieHorse: ZombieHorse;
5839        "minecraft:zombie_villager", ZombieVillager: ZombieVillager;
5840        "minecraft:zombified_piglin", ZombifiedPiglin: ZombifiedPiglin;
5841    }
5842
5843    entity_types! {
5844        "1.21.6";
5845        AbstractArrow > Projectile {  }
5846        AbstractBoat > VehicleEntity {  }
5847        AbstractChestBoat > AbstractBoat {  }
5848        AbstractChestedHorse > AbstractHorse {  }
5849        AbstractCow > Animal {  }
5850        AbstractFish > WaterAnimal {  }
5851        AbstractGolem > PathfinderMob {  }
5852        AbstractHorse > Animal {  }
5853        AbstractHurtingProjectile > Projectile {  }
5854        AbstractIllager > Raider {  }
5855        AbstractMinecart > VehicleEntity {  }
5856        AbstractMinecartContainer > AbstractMinecart {  }
5857        AbstractPiglin > Monster {  }
5858        AbstractSchoolingFish > AbstractFish {  }
5859        AbstractSkeleton > Monster {  }
5860        AbstractThrownPotion > ThrowableItemProjectile {  }
5861        AbstractVillager > AgeableMob {  }
5862        AbstractWindCharge > AbstractHurtingProjectile {  }
5863        AgeableMob > PathfinderMob {  }
5864        AgeableWaterCreature > AgeableMob {  }
5865        Allay > PathfinderMob {  }
5866        AmbientCreature > Mob {  }
5867        Animal > AgeableMob {  }
5868        AreaEffectCloud > Entity {  }
5869        Armadillo > Animal {  }
5870        ArmorStand > LivingEntity {  }
5871        Arrow > AbstractArrow {  }
5872        Axolotl > Animal {  }
5873        Bat > AmbientCreature {  }
5874        Bee > Animal {  }
5875        Blaze > Monster {  }
5876        BlockAttachedEntity > Entity {  }
5877        BlockDisplay > Display {  }
5878        Boat > AbstractBoat {  }
5879        Bogged > AbstractSkeleton {  }
5880        Breeze > Monster {  }
5881        BreezeWindCharge > AbstractWindCharge {  }
5882        Camel > AbstractHorse {  }
5883        Cat > TamableAnimal {  }
5884        CaveSpider > Spider {  }
5885        ChestBoat > AbstractChestBoat {  }
5886        ChestRaft > AbstractChestBoat {  }
5887        Chicken > Animal {  }
5888        Cod > AbstractSchoolingFish {  }
5889        Cow > AbstractCow {  }
5890        Creaking > Monster {  }
5891        Creeper > Monster {  }
5892        Display > Entity {  }
5893        Dolphin > AgeableWaterCreature {  }
5894        Donkey > AbstractChestedHorse {  }
5895        DragonFireball > AbstractHurtingProjectile {  }
5896        Drowned > Zombie {  }
5897        ElderGuardian > Guardian {  }
5898        EndCrystal > Entity {  }
5899        EnderDragon > Mob {  }
5900        EnderMan > Monster {  }
5901        Endermite > Monster {  }
5902        Entity {  }
5903        Evoker > SpellcasterIllager {  }
5904        EvokerFangs > Entity {  }
5905        ExperienceOrb > Entity {  }
5906        EyeOfEnder > Entity {  }
5907        FallingBlockEntity > Entity {  }
5908        Fireball > AbstractHurtingProjectile {  }
5909        FireworkRocketEntity > Projectile {  }
5910        FishingHook > Projectile {  }
5911        Fox > Animal {  }
5912        Frog > Animal {  }
5913        Ghast > Mob {  }
5914        Giant > Monster {  }
5915        GlowItemFrame > ItemFrame {  }
5916        GlowSquid > Squid {  }
5917        Goat > Animal {  }
5918        Guardian > Monster {  }
5919        HangingEntity > BlockAttachedEntity {  }
5920        HappyGhast > Animal {  }
5921        Hoglin > Animal {  }
5922        Horse > AbstractHorse {  }
5923        Husk > Zombie {  }
5924        Illusioner > SpellcasterIllager {  }
5925        Interaction > Entity {  }
5926        IronGolem > AbstractGolem {  }
5927        ItemDisplay > Display {  }
5928        ItemEntity > Entity {  }
5929        ItemFrame > HangingEntity {  }
5930        LargeFireball > Fireball {  }
5931        LeashFenceKnotEntity > BlockAttachedEntity {  }
5932        LightningBolt > Entity {  }
5933        LivingEntity > Entity {  }
5934        Llama > AbstractChestedHorse {  }
5935        LlamaSpit > Projectile {  }
5936        MagmaCube > Slime {  }
5937        Marker > Entity {  }
5938        Minecart > AbstractMinecart {  }
5939        MinecartChest > AbstractMinecartContainer {  }
5940        MinecartCommandBlock > AbstractMinecart {  }
5941        MinecartFurnace > AbstractMinecart {  }
5942        MinecartHopper > AbstractMinecartContainer {  }
5943        MinecartSpawner > AbstractMinecart {  }
5944        MinecartTNT > AbstractMinecart {  }
5945        Mob > LivingEntity {  }
5946        Monster > PathfinderMob {  }
5947        Mule > AbstractChestedHorse {  }
5948        MushroomCow > AbstractCow {  }
5949        Ocelot > Animal {  }
5950        OminousItemSpawner > Entity {  }
5951        Painting > HangingEntity {  }
5952        Panda > Animal {  }
5953        Parrot > ShoulderRidingEntity {  }
5954        PathfinderMob > Mob {  }
5955        PatrollingMonster > Monster {  }
5956        Phantom > Mob {  }
5957        Pig > Animal {  }
5958        Piglin > AbstractPiglin {  }
5959        PiglinBrute > AbstractPiglin {  }
5960        Pillager > AbstractIllager {  }
5961        PolarBear > Animal {  }
5962        PrimedTnt > Entity {  }
5963        Projectile > Entity {  }
5964        Pufferfish > AbstractFish {  }
5965        Rabbit > Animal {  }
5966        Raft > AbstractBoat {  }
5967        Raider > PatrollingMonster {  }
5968        Ravager > Raider {  }
5969        Salmon > AbstractSchoolingFish {  }
5970        Sheep > Animal {  }
5971        ShoulderRidingEntity > TamableAnimal {  }
5972        Shulker > AbstractGolem {  }
5973        ShulkerBullet > Projectile {  }
5974        Silverfish > Monster {  }
5975        Skeleton > AbstractSkeleton {  }
5976        SkeletonHorse > AbstractHorse {  }
5977        Slime > Mob {  }
5978        SmallFireball > Fireball {  }
5979        Sniffer > Animal {  }
5980        SnowGolem > AbstractGolem {  }
5981        Snowball > ThrowableItemProjectile {  }
5982        SpectralArrow > AbstractArrow {  }
5983        SpellcasterIllager > AbstractIllager {  }
5984        Spider > Monster {  }
5985        Squid > AgeableWaterCreature {  }
5986        Stray > AbstractSkeleton {  }
5987        Strider > Animal {  }
5988        Tadpole > AbstractFish {  }
5989        TamableAnimal > Animal {  }
5990        TextDisplay > Display {  }
5991        ThrowableItemProjectile > ThrowableProjectile {  }
5992        ThrowableProjectile > Projectile {  }
5993        ThrownEgg > ThrowableItemProjectile {  }
5994        ThrownEnderpearl > ThrowableItemProjectile {  }
5995        ThrownExperienceBottle > ThrowableItemProjectile {  }
5996        ThrownLingeringPotion > AbstractThrownPotion {  }
5997        ThrownSplashPotion > AbstractThrownPotion {  }
5998        ThrownTrident > AbstractArrow {  }
5999        TraderLlama > Llama {  }
6000        TropicalFish > AbstractSchoolingFish {  }
6001        Turtle > Animal {  }
6002        VehicleEntity > Entity {  }
6003        Vex > Monster {  }
6004        Villager > AbstractVillager {  }
6005        Vindicator > AbstractIllager {  }
6006        WanderingTrader > AbstractVillager {  }
6007        Warden > Monster {  }
6008        WaterAnimal > PathfinderMob {  }
6009        WindCharge > AbstractWindCharge {  }
6010        Witch > Raider {  }
6011        WitherBoss > Monster {  }
6012        WitherSkeleton > AbstractSkeleton {  }
6013        WitherSkull > AbstractHurtingProjectile {  }
6014        Wolf > TamableAnimal {  }
6015        Zoglin > Monster {  }
6016        Zombie > Monster {  }
6017        ZombieHorse > AbstractHorse {  }
6018        ZombieVillager > Zombie {  }
6019        ZombifiedPiglin > Zombie {  }
6020    }
6021
6022    entity_compound_types! {
6023        "1.21.6";
6024    }
6025}
6026
6027/// Accompanying types for entities in Minecraft 1.21.7.
6028#[cfg(feature = "1.21.7")]
6029pub mod mc1_21_7 {
6030    entities! {
6031        "1.21.7", mc1_21_7;
6032        "minecraft:acacia_boat", AcaciaBoat: Boat;
6033        "minecraft:acacia_chest_boat", AcaciaChestBoat: ChestBoat;
6034        "minecraft:allay", Allay: Allay;
6035        "minecraft:area_effect_cloud", AreaEffectCloud: AreaEffectCloud;
6036        "minecraft:armadillo", Armadillo: Armadillo;
6037        "minecraft:armor_stand", ArmorStand: ArmorStand;
6038        "minecraft:arrow", Arrow: Arrow;
6039        "minecraft:axolotl", Axolotl: Axolotl;
6040        "minecraft:bamboo_chest_raft", BambooChestRaft: ChestRaft;
6041        "minecraft:bamboo_raft", BambooRaft: Raft;
6042        "minecraft:bat", Bat: Bat;
6043        "minecraft:bee", Bee: Bee;
6044        "minecraft:birch_boat", BirchBoat: Boat;
6045        "minecraft:birch_chest_boat", BirchChestBoat: ChestBoat;
6046        "minecraft:blaze", Blaze: Blaze;
6047        "minecraft:block_display", BlockDisplay: BlockDisplay;
6048        "minecraft:bogged", Bogged: Bogged;
6049        "minecraft:breeze", Breeze: Breeze;
6050        "minecraft:breeze_wind_charge", BreezeWindCharge: BreezeWindCharge;
6051        "minecraft:camel", Camel: Camel;
6052        "minecraft:cat", Cat: Cat;
6053        "minecraft:cave_spider", CaveSpider: CaveSpider;
6054        "minecraft:cherry_boat", CherryBoat: Boat;
6055        "minecraft:cherry_chest_boat", CherryChestBoat: ChestBoat;
6056        "minecraft:chest_minecart", ChestMinecart: MinecartChest;
6057        "minecraft:chicken", Chicken: Chicken;
6058        "minecraft:cod", Cod: Cod;
6059        "minecraft:command_block_minecart", CommandBlockMinecart: MinecartCommandBlock;
6060        "minecraft:cow", Cow: Cow;
6061        "minecraft:creaking", Creaking: Creaking;
6062        "minecraft:creeper", Creeper: Creeper;
6063        "minecraft:dark_oak_boat", DarkOakBoat: Boat;
6064        "minecraft:dark_oak_chest_boat", DarkOakChestBoat: ChestBoat;
6065        "minecraft:dolphin", Dolphin: Dolphin;
6066        "minecraft:donkey", Donkey: Donkey;
6067        "minecraft:dragon_fireball", DragonFireball: DragonFireball;
6068        "minecraft:drowned", Drowned: Drowned;
6069        "minecraft:egg", Egg: ThrownEgg;
6070        "minecraft:elder_guardian", ElderGuardian: ElderGuardian;
6071        "minecraft:end_crystal", EndCrystal: EndCrystal;
6072        "minecraft:ender_dragon", EnderDragon: EnderDragon;
6073        "minecraft:ender_pearl", EnderPearl: ThrownEnderpearl;
6074        "minecraft:enderman", Enderman: EnderMan;
6075        "minecraft:endermite", Endermite: Endermite;
6076        "minecraft:evoker", Evoker: Evoker;
6077        "minecraft:evoker_fangs", EvokerFangs: EvokerFangs;
6078        "minecraft:experience_bottle", ExperienceBottle: ThrownExperienceBottle;
6079        "minecraft:experience_orb", ExperienceOrb: ExperienceOrb;
6080        "minecraft:eye_of_ender", EyeOfEnder: EyeOfEnder;
6081        "minecraft:falling_block", FallingBlock: FallingBlockEntity;
6082        "minecraft:fireball", Fireball: LargeFireball;
6083        "minecraft:firework_rocket", FireworkRocket: FireworkRocketEntity;
6084        "minecraft:fishing_bobber", FishingBobber: FishingHook;
6085        "minecraft:fox", Fox: Fox;
6086        "minecraft:frog", Frog: Frog;
6087        "minecraft:furnace_minecart", FurnaceMinecart: MinecartFurnace;
6088        "minecraft:ghast", Ghast: Ghast;
6089        "minecraft:giant", Giant: Giant;
6090        "minecraft:glow_item_frame", GlowItemFrame: GlowItemFrame;
6091        "minecraft:glow_squid", GlowSquid: GlowSquid;
6092        "minecraft:goat", Goat: Goat;
6093        "minecraft:guardian", Guardian: Guardian;
6094        "minecraft:happy_ghast", HappyGhast: HappyGhast;
6095        "minecraft:hoglin", Hoglin: Hoglin;
6096        "minecraft:hopper_minecart", HopperMinecart: MinecartHopper;
6097        "minecraft:horse", Horse: Horse;
6098        "minecraft:husk", Husk: Husk;
6099        "minecraft:illusioner", Illusioner: Illusioner;
6100        "minecraft:interaction", Interaction: Interaction;
6101        "minecraft:iron_golem", IronGolem: IronGolem;
6102        "minecraft:item", Item: ItemEntity;
6103        "minecraft:item_display", ItemDisplay: ItemDisplay;
6104        "minecraft:item_frame", ItemFrame: ItemFrame;
6105        "minecraft:jungle_boat", JungleBoat: Boat;
6106        "minecraft:jungle_chest_boat", JungleChestBoat: ChestBoat;
6107        "minecraft:leash_knot", LeashKnot: LeashFenceKnotEntity;
6108        "minecraft:lightning_bolt", LightningBolt: LightningBolt;
6109        "minecraft:lingering_potion", LingeringPotion: ThrownLingeringPotion;
6110        "minecraft:llama", Llama: Llama;
6111        "minecraft:llama_spit", LlamaSpit: LlamaSpit;
6112        "minecraft:magma_cube", MagmaCube: MagmaCube;
6113        "minecraft:mangrove_boat", MangroveBoat: Boat;
6114        "minecraft:mangrove_chest_boat", MangroveChestBoat: ChestBoat;
6115        "minecraft:marker", Marker: Marker;
6116        "minecraft:minecart", Minecart: Minecart;
6117        "minecraft:mooshroom", Mooshroom: MushroomCow;
6118        "minecraft:mule", Mule: Mule;
6119        "minecraft:oak_boat", OakBoat: Boat;
6120        "minecraft:oak_chest_boat", OakChestBoat: ChestBoat;
6121        "minecraft:ocelot", Ocelot: Ocelot;
6122        "minecraft:ominous_item_spawner", OminousItemSpawner: OminousItemSpawner;
6123        "minecraft:painting", Painting: Painting;
6124        "minecraft:pale_oak_boat", PaleOakBoat: Boat;
6125        "minecraft:pale_oak_chest_boat", PaleOakChestBoat: ChestBoat;
6126        "minecraft:panda", Panda: Panda;
6127        "minecraft:parrot", Parrot: Parrot;
6128        "minecraft:phantom", Phantom: Phantom;
6129        "minecraft:pig", Pig: Pig;
6130        "minecraft:piglin", Piglin: Piglin;
6131        "minecraft:piglin_brute", PiglinBrute: PiglinBrute;
6132        "minecraft:pillager", Pillager: Pillager;
6133        "minecraft:polar_bear", PolarBear: PolarBear;
6134        "minecraft:pufferfish", Pufferfish: Pufferfish;
6135        "minecraft:rabbit", Rabbit: Rabbit;
6136        "minecraft:ravager", Ravager: Ravager;
6137        "minecraft:salmon", Salmon: Salmon;
6138        "minecraft:sheep", Sheep: Sheep;
6139        "minecraft:shulker", Shulker: Shulker;
6140        "minecraft:shulker_bullet", ShulkerBullet: ShulkerBullet;
6141        "minecraft:silverfish", Silverfish: Silverfish;
6142        "minecraft:skeleton", Skeleton: Skeleton;
6143        "minecraft:skeleton_horse", SkeletonHorse: SkeletonHorse;
6144        "minecraft:slime", Slime: Slime;
6145        "minecraft:small_fireball", SmallFireball: SmallFireball;
6146        "minecraft:sniffer", Sniffer: Sniffer;
6147        "minecraft:snow_golem", SnowGolem: SnowGolem;
6148        "minecraft:snowball", Snowball: Snowball;
6149        "minecraft:spawner_minecart", SpawnerMinecart: MinecartSpawner;
6150        "minecraft:spectral_arrow", SpectralArrow: SpectralArrow;
6151        "minecraft:spider", Spider: Spider;
6152        "minecraft:splash_potion", SplashPotion: ThrownSplashPotion;
6153        "minecraft:spruce_boat", SpruceBoat: Boat;
6154        "minecraft:spruce_chest_boat", SpruceChestBoat: ChestBoat;
6155        "minecraft:squid", Squid: Squid;
6156        "minecraft:stray", Stray: Stray;
6157        "minecraft:strider", Strider: Strider;
6158        "minecraft:tadpole", Tadpole: Tadpole;
6159        "minecraft:text_display", TextDisplay: TextDisplay;
6160        "minecraft:tnt", Tnt: PrimedTnt;
6161        "minecraft:tnt_minecart", TntMinecart: MinecartTNT;
6162        "minecraft:trader_llama", TraderLlama: TraderLlama;
6163        "minecraft:trident", Trident: ThrownTrident;
6164        "minecraft:tropical_fish", TropicalFish: TropicalFish;
6165        "minecraft:turtle", Turtle: Turtle;
6166        "minecraft:vex", Vex: Vex;
6167        "minecraft:villager", Villager: Villager;
6168        "minecraft:vindicator", Vindicator: Vindicator;
6169        "minecraft:wandering_trader", WanderingTrader: WanderingTrader;
6170        "minecraft:warden", Warden: Warden;
6171        "minecraft:wind_charge", WindCharge: WindCharge;
6172        "minecraft:witch", Witch: Witch;
6173        "minecraft:wither", Wither: WitherBoss;
6174        "minecraft:wither_skeleton", WitherSkeleton: WitherSkeleton;
6175        "minecraft:wither_skull", WitherSkull: WitherSkull;
6176        "minecraft:wolf", Wolf: Wolf;
6177        "minecraft:zoglin", Zoglin: Zoglin;
6178        "minecraft:zombie", Zombie: Zombie;
6179        "minecraft:zombie_horse", ZombieHorse: ZombieHorse;
6180        "minecraft:zombie_villager", ZombieVillager: ZombieVillager;
6181        "minecraft:zombified_piglin", ZombifiedPiglin: ZombifiedPiglin;
6182    }
6183
6184    entity_types! {
6185        "1.21.7";
6186        AbstractArrow > Projectile {  }
6187        AbstractBoat > VehicleEntity {  }
6188        AbstractChestBoat > AbstractBoat {  }
6189        AbstractChestedHorse > AbstractHorse {  }
6190        AbstractCow > Animal {  }
6191        AbstractFish > WaterAnimal {  }
6192        AbstractGolem > PathfinderMob {  }
6193        AbstractHorse > Animal {  }
6194        AbstractHurtingProjectile > Projectile {  }
6195        AbstractIllager > Raider {  }
6196        AbstractMinecart > VehicleEntity {  }
6197        AbstractMinecartContainer > AbstractMinecart {  }
6198        AbstractPiglin > Monster {  }
6199        AbstractSchoolingFish > AbstractFish {  }
6200        AbstractSkeleton > Monster {  }
6201        AbstractThrownPotion > ThrowableItemProjectile {  }
6202        AbstractVillager > AgeableMob {  }
6203        AbstractWindCharge > AbstractHurtingProjectile {  }
6204        AgeableMob > PathfinderMob {  }
6205        AgeableWaterCreature > AgeableMob {  }
6206        Allay > PathfinderMob {  }
6207        AmbientCreature > Mob {  }
6208        Animal > AgeableMob {  }
6209        AreaEffectCloud > Entity {  }
6210        Armadillo > Animal {  }
6211        ArmorStand > LivingEntity {  }
6212        Arrow > AbstractArrow {  }
6213        Axolotl > Animal {  }
6214        Bat > AmbientCreature {  }
6215        Bee > Animal {  }
6216        Blaze > Monster {  }
6217        BlockAttachedEntity > Entity {  }
6218        BlockDisplay > Display {  }
6219        Boat > AbstractBoat {  }
6220        Bogged > AbstractSkeleton {  }
6221        Breeze > Monster {  }
6222        BreezeWindCharge > AbstractWindCharge {  }
6223        Camel > AbstractHorse {  }
6224        Cat > TamableAnimal {  }
6225        CaveSpider > Spider {  }
6226        ChestBoat > AbstractChestBoat {  }
6227        ChestRaft > AbstractChestBoat {  }
6228        Chicken > Animal {  }
6229        Cod > AbstractSchoolingFish {  }
6230        Cow > AbstractCow {  }
6231        Creaking > Monster {  }
6232        Creeper > Monster {  }
6233        Display > Entity {  }
6234        Dolphin > AgeableWaterCreature {  }
6235        Donkey > AbstractChestedHorse {  }
6236        DragonFireball > AbstractHurtingProjectile {  }
6237        Drowned > Zombie {  }
6238        ElderGuardian > Guardian {  }
6239        EndCrystal > Entity {  }
6240        EnderDragon > Mob {  }
6241        EnderMan > Monster {  }
6242        Endermite > Monster {  }
6243        Entity {  }
6244        Evoker > SpellcasterIllager {  }
6245        EvokerFangs > Entity {  }
6246        ExperienceOrb > Entity {  }
6247        EyeOfEnder > Entity {  }
6248        FallingBlockEntity > Entity {  }
6249        Fireball > AbstractHurtingProjectile {  }
6250        FireworkRocketEntity > Projectile {  }
6251        FishingHook > Projectile {  }
6252        Fox > Animal {  }
6253        Frog > Animal {  }
6254        Ghast > Mob {  }
6255        Giant > Monster {  }
6256        GlowItemFrame > ItemFrame {  }
6257        GlowSquid > Squid {  }
6258        Goat > Animal {  }
6259        Guardian > Monster {  }
6260        HangingEntity > BlockAttachedEntity {  }
6261        HappyGhast > Animal {  }
6262        Hoglin > Animal {  }
6263        Horse > AbstractHorse {  }
6264        Husk > Zombie {  }
6265        Illusioner > SpellcasterIllager {  }
6266        Interaction > Entity {  }
6267        IronGolem > AbstractGolem {  }
6268        ItemDisplay > Display {  }
6269        ItemEntity > Entity {  }
6270        ItemFrame > HangingEntity {  }
6271        LargeFireball > Fireball {  }
6272        LeashFenceKnotEntity > BlockAttachedEntity {  }
6273        LightningBolt > Entity {  }
6274        LivingEntity > Entity {  }
6275        Llama > AbstractChestedHorse {  }
6276        LlamaSpit > Projectile {  }
6277        MagmaCube > Slime {  }
6278        Marker > Entity {  }
6279        Minecart > AbstractMinecart {  }
6280        MinecartChest > AbstractMinecartContainer {  }
6281        MinecartCommandBlock > AbstractMinecart {  }
6282        MinecartFurnace > AbstractMinecart {  }
6283        MinecartHopper > AbstractMinecartContainer {  }
6284        MinecartSpawner > AbstractMinecart {  }
6285        MinecartTNT > AbstractMinecart {  }
6286        Mob > LivingEntity {  }
6287        Monster > PathfinderMob {  }
6288        Mule > AbstractChestedHorse {  }
6289        MushroomCow > AbstractCow {  }
6290        Ocelot > Animal {  }
6291        OminousItemSpawner > Entity {  }
6292        Painting > HangingEntity {  }
6293        Panda > Animal {  }
6294        Parrot > ShoulderRidingEntity {  }
6295        PathfinderMob > Mob {  }
6296        PatrollingMonster > Monster {  }
6297        Phantom > Mob {  }
6298        Pig > Animal {  }
6299        Piglin > AbstractPiglin {  }
6300        PiglinBrute > AbstractPiglin {  }
6301        Pillager > AbstractIllager {  }
6302        PolarBear > Animal {  }
6303        PrimedTnt > Entity {  }
6304        Projectile > Entity {  }
6305        Pufferfish > AbstractFish {  }
6306        Rabbit > Animal {  }
6307        Raft > AbstractBoat {  }
6308        Raider > PatrollingMonster {  }
6309        Ravager > Raider {  }
6310        Salmon > AbstractSchoolingFish {  }
6311        Sheep > Animal {  }
6312        ShoulderRidingEntity > TamableAnimal {  }
6313        Shulker > AbstractGolem {  }
6314        ShulkerBullet > Projectile {  }
6315        Silverfish > Monster {  }
6316        Skeleton > AbstractSkeleton {  }
6317        SkeletonHorse > AbstractHorse {  }
6318        Slime > Mob {  }
6319        SmallFireball > Fireball {  }
6320        Sniffer > Animal {  }
6321        SnowGolem > AbstractGolem {  }
6322        Snowball > ThrowableItemProjectile {  }
6323        SpectralArrow > AbstractArrow {  }
6324        SpellcasterIllager > AbstractIllager {  }
6325        Spider > Monster {  }
6326        Squid > AgeableWaterCreature {  }
6327        Stray > AbstractSkeleton {  }
6328        Strider > Animal {  }
6329        Tadpole > AbstractFish {  }
6330        TamableAnimal > Animal {  }
6331        TextDisplay > Display {  }
6332        ThrowableItemProjectile > ThrowableProjectile {  }
6333        ThrowableProjectile > Projectile {  }
6334        ThrownEgg > ThrowableItemProjectile {  }
6335        ThrownEnderpearl > ThrowableItemProjectile {  }
6336        ThrownExperienceBottle > ThrowableItemProjectile {  }
6337        ThrownLingeringPotion > AbstractThrownPotion {  }
6338        ThrownSplashPotion > AbstractThrownPotion {  }
6339        ThrownTrident > AbstractArrow {  }
6340        TraderLlama > Llama {  }
6341        TropicalFish > AbstractSchoolingFish {  }
6342        Turtle > Animal {  }
6343        VehicleEntity > Entity {  }
6344        Vex > Monster {  }
6345        Villager > AbstractVillager {  }
6346        Vindicator > AbstractIllager {  }
6347        WanderingTrader > AbstractVillager {  }
6348        Warden > Monster {  }
6349        WaterAnimal > PathfinderMob {  }
6350        WindCharge > AbstractWindCharge {  }
6351        Witch > Raider {  }
6352        WitherBoss > Monster {  }
6353        WitherSkeleton > AbstractSkeleton {  }
6354        WitherSkull > AbstractHurtingProjectile {  }
6355        Wolf > TamableAnimal {  }
6356        Zoglin > Monster {  }
6357        Zombie > Monster {  }
6358        ZombieHorse > AbstractHorse {  }
6359        ZombieVillager > Zombie {  }
6360        ZombifiedPiglin > Zombie {  }
6361    }
6362
6363    entity_compound_types! {
6364        "1.21.7";
6365    }
6366}