diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java index d973749181..daf264ca2a 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java @@ -41,12 +41,29 @@ public class CraftItem extends CraftEntity implements Item { item.pickupDelay = Math.min(delay, Short.MAX_VALUE); } + @Override + public void setUnlimitedLifetime(boolean unlimited) { + if (unlimited) { + // See EntityItem#INFINITE_LIFETIME + item.age = Short.MIN_VALUE; + } else { + item.age = getTicksLived(); + } + } + + @Override + public boolean isUnlimitedLifetime() { + return item.age == Short.MIN_VALUE; + } + @Override public void setTicksLived(int value) { super.setTicksLived(value); - // Second field for EntityItem - item.age = value; + // Second field for EntityItem (don't set if lifetime is unlimited) + if (!isUnlimitedLifetime()) { + item.age = value; + } } @Override