18c3716c49
This enables us a fast reference to the entities current chunk instead of having to look it up by hashmap lookups. We also store counts by type to further enable other performance optimizations in later patches.
68 lines
2.3 KiB
Diff
68 lines
2.3 KiB
Diff
From b0fe7f64b1dfc8d800070d347cda11ea6f146773 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.18.0
|
|
|