From d880c248bf32a433e3677a47fcaa8b81811d74d1 Mon Sep 17 00:00:00 2001 From: Riley Park Date: Sat, 26 Mar 2016 22:23:42 -0700 Subject: [PATCH] Access items by EquipmentSlot --- .../Access-items-by-EquipmentSlot.patch | 34 ++++++++++ .../Access-items-by-EquipmentSlot.patch | 66 +++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100644 Spigot-API-Patches/Access-items-by-EquipmentSlot.patch create mode 100644 Spigot-Server-Patches/Access-items-by-EquipmentSlot.patch diff --git a/Spigot-API-Patches/Access-items-by-EquipmentSlot.patch b/Spigot-API-Patches/Access-items-by-EquipmentSlot.patch new file mode 100644 index 0000000000..89b54ed8a7 --- /dev/null +++ b/Spigot-API-Patches/Access-items-by-EquipmentSlot.patch @@ -0,0 +1,34 @@ +From 0000000000000000000000000000000000000000 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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/inventory/PlayerInventory.java ++++ b/src/main/java/org/bukkit/inventory/PlayerInventory.java +@@ -0,0 +0,0 @@ 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 + } +-- \ No newline at end of file diff --git a/Spigot-Server-Patches/Access-items-by-EquipmentSlot.patch b/Spigot-Server-Patches/Access-items-by-EquipmentSlot.patch new file mode 100644 index 0000000000..9db5d62370 --- /dev/null +++ b/Spigot-Server-Patches/Access-items-by-EquipmentSlot.patch @@ -0,0 +1,66 @@ +From 0000000000000000000000000000000000000000 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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java ++++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java +@@ -0,0 +0,0 @@ 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 + } +-- \ No newline at end of file