From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Alfie Smith Date: Sat, 7 Nov 2020 01:20:33 +0000 Subject: [PATCH] Item no age & no player pickup diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java index 7b11db70668951e5331b6d6b99f616e163d7d7d6..953d3762292a4c15b063f9e237edf2f5c5362cb7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java @@ -9,6 +9,11 @@ import org.bukkit.inventory.ItemStack; public class CraftItem extends CraftEntity implements Item { + // Paper start + private final static int NO_AGE_TIME = (int) Short.MIN_VALUE; + private final static int NO_PICKUP_TIME = (int) Short.MAX_VALUE; + // Paper end + public CraftItem(CraftServer server, ItemEntity entity) { super(server, entity); } @@ -73,6 +78,26 @@ public class CraftItem extends CraftEntity implements Item { public void setCanMobPickup(boolean canMobPickup) { this.getHandle().canMobPickup = canMobPickup; } + + @Override + public boolean canPlayerPickup() { + return this.getHandle().pickupDelay != NO_PICKUP_TIME; + } + + @Override + public void setCanPlayerPickup(boolean canPlayerPickup) { + this.getHandle().pickupDelay = canPlayerPickup ? 0 : NO_PICKUP_TIME; + } + + @Override + public boolean willAge() { + return this.getHandle().age != NO_AGE_TIME; + } + + @Override + public void setWillAge(boolean willAge) { + this.getHandle().age = willAge ? 0 : NO_AGE_TIME; + } // Paper End @Override