Paper/Spigot-Server-Patches/0091-Access-items-by-EquipmentSlot.patch
Zach Brown 974b0afca9
Remove last bit of chunk exists region file fix
CraftBukkit removed their implementation that caused this issue,
switching to Mojang's implementation which doesn't appear to share it. I
already removed the important bit in the last upstream merge, this is
just unused and unnecessary now. So we remove it.
2017-04-29 05:27:31 -05:00

69 lines
2.3 KiB
Diff

From 9a9ff76273935fe0116ddb2fd757452542354c51 Mon Sep 17 00:00:00 2001
From: Jedediah Smith <jedediah@silencegreys.com>
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 67c54899d..3f58c34e0 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java
@@ -267,4 +267,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.2.windows.2