diff --git a/src/main/java/net/Indyuce/mmoitems/comp/inventory/DefaultPlayerInventory.java b/src/main/java/net/Indyuce/mmoitems/comp/inventory/DefaultPlayerInventory.java index 3e4a7097..6c316002 100644 --- a/src/main/java/net/Indyuce/mmoitems/comp/inventory/DefaultPlayerInventory.java +++ b/src/main/java/net/Indyuce/mmoitems/comp/inventory/DefaultPlayerInventory.java @@ -20,15 +20,13 @@ public class DefaultPlayerInventory implements PlayerInventory { for (ItemStack armor : player.getInventory().getArmorContents()) list.add(new EquippedItem(armor, EquipmentSlot.ARMOR)); - if(MMOItems.plugin.getLanguage().iterateWholeInventory) + if (MMOItems.plugin.getLanguage().iterateWholeInventory) for (ItemStack item : player.getInventory().getContents()) { - if(item != null && NBTItem.get(item).hasType()) - if(NBTItem.get(item).getType().getEquipmentType() == EquipmentSlot.ANY) { - MMOItems.plugin.getLogger().info("Found: " + item.getType() + " with custom name: " + item.getItemMeta().getDisplayName()); - list.add(new EquippedItem(item, EquipmentSlot.ANY)); - } + NBTItem nbtItem; + if (item != null && (nbtItem = MMOItems.plugin.getNMS().getNBTItem(item)).hasType() && nbtItem.getType().getEquipmentType() == EquipmentSlot.ANY) + list.add(new EquippedItem(nbtItem, EquipmentSlot.ANY)); } - + return list; } } diff --git a/src/main/java/net/Indyuce/mmoitems/comp/inventory/PlayerInventory.java b/src/main/java/net/Indyuce/mmoitems/comp/inventory/PlayerInventory.java index 9cb7e342..6a991c21 100644 --- a/src/main/java/net/Indyuce/mmoitems/comp/inventory/PlayerInventory.java +++ b/src/main/java/net/Indyuce/mmoitems/comp/inventory/PlayerInventory.java @@ -14,20 +14,25 @@ public interface PlayerInventory { public List getInventory(Player player); public class EquippedItem { - private final ItemStack item; + private final NBTItem item; private final EquipmentSlot slot; public EquippedItem(ItemStack item, EquipmentSlot slot) { + this(MMOItems.plugin.getNMS().getNBTItem(item), slot); + } + + public EquippedItem(NBTItem item, EquipmentSlot slot) { this.item = item; this.slot = slot; } public NBTItem newNBTItem() { - return MMOItems.plugin.getNMS().getNBTItem(item); + return item; } public boolean matches(Type type) { - return slot == EquipmentSlot.ANY || (type.getEquipmentType() == EquipmentSlot.BOTH_HANDS ? slot.isHand() : slot == EquipmentSlot.BOTH_HANDS ? type.getEquipmentType().isHand() : slot == type.getEquipmentType()); + return slot == EquipmentSlot.ANY + || (type.getEquipmentType() == EquipmentSlot.BOTH_HANDS ? slot.isHand() : slot == EquipmentSlot.BOTH_HANDS ? type.getEquipmentType().isHand() : slot == type.getEquipmentType()); } } }