diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/recipe/RecipeEventListener.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/recipe/RecipeEventListener.java index 68315e3a2..2cdc5b1dc 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/recipe/RecipeEventListener.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/recipe/RecipeEventListener.java @@ -514,10 +514,9 @@ public class RecipeEventListener implements Listener { Item wrappedFirst = BukkitItemManager.instance().wrap(first); int maxDamage = wrappedFirst.maxDamage().orElse(0); - // not a repairable item - if (maxDamage == 0) return; - int damage = wrappedFirst.damage().orElse(0); + // not a repairable item + if (damage == 0 || maxDamage == 0) return; Key firstId = wrappedFirst.id(); Optional> optionalCustomTool = wrappedFirst.getCustomItem(); @@ -554,7 +553,7 @@ public class RecipeEventListener implements Listener { boolean hasResult = true; int realDurabilityPerItem = (int) (repairItem.amount() + repairItem.percent() * maxDamage); - int consumeMaxAmount = damage == 0 ? 0 : damage / realDurabilityPerItem + 1; + int consumeMaxAmount = damage / realDurabilityPerItem + 1; int actualConsumedAmount = Math.min(consumeMaxAmount, wrappedSecond.count()); int actualRepairAmount = actualConsumedAmount * realDurabilityPerItem; int damageAfter = Math.max(damage - actualRepairAmount, 0);