From 39fc6902acd8e3e984d6deeda9e0b768961599f6 Mon Sep 17 00:00:00 2001 From: drXor Date: Fri, 15 Aug 2014 18:11:09 -0400 Subject: [PATCH] Remove uneeded validation diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java index 29f7d5835e..912eb44d4f 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -307,7 +307,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.customModelData = meta.customModelData; this.blockData = meta.blockData; - if (meta.hasEnchants()) { + if (meta.enchantments != null) { // Spigot this.enchantments = new LinkedHashMap(meta.enchantments); } @@ -679,7 +679,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } static void applyEnchantments(Map enchantments, NBTTagCompound tag, ItemMetaKey key) { - if (enchantments == null || enchantments.size() == 0) { + if (enchantments == null /*|| enchantments.size() == 0*/) { // Spigot - remove size check return; } @@ -828,7 +828,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public boolean removeEnchant(Enchantment ench) { Preconditions.checkArgument(ench != null, "Enchantment cannot be null"); - return hasEnchants() && enchantments.remove(ench) != null; + // Spigot start + boolean b = hasEnchants() && enchantments.remove( ench ) != null; + if ( enchantments != null && enchantments.isEmpty() ) + { + this.enchantments = null; + } + return b; + // Spigot end } @Override -- 2.42.0