diff --git a/src/main/java/com/kasetoatz/superBow/SuperBow.java b/src/main/java/com/kasetoatz/superBow/SuperBow.java index 326b26c..d9ca5a3 100644 --- a/src/main/java/com/kasetoatz/superBow/SuperBow.java +++ b/src/main/java/com/kasetoatz/superBow/SuperBow.java @@ -118,29 +118,16 @@ public final class SuperBow extends JavaPlugin implements Listener return; } - boolean hasMending = left.containsEnchantment(Enchantment.MENDING) || right.containsEnchantment(Enchantment.MENDING); - boolean hasInfinity = left.containsEnchantment(Enchantment.INFINITY) || right.containsEnchantment(Enchantment.INFINITY); + boolean hasMending = getEnchants(left).containsKey(Enchantment.MENDING) || getEnchants(right).containsKey(Enchantment.MENDING); + boolean hasInfinity = getEnchants(left).containsKey(Enchantment.INFINITY) || getEnchants(right).containsKey(Enchantment.INFINITY); - boolean hasBookWithBoth = false; - if (right.getType() == Material.ENCHANTED_BOOK) - { - EnchantmentStorageMeta meta = (EnchantmentStorageMeta)right.getItemMeta(); - if (meta != null) - { - if (meta.hasStoredEnchant(Enchantment.MENDING) && meta.hasStoredEnchant(Enchantment.INFINITY)) - { - hasBookWithBoth = true; - } - } - } - - if ((hasMending && hasInfinity) || hasBookWithBoth) + if ((hasMending && hasInfinity)) { ItemStack result = left.clone(); boolean repair = false; + result.addUnsafeEnchantments(getEnchants(right)); if (right.getType() == Material.BOW) { - result.addUnsafeEnchantments(right.getEnchantments()); int maxDamage = result.getType().getMaxDurability(); Damageable leftMeta = (Damageable)left.getItemMeta(); Damageable rightMeta = (Damageable)right.getItemMeta(); @@ -151,22 +138,12 @@ public final class SuperBow extends JavaPlugin implements Listener } int leftDurability = maxDamage - leftMeta.getDamage(); int rightDurability = maxDamage - rightMeta.getDamage(); - int durability = Math.min(leftDurability + rightDurability, maxDamage); int damage = maxDamage - durability; repair = resultMeta.getDamage() != damage; resultMeta.setDamage(damage); result.setItemMeta(resultMeta); } - else if (hasBookWithBoth) - { - EnchantmentStorageMeta book = (EnchantmentStorageMeta)right.getItemMeta(); - if (book == null) - { - return; - } - result.addUnsafeEnchantments(book.getStoredEnchants()); - } ItemMeta meta = result.getItemMeta(); if (meta == null) { diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index d8f7afb..93a1c06 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,4 +1,4 @@ name: SuperBow -version: '1.0' +version: '1.1' main: com.kasetoatz.superBow.SuperBow api-version: '1.21'