SPIGOT-3387: Prevent null enchantments in ItemMeta

This commit is contained in:
BlackHole 2017-06-28 18:37:22 +02:00 committed by md_5
parent 0481ae963a
commit d603539842

View File

@ -566,10 +566,12 @@ class CraftMetaItem implements ItemMeta, Repairable {
}
public boolean hasEnchant(Enchantment ench) {
Validate.notNull(ench, "Enchantment cannot be null");
return hasEnchants() && enchantments.containsKey(ench);
}
public int getEnchantLevel(Enchantment ench) {
Validate.notNull(ench, "Enchantment cannot be null");
Integer level = hasEnchants() ? enchantments.get(ench) : null;
if (level == null) {
return 0;
@ -582,6 +584,7 @@ class CraftMetaItem implements ItemMeta, Repairable {
}
public boolean addEnchant(Enchantment ench, int level, boolean ignoreRestrictions) {
Validate.notNull(ench, "Enchantment cannot be null");
if (enchantments == null) {
enchantments = new HashMap<Enchantment, Integer>(4);
}
@ -594,6 +597,7 @@ class CraftMetaItem implements ItemMeta, Repairable {
}
public boolean removeEnchant(Enchantment ench) {
Validate.notNull(ench, "Enchantment cannot be null");
return hasEnchants() && enchantments.remove(ench) != null;
}