diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/util/ItemConversions.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/util/ItemConversions.java index a4a335cf..644b9840 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/util/ItemConversions.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/util/ItemConversions.java @@ -8,7 +8,9 @@ import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchants; import com.willfp.ecoenchants.enchantments.meta.EnchantmentTarget; import org.bukkit.ChatColor; +import org.bukkit.Material; import org.bukkit.enchantments.Enchantment; +import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.inventory.InventoryOpenEvent; @@ -260,10 +262,11 @@ public class ItemConversions extends PluginDependent implements Liste ItemStack itemStack = event.getPlayer().getInventory().getItem(event.getNewSlot()); - clampItemLevels(itemStack); + clampItemLevels(itemStack, event.getPlayer()); } - private void clampItemLevels(@Nullable final ItemStack itemStack) { + private void clampItemLevels(@Nullable final ItemStack itemStack, + @NotNull final Player player) { if (itemStack == null) { return; } @@ -294,5 +297,11 @@ public class ItemConversions extends PluginDependent implements Liste } itemStack.setItemMeta(meta); + + if (this.getPlugin().getConfigYml().getBool("advanced.level-clamp.delete-item")) { + itemStack.setType(Material.AIR); + itemStack.setItemMeta(new ItemStack(Material.AIR).getItemMeta()); + this.getPlugin().getLogger().warning(player.getName() + " has/had an illegal item!"); + } } } diff --git a/eco-core/core-plugin/src/main/resources/config.yml b/eco-core/core-plugin/src/main/resources/config.yml index 19751835..581a3ee1 100644 --- a/eco-core/core-plugin/src/main/resources/config.yml +++ b/eco-core/core-plugin/src/main/resources/config.yml @@ -141,4 +141,6 @@ advanced: # When holding an item, any enchantments above their max level will be set to the max level in order to prevent illegal items. # Players with ecoenchants.bypasslevelclamp permission will be ignored. # This may impact performance. - enabled: false \ No newline at end of file + enabled: false + # If the item should be deleted rather than have the enchantment level capped. + delete-item: false \ No newline at end of file