From 95cb3da5a69aa89cc552cf83a94d4eeff8cb2625 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 d5b90069c..c7db9bd39 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java @@ -249,4 +249,54 @@ 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 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.21.0