aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/WaterAnimal.cpp
diff options
context:
space:
mode:
authordaoge <3523206925@qq.com>2026-03-03 03:04:10 +0800
committerGitHub <noreply@github.com>2026-03-03 03:04:10 +0800
commitb3feddfef372618c8a9d7a0abcaf18cfad866c18 (patch)
tree267761c3bb39241ba5c347bfbe2254d06686e287 /Minecraft.World/WaterAnimal.cpp
parent84c31a2331f7a0ec85b9d438992e244f60e5020f (diff)
feat: TU19 (Dec 2014) Features & Content (#155)
* try to resolve merge conflict * feat: TU19 (Dec 2014) Features & Content (#32) * December 2014 files * Working release build * Fix compilation issues * Add sound to Windows64Media * Add DLC content and force Tutorial DLC * Revert "Add DLC content and force Tutorial DLC" This reverts commit 97a43994725008e35fceb984d5549df9c8cea470. * Disable broken light packing * Disable breakpoint during DLC texture map load Allows DLC loading but the DLC textures are still broken * Fix post build not working * ... * fix vs2022 build * fix cmake build --------- Co-authored-by: Loki <lokirautio@gmail.com>
Diffstat (limited to 'Minecraft.World/WaterAnimal.cpp')
-rw-r--r--Minecraft.World/WaterAnimal.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/Minecraft.World/WaterAnimal.cpp b/Minecraft.World/WaterAnimal.cpp
index 0a7313d1..fe94b628 100644
--- a/Minecraft.World/WaterAnimal.cpp
+++ b/Minecraft.World/WaterAnimal.cpp
@@ -3,6 +3,7 @@
#include "net.minecraft.world.level.tile.h"
#include "net.minecraft.world.phys.h"
#include "net.minecraft.world.level.h"
+#include "net.minecraft.world.damagesource.h"
#include "WaterAnimal.h"
@@ -39,4 +40,25 @@ bool WaterAnimal::removeWhenFarAway()
int WaterAnimal::getExperienceReward(shared_ptr<Player> killedBy)
{
return 1 + level->random->nextInt(3);
+}
+
+void WaterAnimal::baseTick()
+{
+ int airSupply = getAirSupply();
+
+ PathfinderMob::baseTick(); // this modified the airsupply
+
+ if (isAlive() && !isInWater())
+ {
+ setAirSupply(--airSupply);
+ if (getAirSupply() == -20)
+ {
+ setAirSupply(0);
+ hurt(DamageSource::drown, 2);
+ }
+ }
+ else
+ {
+ setAirSupply(TOTAL_AIR_SUPPLY);
+ }
} \ No newline at end of file