From 9602f2c5a2ca79eebbfa4454ffaf957ed24e469d Mon Sep 17 00:00:00 2001 From: Lord_Cambion Date: Fri, 27 Mar 2026 20:38:43 +0100 Subject: [PATCH] tnt moves in water --- Minecraft.World/PrimedTnt.cpp | 36 +++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/Minecraft.World/PrimedTnt.cpp b/Minecraft.World/PrimedTnt.cpp index 39b3ea73..8cdfd67f 100644 --- a/Minecraft.World/PrimedTnt.cpp +++ b/Minecraft.World/PrimedTnt.cpp @@ -67,11 +67,35 @@ void PrimedTnt::tick() yo = y; zo = z; - yd -= 0.04f; - move(xd, yd, zd); - xd *= 0.98f; - yd *= 0.98f; - zd *= 0.98f; + this->updateInWaterState(); + bool inWater = this->isInWater() || this->isInLava(); + + + if (inWater) + { + yd -= 0.0392f; + } + else + { + yd -= 0.04f; + } + + move(xd, yd, zd); + + + if (inWater) + { + xd *= 0.8f; + yd *= 0.8f; + zd *= 0.8f; + } + else + { + xd *= 0.98f; + yd *= 0.98f; + zd *= 0.98f; + } + if (onGround) { @@ -121,4 +145,4 @@ float PrimedTnt::getShadowHeightOffs() shared_ptr PrimedTnt::getOwner() { return owner.lock(); -} \ No newline at end of file +}