From 7c857b3cb5f09b23cdf943fdd150389dc71f0bbe Mon Sep 17 00:00:00 2001 From: DelilahEve Date: Wed, 24 Aug 2022 12:12:33 -0400 Subject: [PATCH] fix durability calculation --- src/main/kotlin/io/delilaheve/util/ItemUtil.kt | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main/kotlin/io/delilaheve/util/ItemUtil.kt b/src/main/kotlin/io/delilaheve/util/ItemUtil.kt index d54b28c..3173ff9 100644 --- a/src/main/kotlin/io/delilaheve/util/ItemUtil.kt +++ b/src/main/kotlin/io/delilaheve/util/ItemUtil.kt @@ -2,7 +2,6 @@ package io.delilaheve.util import io.delilaheve.UnsafeEnchants import io.delilaheve.util.EnchantmentUtil.calculateValue -import io.delilaheve.util.ItemUtil.isBook import org.bukkit.Material.BOOK import org.bukkit.Material.ENCHANTED_BOOK import org.bukkit.enchantments.Enchantment @@ -100,12 +99,14 @@ object ItemUtil { second: ItemStack ) { (itemMeta as? Damageable)?.let { - val maxDurability = type.maxDurability.toInt() - val firstDurability = (first.itemMeta as? Damageable)?.damage ?: 0 - val secondDurability = (second.itemMeta as? Damageable)?.damage ?: 0 - var newDurability = firstDurability + secondDurability - newDurability = min(maxDurability, newDurability) - it.damage = newDurability + val durability = type.maxDurability.toInt() + val firstDamage = (first.itemMeta as? Damageable)?.damage ?: 0 + val firstDurability = durability - firstDamage + val secondDamage = (second.itemMeta as? Damageable)?.damage ?: 0 + val secondDurability = durability - secondDamage + val combinedDurability = firstDurability + secondDurability + val newDurability = min(combinedDurability, durability) + it.damage = durability - newDurability itemMeta = it as ItemMeta } }