diff options
| author | mat <27899617+mat-1@users.noreply.github.com> | 2025-08-14 20:40:13 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-14 20:40:13 -0500 |
| commit | e74ed047dbaf3877db4a89a2d589e992abd0bb11 (patch) | |
| tree | 0a728c8be167a1d59a5492ed9df666f41cf12e57 /azalea-entity/src/dimensions.rs | |
| parent | 6695132ddb31780786c67b8b9ff5df8ab3891438 (diff) | |
| download | azalea-drasl-e74ed047dbaf3877db4a89a2d589e992abd0bb11.tar.xz | |
Sneaking (#237)
* start implementing sneaking
* fix horizontal_collision being inverted and cleanup
* clippy
* change dimensions and eye height based on pose
* proper support for automatically crouching in certain cases
* fix anticheat issues
* add line to changelog and update a comment
Diffstat (limited to 'azalea-entity/src/dimensions.rs')
| -rw-r--r-- | azalea-entity/src/dimensions.rs | 242 |
1 files changed, 145 insertions, 97 deletions
diff --git a/azalea-entity/src/dimensions.rs b/azalea-entity/src/dimensions.rs index 68e9903d..92c03e61 100644 --- a/azalea-entity/src/dimensions.rs +++ b/azalea-entity/src/dimensions.rs @@ -1,15 +1,43 @@ use azalea_core::{aabb::AABB, position::Vec3}; use azalea_registry::EntityKind; +use bevy_ecs::component::Component; -#[derive(Debug, Default, Clone)] +use crate::Pose; + +/// A component that contains the size of an entity and their eye height. +#[derive(Component, Debug, Default, Clone)] pub struct EntityDimensions { pub width: f32, pub height: f32, + /// The offset of the entity's eyes from their coordinates. + /// + /// This is used to calculate the camera position for players, when + /// spectating an entity, and when raycasting from the entity. + /// + /// The default eye height for a player is 1.62 blocks. + pub eye_height: f32, + /// Whether the entity isn't allowed to be scaled. + pub fixed: bool, } impl EntityDimensions { - pub fn new(width: f32, height: f32) -> Self { - Self { width, height } + pub const fn new(width: f32, height: f32) -> Self { + Self { + width, + height, + eye_height: default_eye_height(height), + fixed: false, + } + } + pub const fn fixed(self) -> Self { + Self { + fixed: true, + ..self + } + } + + pub const fn eye_height(self, eye_height: f32) -> Self { + Self { eye_height, ..self } } pub fn make_bounding_box(&self, pos: Vec3) -> AABB { @@ -22,55 +50,59 @@ impl EntityDimensions { } } +const fn default_eye_height(height: f32) -> f32 { + height * 0.85 +} + impl From<EntityKind> for EntityDimensions { fn from(entity: EntityKind) -> Self { // this match statement is automatically generated by codegen/genentities.py, // don't edit it manually! match entity { - EntityKind::AcaciaBoat => EntityDimensions::new(1.375, 0.5625), - EntityKind::AcaciaChestBoat => EntityDimensions::new(1.375, 0.5625), - EntityKind::Allay => EntityDimensions::new(0.35, 0.6), + EntityKind::AcaciaBoat => EntityDimensions::new(1.375, 0.5625).eye_height(0.5625), + EntityKind::AcaciaChestBoat => EntityDimensions::new(1.375, 0.5625).eye_height(0.5625), + EntityKind::Allay => EntityDimensions::new(0.35, 0.6).eye_height(0.36), EntityKind::AreaEffectCloud => EntityDimensions::new(6.0, 0.5), - EntityKind::Armadillo => EntityDimensions::new(0.7, 0.65), - EntityKind::ArmorStand => EntityDimensions::new(0.5, 1.975), - EntityKind::Arrow => EntityDimensions::new(0.5, 0.5), - EntityKind::Axolotl => EntityDimensions::new(0.75, 0.42), - EntityKind::BambooChestRaft => EntityDimensions::new(1.375, 0.5625), - EntityKind::BambooRaft => EntityDimensions::new(1.375, 0.5625), - EntityKind::Bat => EntityDimensions::new(0.5, 0.9), - EntityKind::Bee => EntityDimensions::new(0.7, 0.6), - EntityKind::BirchBoat => EntityDimensions::new(1.375, 0.5625), - EntityKind::BirchChestBoat => EntityDimensions::new(1.375, 0.5625), + EntityKind::Armadillo => EntityDimensions::new(0.7, 0.65).eye_height(0.26), + EntityKind::ArmorStand => EntityDimensions::new(0.5, 1.975).eye_height(1.7775), + EntityKind::Arrow => EntityDimensions::new(0.5, 0.5).eye_height(0.13), + EntityKind::Axolotl => EntityDimensions::new(0.75, 0.42).eye_height(0.2751), + EntityKind::BambooChestRaft => EntityDimensions::new(1.375, 0.5625).eye_height(0.5625), + EntityKind::BambooRaft => EntityDimensions::new(1.375, 0.5625).eye_height(0.5625), + EntityKind::Bat => EntityDimensions::new(0.5, 0.9).eye_height(0.45), + EntityKind::Bee => EntityDimensions::new(0.7, 0.6).eye_height(0.3), + EntityKind::BirchBoat => EntityDimensions::new(1.375, 0.5625).eye_height(0.5625), + EntityKind::BirchChestBoat => EntityDimensions::new(1.375, 0.5625).eye_height(0.5625), EntityKind::Blaze => EntityDimensions::new(0.6, 1.8), EntityKind::BlockDisplay => EntityDimensions::new(0.0, 0.0), - EntityKind::Bogged => EntityDimensions::new(0.6, 1.99), - EntityKind::Breeze => EntityDimensions::new(0.6, 1.77), - EntityKind::BreezeWindCharge => EntityDimensions::new(0.3125, 0.3125), - EntityKind::Camel => EntityDimensions::new(1.7, 2.375), - EntityKind::Cat => EntityDimensions::new(0.6, 0.7), - EntityKind::CaveSpider => EntityDimensions::new(0.7, 0.5), - EntityKind::CherryBoat => EntityDimensions::new(1.375, 0.5625), - EntityKind::CherryChestBoat => EntityDimensions::new(1.375, 0.5625), + EntityKind::Bogged => EntityDimensions::new(0.6, 1.99).eye_height(1.74), + EntityKind::Breeze => EntityDimensions::new(0.6, 1.77).eye_height(1.3452), + EntityKind::BreezeWindCharge => EntityDimensions::new(0.3125, 0.3125).eye_height(0.0), + EntityKind::Camel => EntityDimensions::new(1.7, 2.375).eye_height(2.275), + EntityKind::Cat => EntityDimensions::new(0.6, 0.7).eye_height(0.35), + EntityKind::CaveSpider => EntityDimensions::new(0.7, 0.5).eye_height(0.45), + EntityKind::CherryBoat => EntityDimensions::new(1.375, 0.5625).eye_height(0.5625), + EntityKind::CherryChestBoat => EntityDimensions::new(1.375, 0.5625).eye_height(0.5625), EntityKind::ChestMinecart => EntityDimensions::new(0.98, 0.7), - EntityKind::Chicken => EntityDimensions::new(0.4, 0.7), - EntityKind::Cod => EntityDimensions::new(0.5, 0.3), + EntityKind::Chicken => EntityDimensions::new(0.4, 0.7).eye_height(0.644), + EntityKind::Cod => EntityDimensions::new(0.5, 0.3).eye_height(0.195), EntityKind::CommandBlockMinecart => EntityDimensions::new(0.98, 0.7), - EntityKind::Cow => EntityDimensions::new(0.9, 1.4), - EntityKind::Creaking => EntityDimensions::new(0.9, 2.7), + EntityKind::Cow => EntityDimensions::new(0.9, 1.4).eye_height(1.3), + EntityKind::Creaking => EntityDimensions::new(0.9, 2.7).eye_height(2.3), EntityKind::Creeper => EntityDimensions::new(0.6, 1.7), - EntityKind::DarkOakBoat => EntityDimensions::new(1.375, 0.5625), - EntityKind::DarkOakChestBoat => EntityDimensions::new(1.375, 0.5625), - EntityKind::Dolphin => EntityDimensions::new(0.9, 0.6), - EntityKind::Donkey => EntityDimensions::new(1.39648, 1.5), + EntityKind::DarkOakBoat => EntityDimensions::new(1.375, 0.5625).eye_height(0.5625), + EntityKind::DarkOakChestBoat => EntityDimensions::new(1.375, 0.5625).eye_height(0.5625), + EntityKind::Dolphin => EntityDimensions::new(0.9, 0.6).eye_height(0.3), + EntityKind::Donkey => EntityDimensions::new(1.39648, 1.5).eye_height(1.425), EntityKind::DragonFireball => EntityDimensions::new(1.0, 1.0), - EntityKind::Drowned => EntityDimensions::new(0.6, 1.95), + EntityKind::Drowned => EntityDimensions::new(0.6, 1.95).eye_height(1.74), EntityKind::Egg => EntityDimensions::new(0.25, 0.25), - EntityKind::ElderGuardian => EntityDimensions::new(1.9975, 1.9975), + EntityKind::ElderGuardian => EntityDimensions::new(1.9975, 1.9975).eye_height(0.99875), EntityKind::EndCrystal => EntityDimensions::new(2.0, 2.0), EntityKind::EnderDragon => EntityDimensions::new(16.0, 8.0), EntityKind::EnderPearl => EntityDimensions::new(0.25, 0.25), - EntityKind::Enderman => EntityDimensions::new(0.6, 2.9), - EntityKind::Endermite => EntityDimensions::new(0.4, 0.3), + EntityKind::Enderman => EntityDimensions::new(0.6, 2.9).eye_height(2.55), + EntityKind::Endermite => EntityDimensions::new(0.4, 0.3).eye_height(0.13), EntityKind::Evoker => EntityDimensions::new(0.6, 1.95), EntityKind::EvokerFangs => EntityDimensions::new(0.5, 0.8), EntityKind::ExperienceBottle => EntityDimensions::new(0.25, 0.25), @@ -80,104 +112,120 @@ impl From<EntityKind> for EntityDimensions { EntityKind::Fireball => EntityDimensions::new(1.0, 1.0), EntityKind::FireworkRocket => EntityDimensions::new(0.25, 0.25), EntityKind::FishingBobber => EntityDimensions::new(0.25, 0.25), - EntityKind::Fox => EntityDimensions::new(0.6, 0.7), + EntityKind::Fox => EntityDimensions::new(0.6, 0.7).eye_height(0.4), EntityKind::Frog => EntityDimensions::new(0.5, 0.5), EntityKind::FurnaceMinecart => EntityDimensions::new(0.98, 0.7), - EntityKind::Ghast => EntityDimensions::new(4.0, 4.0), - EntityKind::Giant => EntityDimensions::new(3.6, 12.0), - EntityKind::GlowItemFrame => EntityDimensions::new(0.5, 0.5), - EntityKind::GlowSquid => EntityDimensions::new(0.8, 0.8), + EntityKind::Ghast => EntityDimensions::new(4.0, 4.0).eye_height(2.6), + EntityKind::Giant => EntityDimensions::new(3.6, 12.0).eye_height(10.44), + EntityKind::GlowItemFrame => EntityDimensions::new(0.5, 0.5).eye_height(0.0), + EntityKind::GlowSquid => EntityDimensions::new(0.8, 0.8).eye_height(0.4), EntityKind::Goat => EntityDimensions::new(0.9, 1.3), - EntityKind::Guardian => EntityDimensions::new(0.85, 0.85), - EntityKind::HappyGhast => EntityDimensions::new(4.0, 4.0), + EntityKind::Guardian => EntityDimensions::new(0.85, 0.85).eye_height(0.425), + EntityKind::HappyGhast => EntityDimensions::new(4.0, 4.0).eye_height(2.6), EntityKind::Hoglin => EntityDimensions::new(1.39648, 1.4), EntityKind::HopperMinecart => EntityDimensions::new(0.98, 0.7), - EntityKind::Horse => EntityDimensions::new(1.39648, 1.6), - EntityKind::Husk => EntityDimensions::new(0.6, 1.95), + EntityKind::Horse => EntityDimensions::new(1.39648, 1.6).eye_height(1.52), + EntityKind::Husk => EntityDimensions::new(0.6, 1.95).eye_height(1.74), EntityKind::Illusioner => EntityDimensions::new(0.6, 1.95), EntityKind::Interaction => EntityDimensions::new(0.0, 0.0), EntityKind::IronGolem => EntityDimensions::new(1.4, 2.7), - EntityKind::Item => EntityDimensions::new(0.25, 0.25), + EntityKind::Item => EntityDimensions::new(0.25, 0.25).eye_height(0.2125), EntityKind::ItemDisplay => EntityDimensions::new(0.0, 0.0), - EntityKind::ItemFrame => EntityDimensions::new(0.5, 0.5), - EntityKind::JungleBoat => EntityDimensions::new(1.375, 0.5625), - EntityKind::JungleChestBoat => EntityDimensions::new(1.375, 0.5625), - EntityKind::LeashKnot => EntityDimensions::new(0.375, 0.5), + EntityKind::ItemFrame => EntityDimensions::new(0.5, 0.5).eye_height(0.0), + EntityKind::JungleBoat => EntityDimensions::new(1.375, 0.5625).eye_height(0.5625), + EntityKind::JungleChestBoat => EntityDimensions::new(1.375, 0.5625).eye_height(0.5625), + EntityKind::LeashKnot => EntityDimensions::new(0.375, 0.5).eye_height(0.0625), EntityKind::LightningBolt => EntityDimensions::new(0.0, 0.0), EntityKind::LingeringPotion => EntityDimensions::new(0.25, 0.25), - EntityKind::Llama => EntityDimensions::new(0.9, 1.87), + EntityKind::Llama => EntityDimensions::new(0.9, 1.87).eye_height(1.7765), EntityKind::LlamaSpit => EntityDimensions::new(0.25, 0.25), - EntityKind::MagmaCube => EntityDimensions::new(0.52, 0.52), - EntityKind::MangroveBoat => EntityDimensions::new(1.375, 0.5625), - EntityKind::MangroveChestBoat => EntityDimensions::new(1.375, 0.5625), + EntityKind::MagmaCube => EntityDimensions::new(0.52, 0.52).eye_height(0.325), + EntityKind::MangroveBoat => EntityDimensions::new(1.375, 0.5625).eye_height(0.5625), + EntityKind::MangroveChestBoat => { + EntityDimensions::new(1.375, 0.5625).eye_height(0.5625) + } EntityKind::Marker => EntityDimensions::new(0.0, 0.0), EntityKind::Minecart => EntityDimensions::new(0.98, 0.7), - EntityKind::Mooshroom => EntityDimensions::new(0.9, 1.4), - EntityKind::Mule => EntityDimensions::new(1.39648, 1.6), - EntityKind::OakBoat => EntityDimensions::new(1.375, 0.5625), - EntityKind::OakChestBoat => EntityDimensions::new(1.375, 0.5625), + EntityKind::Mooshroom => EntityDimensions::new(0.9, 1.4).eye_height(1.3), + EntityKind::Mule => EntityDimensions::new(1.39648, 1.6).eye_height(1.52), + EntityKind::OakBoat => EntityDimensions::new(1.375, 0.5625).eye_height(0.5625), + EntityKind::OakChestBoat => EntityDimensions::new(1.375, 0.5625).eye_height(0.5625), EntityKind::Ocelot => EntityDimensions::new(0.6, 0.7), EntityKind::OminousItemSpawner => EntityDimensions::new(0.25, 0.25), EntityKind::Painting => EntityDimensions::new(0.5, 0.5), - EntityKind::PaleOakBoat => EntityDimensions::new(1.375, 0.5625), - EntityKind::PaleOakChestBoat => EntityDimensions::new(1.375, 0.5625), + EntityKind::PaleOakBoat => EntityDimensions::new(1.375, 0.5625).eye_height(0.5625), + EntityKind::PaleOakChestBoat => EntityDimensions::new(1.375, 0.5625).eye_height(0.5625), EntityKind::Panda => EntityDimensions::new(1.3, 1.25), - EntityKind::Parrot => EntityDimensions::new(0.5, 0.9), - EntityKind::Phantom => EntityDimensions::new(0.9, 0.5), + EntityKind::Parrot => EntityDimensions::new(0.5, 0.9).eye_height(0.54), + EntityKind::Phantom => EntityDimensions::new(0.9, 0.5).eye_height(0.175), EntityKind::Pig => EntityDimensions::new(0.9, 0.9), - EntityKind::Piglin => EntityDimensions::new(0.6, 1.95), - EntityKind::PiglinBrute => EntityDimensions::new(0.6, 1.95), + EntityKind::Piglin => EntityDimensions::new(0.6, 1.95).eye_height(1.79), + EntityKind::PiglinBrute => EntityDimensions::new(0.6, 1.95).eye_height(1.79), EntityKind::Pillager => EntityDimensions::new(0.6, 1.95), - EntityKind::Player => EntityDimensions::new(0.6, 1.8), + EntityKind::Player => EntityDimensions::new(0.6, 1.8).eye_height(1.62), EntityKind::PolarBear => EntityDimensions::new(1.4, 1.4), - EntityKind::Pufferfish => EntityDimensions::new(0.7, 0.7), + EntityKind::Pufferfish => EntityDimensions::new(0.7, 0.7).eye_height(0.455), EntityKind::Rabbit => EntityDimensions::new(0.4, 0.5), EntityKind::Ravager => EntityDimensions::new(1.95, 2.2), - EntityKind::Salmon => EntityDimensions::new(0.7, 0.4), - EntityKind::Sheep => EntityDimensions::new(0.9, 1.3), - EntityKind::Shulker => EntityDimensions::new(1.0, 1.0), + EntityKind::Salmon => EntityDimensions::new(0.7, 0.4).eye_height(0.26), + EntityKind::Sheep => EntityDimensions::new(0.9, 1.3).eye_height(1.235), + EntityKind::Shulker => EntityDimensions::new(1.0, 1.0).eye_height(0.5), EntityKind::ShulkerBullet => EntityDimensions::new(0.3125, 0.3125), - EntityKind::Silverfish => EntityDimensions::new(0.4, 0.3), - EntityKind::Skeleton => EntityDimensions::new(0.6, 1.99), - EntityKind::SkeletonHorse => EntityDimensions::new(1.39648, 1.6), - EntityKind::Slime => EntityDimensions::new(0.52, 0.52), + EntityKind::Silverfish => EntityDimensions::new(0.4, 0.3).eye_height(0.13), + EntityKind::Skeleton => EntityDimensions::new(0.6, 1.99).eye_height(1.74), + EntityKind::SkeletonHorse => EntityDimensions::new(1.39648, 1.6).eye_height(1.52), + EntityKind::Slime => EntityDimensions::new(0.52, 0.52).eye_height(0.325), EntityKind::SmallFireball => EntityDimensions::new(0.3125, 0.3125), - EntityKind::Sniffer => EntityDimensions::new(1.9, 1.75), - EntityKind::SnowGolem => EntityDimensions::new(0.7, 1.9), + EntityKind::Sniffer => EntityDimensions::new(1.9, 1.75).eye_height(1.05), + EntityKind::SnowGolem => EntityDimensions::new(0.7, 1.9).eye_height(1.7), EntityKind::Snowball => EntityDimensions::new(0.25, 0.25), EntityKind::SpawnerMinecart => EntityDimensions::new(0.98, 0.7), - EntityKind::SpectralArrow => EntityDimensions::new(0.5, 0.5), - EntityKind::Spider => EntityDimensions::new(1.4, 0.9), + EntityKind::SpectralArrow => EntityDimensions::new(0.5, 0.5).eye_height(0.13), + EntityKind::Spider => EntityDimensions::new(1.4, 0.9).eye_height(0.65), EntityKind::SplashPotion => EntityDimensions::new(0.25, 0.25), - EntityKind::SpruceBoat => EntityDimensions::new(1.375, 0.5625), - EntityKind::SpruceChestBoat => EntityDimensions::new(1.375, 0.5625), - EntityKind::Squid => EntityDimensions::new(0.8, 0.8), - EntityKind::Stray => EntityDimensions::new(0.6, 1.99), + EntityKind::SpruceBoat => EntityDimensions::new(1.375, 0.5625).eye_height(0.5625), + EntityKind::SpruceChestBoat => EntityDimensions::new(1.375, 0.5625).eye_height(0.5625), + EntityKind::Squid => EntityDimensions::new(0.8, 0.8).eye_height(0.4), + EntityKind::Stray => EntityDimensions::new(0.6, 1.99).eye_height(1.74), EntityKind::Strider => EntityDimensions::new(0.9, 1.7), - EntityKind::Tadpole => EntityDimensions::new(0.4, 0.3), + EntityKind::Tadpole => EntityDimensions::new(0.4, 0.3).eye_height(0.195), EntityKind::TextDisplay => EntityDimensions::new(0.0, 0.0), - EntityKind::Tnt => EntityDimensions::new(0.98, 0.98), + EntityKind::Tnt => EntityDimensions::new(0.98, 0.98).eye_height(0.15), EntityKind::TntMinecart => EntityDimensions::new(0.98, 0.7), - EntityKind::TraderLlama => EntityDimensions::new(0.9, 1.87), - EntityKind::Trident => EntityDimensions::new(0.5, 0.5), - EntityKind::TropicalFish => EntityDimensions::new(0.5, 0.4), + EntityKind::TraderLlama => EntityDimensions::new(0.9, 1.87).eye_height(1.7765), + EntityKind::Trident => EntityDimensions::new(0.5, 0.5).eye_height(0.13), + EntityKind::TropicalFish => EntityDimensions::new(0.5, 0.4).eye_height(0.26), EntityKind::Turtle => EntityDimensions::new(1.2, 0.4), - EntityKind::Vex => EntityDimensions::new(0.4, 0.8), - EntityKind::Villager => EntityDimensions::new(0.6, 1.95), + EntityKind::Vex => EntityDimensions::new(0.4, 0.8).eye_height(0.51875), + EntityKind::Villager => EntityDimensions::new(0.6, 1.95).eye_height(1.62), EntityKind::Vindicator => EntityDimensions::new(0.6, 1.95), - EntityKind::WanderingTrader => EntityDimensions::new(0.6, 1.95), + EntityKind::WanderingTrader => EntityDimensions::new(0.6, 1.95).eye_height(1.62), EntityKind::Warden => EntityDimensions::new(0.9, 2.9), - EntityKind::WindCharge => EntityDimensions::new(0.3125, 0.3125), - EntityKind::Witch => EntityDimensions::new(0.6, 1.95), + EntityKind::WindCharge => EntityDimensions::new(0.3125, 0.3125).eye_height(0.0), + EntityKind::Witch => EntityDimensions::new(0.6, 1.95).eye_height(1.62), EntityKind::Wither => EntityDimensions::new(0.9, 3.5), - EntityKind::WitherSkeleton => EntityDimensions::new(0.7, 2.4), + EntityKind::WitherSkeleton => EntityDimensions::new(0.7, 2.4).eye_height(2.1), EntityKind::WitherSkull => EntityDimensions::new(0.3125, 0.3125), - EntityKind::Wolf => EntityDimensions::new(0.6, 0.85), + EntityKind::Wolf => EntityDimensions::new(0.6, 0.85).eye_height(0.68), EntityKind::Zoglin => EntityDimensions::new(1.39648, 1.4), - EntityKind::Zombie => EntityDimensions::new(0.6, 1.95), - EntityKind::ZombieHorse => EntityDimensions::new(1.39648, 1.6), - EntityKind::ZombieVillager => EntityDimensions::new(0.6, 1.95), - EntityKind::ZombifiedPiglin => EntityDimensions::new(0.6, 1.95), + EntityKind::Zombie => EntityDimensions::new(0.6, 1.95).eye_height(1.74), + EntityKind::ZombieHorse => EntityDimensions::new(1.39648, 1.6).eye_height(1.52), + EntityKind::ZombieVillager => EntityDimensions::new(0.6, 1.95).eye_height(1.74), + EntityKind::ZombifiedPiglin => EntityDimensions::new(0.6, 1.95).eye_height(1.79), } } } + +/// Calculate the dimensions that an entity with the given kind and pose would +/// have.i +pub fn calculate_dimensions(kind: EntityKind, pose: Pose) -> EntityDimensions { + match (kind, pose) { + (_, Pose::Sleeping) => EntityDimensions::new(0.2, 0.2).fixed().eye_height(0.2), + (EntityKind::Player, Pose::FallFlying) => EntityDimensions::new(0.6, 0.6).eye_height(0.4), + (EntityKind::Player, Pose::Swimming) => EntityDimensions::new(0.6, 0.6).eye_height(0.4), + (EntityKind::Player, Pose::SpinAttack) => EntityDimensions::new(0.6, 0.6).eye_height(0.4), + (EntityKind::Player, Pose::Crouching) => EntityDimensions::new(0.6, 1.5).eye_height(1.27), + (EntityKind::Player, Pose::Dying) => EntityDimensions::new(0.2, 1.2).eye_height(1.62), + _ => EntityDimensions::from(kind), + } +} |
