9
0
mirror of https://github.com/Samsuik/Sakura.git synced 2025-12-19 14:59:30 +00:00

Fix infinite fluid state recursion

This commit is contained in:
Samsuik
2023-11-24 13:27:40 +00:00
parent 1c4d48c45f
commit 4c0b0f430e

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Optimise TNT fluid state and pushing
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 02d4d2599340d22d8d501b2466b12f0f3216451b..50259042ebafe520342bdb1a4b7e6b9138b8acbd 100644 index 9feef1fd078cd0ca59f4cc6a7346d8eaa24a15e1..eab1b1043f27c3f996e820b3b50e2689c84e8822 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2168,7 +2168,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -2168,7 +2168,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -18,7 +18,7 @@ index 02d4d2599340d22d8d501b2466b12f0f3216451b..50259042ebafe520342bdb1a4b7e6b91
if (entity instanceof Boat) { if (entity instanceof Boat) {
diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
index 3818d07261ce4f276968691ad32a22b88ffe6826..923dd09399cd85cdb31e129a03affb9403feb181 100644 index 3818d07261ce4f276968691ad32a22b88ffe6826..ae42975b45ab8529de1d67eb74e72e9ef09c4008 100644
--- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java --- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
+++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java +++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
@@ -124,6 +124,19 @@ public class PrimedTnt extends Entity implements TraceableEntity { @@ -124,6 +124,19 @@ public class PrimedTnt extends Entity implements TraceableEntity {
@@ -27,14 +27,14 @@ index 3818d07261ce4f276968691ad32a22b88ffe6826..923dd09399cd85cdb31e129a03affb94
// Sakura end // Sakura end
+ // Sakura start + // Sakura start
+ protected boolean updateInWaterStateAndDoFluidPushing() { + protected boolean updateInWaterStateAndDoFluidPushing() {
+ if (isPushedByFluid()) { + if (this.isPushedByFluid()) {
+ return this.updateInWaterStateAndDoFluidPushing(); + return super.updateInWaterStateAndDoFluidPushing();
+ } else { + } else {
+ // super method also handles lava fluid pushing + // super method also handles lava fluid pushing
+ // we only need to search for water to negate fall distance + // we only need to search for water to negate fall distance
+ this.fluidHeight.clear(); + this.fluidHeight.clear();
+ this.updateInWaterStateAndDoWaterCurrentPushing(); + this.updateInWaterStateAndDoWaterCurrentPushing();
+ return isInWater(); + return this.isInWater();
+ } + }
+ } + }
+ // Sakura end + // Sakura end