diff --git a/paper-server/nms-patches/EntityItemFrame.patch b/paper-server/nms-patches/EntityItemFrame.patch index 13cff21e36..caa815f285 100644 --- a/paper-server/nms-patches/EntityItemFrame.patch +++ b/paper-server/nms-patches/EntityItemFrame.patch @@ -1,5 +1,14 @@ --- a/net/minecraft/server/EntityItemFrame.java +++ b/net/minecraft/server/EntityItemFrame.java +@@ -10,7 +10,7 @@ + private static final Logger LOGGER = LogManager.getLogger(); + private static final DataWatcherObject ITEM = DataWatcher.a(EntityItemFrame.class, DataWatcherRegistry.g); + private static final DataWatcherObject g = DataWatcher.a(EntityItemFrame.class, DataWatcherRegistry.b); +- private float ag = 1.0F; ++ public float ag = 1.0F; // PAIL itemDropChance + public boolean fixed; + + public EntityItemFrame(EntityTypes entitytypes, World world) { @@ -53,16 +53,27 @@ @Override protected void updateBoundingBox() { diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftItemFrame.java b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftItemFrame.java index 072c56b8a2..ee9035cefc 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftItemFrame.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftItemFrame.java @@ -1,5 +1,6 @@ package org.bukkit.craftbukkit.entity; +import com.google.common.base.Preconditions; import net.minecraft.server.BlockPosition; import net.minecraft.server.EntityHanging; import net.minecraft.server.EntityItemFrame; @@ -69,6 +70,17 @@ public class CraftItemFrame extends CraftHanging implements ItemFrame { return CraftItemStack.asBukkitCopy(getHandle().getItem()); } + @Override + public float getItemDropChance() { + return getHandle().ag; + } + + @Override + public void setItemDropChance(float chance) { + Preconditions.checkArgument(0.0 <= chance && chance <= 1.0, "Chance outside range [0, 1]"); + getHandle().ag = chance; + } + @Override public Rotation getRotation() { return toBukkitRotation(getHandle().getRotation());