diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/util/EnchantmentUtils.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/util/EnchantmentUtils.java index ff4ac4ef0..ffa626173 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/util/EnchantmentUtils.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/util/EnchantmentUtils.java @@ -1,20 +1,19 @@ package net.momirealms.craftengine.bukkit.util; -import it.unimi.dsi.fastutil.objects.Object2IntMap; - import java.util.HashMap; import java.util.Map; -import java.util.Set; public class EnchantmentUtils { @SuppressWarnings("unchecked") public static Map toMap(Object itemEnchantments) throws ReflectiveOperationException { Map map = new HashMap<>(); - for (Object2IntMap.Entry entry : (Set>) Reflections.method$ItemEnchantments$entrySet.invoke(itemEnchantments)) { + Map enchantments = (Map) Reflections.field$ItemEnchantments$enchantments.get(itemEnchantments); + + for (Map.Entry entry : enchantments.entrySet()) { Object holder = entry.getKey(); String name = (String) Reflections.method$Holder$getRegisteredName.invoke(holder); - int level = entry.getIntValue(); + int level = entry.getValue(); map.put(name, level); } return map; diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/util/Reflections.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/util/Reflections.java index 9e624a7ef..bfb489c8d 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/util/Reflections.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/util/Reflections.java @@ -2995,16 +2995,11 @@ public class Reflections { public static final Class clazz$ItemEnchantments = ReflectionUtils.getClazz( - "world.item.enchantment.ItemEnchantments" + BukkitReflectionUtils.assembleMCClass( "world.item.enchantment.ItemEnchantments") ); - public static final Class clazz$Enchantment = - ReflectionUtils.getClazz( - "world.item.enchantment.Enchantment" - ); - - public static final Method method$ItemEnchantments$entrySet = Optional.ofNullable(clazz$ItemEnchantments) - .map(it -> ReflectionUtils.getMethod(it, new String[] {"entrySet"})) + public static final Field field$ItemEnchantments$enchantments = Optional.ofNullable(clazz$ItemEnchantments) + .map(it -> ReflectionUtils.getInstanceDeclaredField(it, 0)) .orElse(null); public static final Field field$Direction$data3d = requireNonNull(