fix durability calculation

This commit is contained in:
DelilahEve 2022-08-24 12:12:33 -04:00
parent af99913eae
commit 7c857b3cb5

View file

@ -2,7 +2,6 @@ package io.delilaheve.util
import io.delilaheve.UnsafeEnchants import io.delilaheve.UnsafeEnchants
import io.delilaheve.util.EnchantmentUtil.calculateValue import io.delilaheve.util.EnchantmentUtil.calculateValue
import io.delilaheve.util.ItemUtil.isBook
import org.bukkit.Material.BOOK import org.bukkit.Material.BOOK
import org.bukkit.Material.ENCHANTED_BOOK import org.bukkit.Material.ENCHANTED_BOOK
import org.bukkit.enchantments.Enchantment import org.bukkit.enchantments.Enchantment
@ -100,12 +99,14 @@ object ItemUtil {
second: ItemStack second: ItemStack
) { ) {
(itemMeta as? Damageable)?.let { (itemMeta as? Damageable)?.let {
val maxDurability = type.maxDurability.toInt() val durability = type.maxDurability.toInt()
val firstDurability = (first.itemMeta as? Damageable)?.damage ?: 0 val firstDamage = (first.itemMeta as? Damageable)?.damage ?: 0
val secondDurability = (second.itemMeta as? Damageable)?.damage ?: 0 val firstDurability = durability - firstDamage
var newDurability = firstDurability + secondDurability val secondDamage = (second.itemMeta as? Damageable)?.damage ?: 0
newDurability = min(maxDurability, newDurability) val secondDurability = durability - secondDamage
it.damage = newDurability val combinedDurability = firstDurability + secondDurability
val newDurability = min(combinedDurability, durability)
it.damage = durability - newDurability
itemMeta = it as ItemMeta itemMeta = it as ItemMeta
} }
} }