Preserve empty enchantment tags for glow effect
Adapted from Spigot commit cc9a1a417f1ac95a7957db8636e31c8fc2baf4e9.
This commit is contained in:
parent
465ec3fb42
commit
57d7ef433c
@ -304,7 +304,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
|
|||||||
this.customModelData = meta.customModelData;
|
this.customModelData = meta.customModelData;
|
||||||
this.blockData = meta.blockData;
|
this.blockData = meta.blockData;
|
||||||
|
|
||||||
if (meta.hasEnchants()) {
|
if (meta.enchantments != null) {
|
||||||
this.enchantments = new LinkedHashMap<Enchantment, Integer>(meta.enchantments);
|
this.enchantments = new LinkedHashMap<Enchantment, Integer>(meta.enchantments);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -676,7 +676,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void applyEnchantments(Map<Enchantment, Integer> enchantments, NBTTagCompound tag, ItemMetaKey key) {
|
static void applyEnchantments(Map<Enchantment, Integer> enchantments, NBTTagCompound tag, ItemMetaKey key) {
|
||||||
if (enchantments == null || enchantments.size() == 0) {
|
if (enchantments == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -825,7 +825,12 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
|
|||||||
@Override
|
@Override
|
||||||
public boolean removeEnchant(Enchantment ench) {
|
public boolean removeEnchant(Enchantment ench) {
|
||||||
Preconditions.checkArgument(ench != null, "Enchantment cannot be null");
|
Preconditions.checkArgument(ench != null, "Enchantment cannot be null");
|
||||||
return hasEnchants() && enchantments.remove(ench) != null;
|
boolean enchantmentRemoved = hasEnchants() && enchantments.remove(ench) != null;
|
||||||
|
// If we no longer have any enchantments, then clear enchantment tag
|
||||||
|
if (enchantmentRemoved && enchantments.isEmpty()) {
|
||||||
|
enchantments = null;
|
||||||
|
}
|
||||||
|
return enchantmentRemoved;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user