summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/EntityItem.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/minecraft/server/EntityItem.java')
-rw-r--r--src/main/java/net/minecraft/server/EntityItem.java13
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()) {