SPIGOT-6921, #1330: Add methods to remove all enchantments on an ItemStack

This commit is contained in:
Nothixal 2024-01-16 07:38:55 +11:00 committed by md_5
parent 95bc1c4f52
commit c8b4da803d
No known key found for this signature in database
GPG Key ID: E8E901AC7C617C11
2 changed files with 12 additions and 0 deletions

View File

@ -273,6 +273,11 @@ public final class CraftItemStack extends ItemStack {
return level; return level;
} }
@Override
public void removeEnchantments() {
handle.getTag().remove(ENCHANTMENTS.NBT);
}
@Override @Override
public Map<Enchantment, Integer> getEnchantments() { public Map<Enchantment, Integer> getEnchantments() {
return getEnchantments(handle); return getEnchantments(handle);

View File

@ -834,6 +834,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
return enchantmentRemoved; return enchantmentRemoved;
} }
@Override
public void removeEnchantments() {
if (hasEnchants()) {
enchantments.clear();
}
}
@Override @Override
public boolean hasEnchants() { public boolean hasEnchants() {
return !(enchantments == null || enchantments.isEmpty()); return !(enchantments == null || enchantments.isEmpty());