From 5e5214b56e304a9e26c3d5ce2c106e1fe3f2ac5b 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 d8c5364df..120ec897f 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java @@ -271,4 +271,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.12.0.windows.1