diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/custom/CustomEcoEnchant.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/custom/CustomEcoEnchant.java index e0fb2afb..7f0ea5ef 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/custom/CustomEcoEnchant.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/custom/CustomEcoEnchant.java @@ -2,8 +2,10 @@ package com.willfp.ecoenchants.enchantments.custom; import com.willfp.eco.core.config.interfaces.Config; import com.willfp.ecoenchants.enchantments.EcoEnchant; +import com.willfp.ecoenchants.enchantments.EcoEnchants; import com.willfp.ecoenchants.enchantments.meta.EnchantmentTarget; import com.willfp.ecoenchants.enchantments.meta.EnchantmentType; +import org.bukkit.Bukkit; import org.jetbrains.annotations.NotNull; import java.util.HashMap; diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/support/merging/grindstone/GrindstoneListeners.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/support/merging/grindstone/GrindstoneListeners.java index 7d349469..ea800c32 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/support/merging/grindstone/GrindstoneListeners.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/support/merging/grindstone/GrindstoneListeners.java @@ -3,6 +3,7 @@ package com.willfp.ecoenchants.enchantments.support.merging.grindstone; import com.willfp.eco.core.EcoPlugin; import com.willfp.eco.core.PluginDependent; import com.willfp.eco.util.NumberUtils; +import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.EntityType; diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/support/merging/grindstone/GrindstoneMerge.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/support/merging/grindstone/GrindstoneMerge.java index b13f0d72..0c0d3a98 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/support/merging/grindstone/GrindstoneMerge.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/support/merging/grindstone/GrindstoneMerge.java @@ -1,7 +1,9 @@ package com.willfp.ecoenchants.enchantments.support.merging.grindstone; +import com.willfp.eco.core.fast.FastItemStack; import com.willfp.ecoenchants.enchantments.EcoEnchant; import lombok.experimental.UtilityClass; +import org.bukkit.Bukkit; import org.bukkit.enchantments.Enchantment; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.EnchantmentStorageMeta; @@ -22,27 +24,11 @@ public class GrindstoneMerge { */ public static Map doMerge(@Nullable final ItemStack top, @Nullable final ItemStack bottom) { - Map bottomEnchants = new HashMap<>(); - Map topEnchants = new HashMap<>(); + Map bottomEnchants = FastItemStack.wrap(bottom).getEnchants(true); + Map topEnchants = FastItemStack.wrap(top).getEnchants(true); Map toKeep = new HashMap<>(); - if (top != null) { - if (top.getItemMeta() instanceof EnchantmentStorageMeta) { - topEnchants = new HashMap<>(((EnchantmentStorageMeta) top.getItemMeta()).getStoredEnchants()); - } else { - topEnchants = new HashMap<>(top.getEnchantments()); - } - } - - if (bottom != null) { - if (bottom.getItemMeta() instanceof EnchantmentStorageMeta) { - bottomEnchants = new HashMap<>(((EnchantmentStorageMeta) bottom.getItemMeta()).getStoredEnchants()); - } else { - bottomEnchants = new HashMap<>(bottom.getEnchantments()); - } - } - bottomEnchants.forEach(((enchantment, integer) -> { if (enchantment instanceof EcoEnchant ecoEnchant) { if (!ecoEnchant.isGrindstoneable()) {