33 lines
1.4 KiB
Diff
33 lines
1.4 KiB
Diff
|
From e748f07aa4a2d6c1e2b85f64bc9505f8a0163bb8 Mon Sep 17 00:00:00 2001
|
||
|
From: AJMFactsheets <AJMFactsheets@gmail.com>
|
||
|
Date: Fri, 17 Jan 2020 17:17:54 -0600
|
||
|
Subject: [PATCH] Fix items not falling correctly
|
||
|
|
||
|
Since 1.14, Mojang has added an optimization which skips checking if
|
||
|
an item should fall every fourth tick.
|
||
|
|
||
|
However, Spigot's entity activation range class also has an
|
||
|
optimization which skips ticking active entities every fourth tick.
|
||
|
This can result in a state where an item will never properly fall
|
||
|
due to its move method never being called.
|
||
|
|
||
|
This patch resolves the conflict by offsetting checking an item's
|
||
|
move method from Spigot's entity activation range check.
|
||
|
|
||
|
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
|
||
|
index e61af3f5..30a7843b 100644
|
||
|
--- a/src/main/java/net/minecraft/server/EntityItem.java
|
||
|
+++ b/src/main/java/net/minecraft/server/EntityItem.java
|
||
|
@@ -86,7 +86,7 @@ public class EntityItem extends Entity {
|
||
|
}
|
||
|
}
|
||
|
|
||
|
- if (!this.onGround || b(this.getMot()) > 9.999999747378752E-6D || (this.ticksLived + this.getId()) % 4 == 0) {
|
||
|
+ if (!this.onGround || b(this.getMot()) > 9.999999747378752E-6D || this.ticksLived % 4 == 3) { // Paper - Ensure checking item movement is always offset from Spigot's entity activation range check
|
||
|
this.move(EnumMoveType.SELF, this.getMot());
|
||
|
float f = 0.98F;
|
||
|
|
||
|
--
|
||
|
2.17.1
|
||
|
|