From 753db7f2fcab38378875d1c5d4b369b74a562804 Mon Sep 17 00:00:00 2001 From: CraftBukkit/Spigot Date: Tue, 16 Jan 2024 07:38:55 +1100 Subject: [PATCH] SPIGOT-6921, #1330: Add methods to remove all enchantments on an ItemStack By: Nothixal --- .../org/bukkit/craftbukkit/inventory/CraftItemStack.java | 5 +++++ .../org/bukkit/craftbukkit/inventory/CraftMetaItem.java | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java index c8ef90931..bc1f7fefa 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/paper-server/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/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java index 16b17c5a6..024631bda 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/paper-server/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());