mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-22 22:45:31 +01:00
Add get-set drop chance to EntityEquipment (#5528)
This commit is contained in:
parent
33fb8cf63c
commit
86d684ad19
2 changed files with 91 additions and 0 deletions
|
@ -0,0 +1,43 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
||||
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
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
||||
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
|
||||
}
|
Loading…
Reference in a new issue