aboutsummaryrefslogtreecommitdiffhomepage
path: root/Spigot-Server-Patches/0081-Access-items-by-EquipmentSlot.patch
blob: 6229aabfecb8e32d72994d6f61a1fb4880abaa3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
From 328a66aaf0b160765b9bb444a220a78a3cc9ca06 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 2273f213cb..60446f2478 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java
@@ -250,4 +250,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.20.1