summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/net/minecraft/server/EntityItem.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
index c61ab3e0..9b15397f 100644
--- a/src/main/java/net/minecraft/server/EntityItem.java
+++ b/src/main/java/net/minecraft/server/EntityItem.java
@@ -13,6 +13,7 @@ public class EntityItem extends Entity {
public int pickupDelay;
private int f = 5;
public float d = (float) (Math.random() * 3.141592653589793D * 2.0D);
+ private int lastTick = (int) (System.currentTimeMillis() / 50); // CraftBukkit
public EntityItem(World world, double d0, double d1, double d2, ItemStack itemstack) {
super(world);
@@ -40,9 +41,11 @@ public class EntityItem extends Entity {
public void o_() {
super.o_();
- if (this.pickupDelay > 0) {
- --this.pickupDelay;
- }
+ // CraftBukkit start
+ int currentTick = (int) (System.currentTimeMillis() / 50);
+ this.pickupDelay -= (currentTick - this.lastTick);
+ this.lastTick = currentTick;
+ // CraftBukkit end
this.lastX = this.locX;
this.lastY = this.locY;
@@ -119,7 +122,7 @@ public class EntityItem extends Entity {
int i = this.itemStack.count;
// CraftBukkit start
- if (this.pickupDelay == 0) {
+ if (this.pickupDelay <= 0) { // <-- == to <=
Player player = (Player) entityhuman.getBukkitEntity();
PlayerPickupItemEvent event = new PlayerPickupItemEvent(player, (org.bukkit.entity.Item) this.getBukkitEntity());
((WorldServer) world).getServer().getPluginManager().callEvent(event);