This commit is contained in:
2025-08-07 22:15:47 +02:00
parent 5ac50be528
commit 02549c568a
2 changed files with 5 additions and 28 deletions

View File

@@ -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)
{

View File

@@ -1,4 +1,4 @@
name: SuperBow
version: '1.0'
version: '1.1'
main: com.kasetoatz.superBow.SuperBow
api-version: '1.21'