From 7eb30589fa7eb4124df2f0f6297a0e1a044f8a1f Mon Sep 17 00:00:00 2001 From: Auxilor Date: Thu, 29 Oct 2020 13:04:22 +0000 Subject: [PATCH] Fixed disabled enchantments --- .../ecoenchants/display/EnchantDisplay.java | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/display/EnchantDisplay.java b/Plugin/src/main/java/com/willfp/ecoenchants/display/EnchantDisplay.java index c7b28fa3..da5ce1fe 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/display/EnchantDisplay.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/display/EnchantDisplay.java @@ -256,18 +256,28 @@ public final class EnchantDisplay { enchantments = meta.getEnchants(); } + enchantments.forEach((enchantment, level) -> { + if(EcoEnchants.getFromEnchantment(enchantment) == null) return; + + EcoEnchant ecoEnchant = EcoEnchants.getFromEnchantment(enchantment); + + if(!ecoEnchant.isEnabled()) + forRemoval.add(enchantment); + }); + + forRemoval.forEach(enchantments::remove); + if(meta instanceof EnchantmentStorageMeta) { + forRemoval.forEach(((EnchantmentStorageMeta) meta)::removeStoredEnchant); + } else { + forRemoval.forEach(meta::removeEnchant); + } + final ItemStack finalItem = item; enchantments.forEach((enchantment, level) -> { - boolean isEcoEnchant = EcoEnchants.getFromEnchantment(enchantment) != null; - if(CACHE.get(enchantment) == null) return; String name = CACHE.get(enchantment).getKey(); - if(isEcoEnchant) { - if(!EcoEnchants.getFromEnchantment(enchantment).isEnabled()) forRemoval.add(enchantment); - } - if(!(enchantment.getMaxLevel() == 1 && level == 1)) { if(useNumerals && finalItem.getEnchantmentLevel(enchantment) < numbersThreshold) { name += " " + NumberUtils.toNumeral(level); @@ -300,9 +310,6 @@ public final class EnchantDisplay { if (meta instanceof EnchantmentStorageMeta) { meta.addItemFlags(ItemFlag.HIDE_POTION_EFFECTS); - forRemoval.forEach(((EnchantmentStorageMeta) meta)::removeStoredEnchant); - } else { - forRemoval.forEach(meta::removeEnchant); } meta.addItemFlags(ItemFlag.HIDE_ENCHANTS); lore.addAll(itemLore);