diff --git a/Minecraft.World/PrimedTnt.cpp b/Minecraft.World/PrimedTnt.cpp index 191e452a..51ce81d7 100644 --- a/Minecraft.World/PrimedTnt.cpp +++ b/Minecraft.World/PrimedTnt.cpp @@ -64,25 +64,44 @@ bool PrimedTnt::isPickable() void PrimedTnt::tick() { xo = x; - yo = y; - zo = z; + yo = y; + zo = z; + this->updateInWaterState(); + bool inWater = this->isInWater() || this->isInLava(); - yd -= 0.04f; // sempre, senza distinzione acqua/aria + + if (inWater) + { + yd -= 0.0392f; + } + else + { + yd -= 0.04f; + } move(xd, yd, zd); - xd *= 0.98f; - yd *= 0.98f; - zd *= 0.98f; - if (onGround) + if (inWater) { - xd *= 0.7f; - zd *= 0.7f; - yd *= -0.5f; + xd *= 0.8f; + yd *= 0.8f; + zd *= 0.8f; + } + else + { + xd *= 0.98f; + yd *= 0.98f; + zd *= 0.98f; } - this->updateInWaterState(); + + if (onGround) + { + xd *= 0.7f; + zd *= 0.7f; + yd *= -0.5f; + } if (life-- <= 0) {