From eeb64630cd69bd1591487bd3d9c6861a160c5dbd Mon Sep 17 00:00:00 2001 From: kashike Date: Sat, 26 Mar 2016 22:23:42 -0700 Subject: [PATCH] Access items by EquipmentSlot --- .../0028-Access-items-by-EquipmentSlot.patch | 36 ++++++++++ .../0112-Access-items-by-EquipmentSlot.patch | 68 +++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 Spigot-API-Patches/0028-Access-items-by-EquipmentSlot.patch create mode 100644 Spigot-Server-Patches/0112-Access-items-by-EquipmentSlot.patch diff --git a/Spigot-API-Patches/0028-Access-items-by-EquipmentSlot.patch b/Spigot-API-Patches/0028-Access-items-by-EquipmentSlot.patch new file mode 100644 index 0000000000..50ce81d309 --- /dev/null +++ b/Spigot-API-Patches/0028-Access-items-by-EquipmentSlot.patch @@ -0,0 +1,36 @@ +From df17741c376cfdac8301e64a9dc9a956e75ae5f1 Mon Sep 17 00:00:00 2001 +From: Jedediah Smith +Date: Sun, 20 Mar 2016 06:44:49 -0400 +Subject: [PATCH] Access items by EquipmentSlot + + +diff --git a/src/main/java/org/bukkit/inventory/PlayerInventory.java b/src/main/java/org/bukkit/inventory/PlayerInventory.java +index 557cc04..799f150 100644 +--- a/src/main/java/org/bukkit/inventory/PlayerInventory.java ++++ b/src/main/java/org/bukkit/inventory/PlayerInventory.java +@@ -211,4 +211,22 @@ public interface PlayerInventory extends Inventory { + public int clear(int id, int data); + + public HumanEntity getHolder(); ++ ++ // Paper start ++ /** ++ * Gets the {@link ItemStack} found in the slot. ++ * ++ * @param slot The slot ++ * @return The item stack in the slot ++ */ ++ ItemStack getItem(EquipmentSlot slot); ++ ++ /** ++ * Sets the {@link ItemStack} at the given {@link EquipmentSlot}. ++ * ++ * @param slot The slot for the stack ++ * @param stack The item stack to set ++ */ ++ void setItem(EquipmentSlot slot, ItemStack stack); ++ // Paper end + } +-- +2.7.4 + diff --git a/Spigot-Server-Patches/0112-Access-items-by-EquipmentSlot.patch b/Spigot-Server-Patches/0112-Access-items-by-EquipmentSlot.patch new file mode 100644 index 0000000000..3b9b9849f4 --- /dev/null +++ b/Spigot-Server-Patches/0112-Access-items-by-EquipmentSlot.patch @@ -0,0 +1,68 @@ +From 05a7b0cbf7f16e5868a57af9417e646aa62f2870 Mon Sep 17 00:00:00 2001 +From: Jedediah Smith +Date: Sun, 20 Mar 2016 06:45:01 -0400 +Subject: [PATCH] Access items by EquipmentSlot + + +diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java +index 0902386..19662da 100644 +--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java ++++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java +@@ -268,4 +268,54 @@ public class CraftInventoryPlayer extends CraftInventory implements org.bukkit.i + public void setBootsDropChance(float chance) { + throw new UnsupportedOperationException(); + } ++ ++ // Paper start ++ @Override ++ public ItemStack getItem(org.bukkit.inventory.EquipmentSlot slot) { ++ Preconditions.checkNotNull(slot, "slot"); ++ switch (slot) { ++ case HAND: ++ return this.getItemInMainHand(); ++ case OFF_HAND: ++ return this.getItemInOffHand(); ++ case HEAD: ++ return this.getHelmet(); ++ case CHEST: ++ return this.getChestplate(); ++ case LEGS: ++ return this.getLeggings(); ++ case FEET: ++ return this.getBoots(); ++ } ++ ++ throw new UnsupportedOperationException(slot.name()); ++ } ++ ++ @Override ++ public void setItem(org.bukkit.inventory.EquipmentSlot slot, ItemStack stack) { ++ Preconditions.checkNotNull(slot, "slot"); ++ switch (slot) { ++ case HAND: ++ this.setItemInMainHand(stack); ++ return; ++ case OFF_HAND: ++ this.setItemInOffHand(stack); ++ return; ++ case HEAD: ++ this.setHelmet(stack); ++ return; ++ case CHEST: ++ this.setChestplate(stack); ++ return; ++ case LEGS: ++ this.setLeggings(stack); ++ return; ++ case FEET: ++ this.setBoots(stack); ++ return; ++ } ++ ++ throw new UnsupportedOperationException(slot.name()); ++ } ++ // Paper end + } +-- +2.7.4 +