From c8b4da803da8e38d3971651abd71af6c131ee9ad Mon Sep 17 00:00:00 2001 From: Nothixal Date: Tue, 16 Jan 2024 07:38:55 +1100 Subject: [PATCH] SPIGOT-6921, #1330: Add methods to remove all enchantments on an ItemStack --- .../org/bukkit/craftbukkit/inventory/CraftItemStack.java | 5 +++++ .../org/bukkit/craftbukkit/inventory/CraftMetaItem.java | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java index c8ef90931..bc1f7fefa 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -273,6 +273,11 @@ public final class CraftItemStack extends ItemStack { return level; } + @Override + public void removeEnchantments() { + handle.getTag().remove(ENCHANTMENTS.NBT); + } + @Override public Map getEnchantments() { return getEnchantments(handle); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java index 16b17c5a6..024631bda 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -834,6 +834,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return enchantmentRemoved; } + @Override + public void removeEnchantments() { + if (hasEnchants()) { + enchantments.clear(); + } + } + @Override public boolean hasEnchants() { return !(enchantments == null || enchantments.isEmpty());