diff options
Diffstat (limited to 'src/main/java/net/minecraft/server/EntityItem.java')
-rw-r--r-- | src/main/java/net/minecraft/server/EntityItem.java | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java index ee775bf7..a28d233d 100644 --- a/src/main/java/net/minecraft/server/EntityItem.java +++ b/src/main/java/net/minecraft/server/EntityItem.java @@ -10,7 +10,7 @@ public class EntityItem extends Entity { public int pickupDelay; private int d; public float c; - private int lastTick = (int) (System.currentTimeMillis() / 50); // CraftBukkit + private int lastTick = MinecraftServer.currentTick; // CraftBukkit public EntityItem(World world, double d0, double d1, double d2) { super(world); @@ -55,10 +55,11 @@ public class EntityItem extends Entity { public void l_() { super.l_(); - // CraftBukkit start - int currentTick = (int) (System.currentTimeMillis() / 50); - this.pickupDelay -= (currentTick - this.lastTick); - this.lastTick = currentTick; + // CraftBukkit start - Use wall time for pickup and despawn timers + int elapsedTicks = Math.max(1, MinecraftServer.currentTick - this.lastTick); + this.pickupDelay -= elapsedTicks; + this.age += elapsedTicks; + this.lastTick = MinecraftServer.currentTick; // CraftBukkit end this.lastX = this.locX; @@ -100,7 +101,7 @@ public class EntityItem extends Entity { this.motY *= -0.5D; } - ++this.age; + // ++this.age; // CraftBukkit - Moved up if (!this.world.isStatic && this.age >= 6000) { // CraftBukkit start if (org.bukkit.craftbukkit.event.CraftEventFactory.callItemDespawnEvent(this).isCancelled()) { |