diff --git a/Minecraft.Client/Common/res/TitleUpdate/res/terrain.png b/Minecraft.Client/Common/res/TitleUpdate/res/terrain.png index 0246b41d..ca4adf19 100644 Binary files a/Minecraft.Client/Common/res/TitleUpdate/res/terrain.png and b/Minecraft.Client/Common/res/TitleUpdate/res/terrain.png differ diff --git a/Minecraft.Client/Common/res/TitleUpdate/res/terrainMipMapLevel2.png b/Minecraft.Client/Common/res/TitleUpdate/res/terrainMipMapLevel2.png index 02686b3e..6c73177a 100644 Binary files a/Minecraft.Client/Common/res/TitleUpdate/res/terrainMipMapLevel2.png and b/Minecraft.Client/Common/res/TitleUpdate/res/terrainMipMapLevel2.png differ diff --git a/Minecraft.Client/Common/res/TitleUpdate/res/terrainMipMapLevel3.png b/Minecraft.Client/Common/res/TitleUpdate/res/terrainMipMapLevel3.png index dddef615..8e2fb5e2 100644 Binary files a/Minecraft.Client/Common/res/TitleUpdate/res/terrainMipMapLevel3.png and b/Minecraft.Client/Common/res/TitleUpdate/res/terrainMipMapLevel3.png differ diff --git a/Minecraft.World/Boat.cpp b/Minecraft.World/Boat.cpp index 157f8842..b8e138e1 100644 --- a/Minecraft.World/Boat.cpp +++ b/Minecraft.World/Boat.cpp @@ -48,6 +48,35 @@ bool Boat::makeStepSound() return false; } +void Boat::checkFallDamage(int result, int onGround, double ya) +{ + if (fallDistance <= 3.0) return; + + if ( !onGround ) + { + int t = level->getTile(x, (floor(y) - 1.0), z); + if ((!t || Tile::tiles[t]->material != Material::water) && ya < 0.0 ) + fallDistance -= ya; + + return; + } + causeFallDamage(fallDistance); + if (!level->isClientSide && !removed) + { + remove(); + for (int i = 0; i < 3; i++) + { + spawnAtLocation(Tile::wood_Id, 1, 0); + } + for (int i = 0; i < 2; i++) + { + spawnAtLocation(Item::stick->id, 1, 0); + } + } + + fallDistance = 0.0; +} + void Boat::defineSynchedData() { entityData->define(DATA_ID_HURT, 0); diff --git a/Minecraft.World/Boat.h b/Minecraft.World/Boat.h index 55586eeb..5edf64e0 100644 --- a/Minecraft.World/Boat.h +++ b/Minecraft.World/Boat.h @@ -36,6 +36,7 @@ public: Boat(Level *level); protected: + virtual void checkFallDamage(int result, int onGround, double ya); virtual bool makeStepSound(); virtual void defineSynchedData(); diff --git a/Minecraft.World/Zombie.cpp b/Minecraft.World/Zombie.cpp index f27a1c7d..944c54b5 100644 --- a/Minecraft.World/Zombie.cpp +++ b/Minecraft.World/Zombie.cpp @@ -147,6 +147,8 @@ void Zombie::aiStep() } } Monster::aiStep(); + if (isBaby()) + setSize(0.3f, 0.9f); } bool Zombie::hurt(DamageSource *source, float dmg)