aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJake Potrebic <[email protected]>2021-04-23 03:11:28 -0700
committerGitHub <[email protected]>2021-04-23 10:11:28 +0000
commit86d684ad19f14f88ce29712bbfd4a7a0d3421b7f (patch)
tree776b87451964c15bf196f27b6591022b8979180e
parent33fb8cf63ccfa2107bc212142838da1e60a2913f (diff)
downloadPaper-86d684ad19f14f88ce29712bbfd4a7a0d3421b7f.tar.gz
Paper-86d684ad19f14f88ce29712bbfd4a7a0d3421b7f.zip
Add get-set drop chance to EntityEquipment (#5528)
-rw-r--r--Spigot-API-Patches/0287-add-get-set-drop-chance-to-EntityEquipment.patch43
-rw-r--r--Spigot-Server-Patches/0709-add-get-set-drop-chance-to-EntityEquipment.patch48
2 files changed, 91 insertions, 0 deletions
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 <[email protected]>
+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.
++ *
++ * <ul>
++ * <li>A drop chance of 0.0F will never drop
++ * <li>A drop chance of 1.0F will always drop
++ * </ul>
++ *
++ * @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.
++ *
++ * <ul>
++ * <li>A drop chance of 0.0F will never drop
++ * <li>A drop chance of 1.0F will always drop
++ * </ul>
++ *
++ * @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 <[email protected]>
+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
+ }