From 86d684ad19f14f88ce29712bbfd4a7a0d3421b7f Mon Sep 17 00:00:00 2001 From: Jake Potrebic <15055071+Machine-Maker@users.noreply.github.com> Date: Fri, 23 Apr 2021 03:11:28 -0700 Subject: [PATCH] Add get-set drop chance to EntityEquipment (#5528) --- ...t-set-drop-chance-to-EntityEquipment.patch | 43 +++++++++++++++++ ...t-set-drop-chance-to-EntityEquipment.patch | 48 +++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 Spigot-API-Patches/0287-add-get-set-drop-chance-to-EntityEquipment.patch create mode 100644 Spigot-Server-Patches/0709-add-get-set-drop-chance-to-EntityEquipment.patch diff --git a/Spigot-API-Patches/0287-add-get-set-drop-chance-to-EntityEquipment.patch b/Spigot-API-Patches/0287-add-get-set-drop-chance-to-EntityEquipment.patch new file mode 100644 index 0000000000..447a45db06 --- /dev/null +++ b/Spigot-API-Patches/0287-add-get-set-drop-chance-to-EntityEquipment.patch @@ -0,0 +1,43 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jake Potrebic +Date: Thu, 22 Apr 2021 00:28:20 -0700 +Subject: [PATCH] add get-set drop chance to EntityEquipment + + +diff --git a/src/main/java/org/bukkit/inventory/EntityEquipment.java b/src/main/java/org/bukkit/inventory/EntityEquipment.java +index f905bf7a28a42d8bd2aecd42030d2b2092696fc3..58cfd450973f56bfbdd20f9dca8c1e7455260a55 100644 +--- a/src/main/java/org/bukkit/inventory/EntityEquipment.java ++++ b/src/main/java/org/bukkit/inventory/EntityEquipment.java +@@ -405,4 +405,32 @@ public interface EntityEquipment { + */ + @Nullable + Entity getHolder(); ++ // Paper start ++ /** ++ * Gets the drop chance of specified slot. ++ * ++ * ++ * ++ * @param slot the slot to get the drop chance of ++ * @return the drop chance for the slot ++ */ ++ float getDropChance(@NotNull EquipmentSlot slot); ++ ++ /** ++ * Sets the drop chance of the specified slot. ++ * ++ * ++ * ++ * @param slot the slot to set the drop chance of ++ * @param chance the drop chance for the slot ++ * @throws UnsupportedOperationException when called on players ++ */ ++ void setDropChance(@NotNull EquipmentSlot slot, float chance); ++ // Paper end + } diff --git a/Spigot-Server-Patches/0709-add-get-set-drop-chance-to-EntityEquipment.patch b/Spigot-Server-Patches/0709-add-get-set-drop-chance-to-EntityEquipment.patch new file mode 100644 index 0000000000..c205b0e09c --- /dev/null +++ b/Spigot-Server-Patches/0709-add-get-set-drop-chance-to-EntityEquipment.patch @@ -0,0 +1,48 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jake Potrebic +Date: Thu, 22 Apr 2021 00:28:11 -0700 +Subject: [PATCH] add get-set drop chance to EntityEquipment + + +diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftEntityEquipment.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftEntityEquipment.java +index 27e0e2767b11195231055f64446afb7ae5e08988..064d8adb47404b0fb839cfa646dfe04f2a2eefb6 100644 +--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftEntityEquipment.java ++++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftEntityEquipment.java +@@ -245,6 +245,17 @@ public class CraftEntityEquipment implements EntityEquipment { + public void setBootsDropChance(float chance) { + setDropChance(EnumItemSlot.FEET, chance); + } ++ // Paper start ++ @Override ++ public float getDropChance(EquipmentSlot slot) { ++ return getDropChance(CraftEquipmentSlot.getNMS(slot)); ++ } ++ ++ @Override ++ public void setDropChance(EquipmentSlot slot, float chance) { ++ setDropChance(CraftEquipmentSlot.getNMS(slot), chance); ++ } ++ // Paper end + + private void setDropChance(EnumItemSlot slot, float chance) { + if (slot == EnumItemSlot.MAINHAND || slot == EnumItemSlot.OFFHAND) { +diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java +index b812e1af411dd7f4509620b6b49b7897603dc970..dacb8e127403ef5234d6bca62aa4a35431724e9e 100644 +--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java ++++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java +@@ -354,4 +354,15 @@ public class CraftInventoryPlayer extends CraftInventory implements org.bukkit.i + public void setBootsDropChance(float chance) { + throw new UnsupportedOperationException("Cannot set drop chance for PlayerInventory"); + } ++ // Paper start ++ @Override ++ public float getDropChance(EquipmentSlot slot) { ++ return 1; ++ } ++ ++ @Override ++ public void setDropChance(EquipmentSlot slot, float chance) { ++ throw new UnsupportedOperationException("Cannot set drop chance for PlayerInventory"); ++ } ++ // Paper end + }