From 109ef0c5dfded1f5879b81b9ee21b7ef987cee88 Mon Sep 17 00:00:00 2001 From: alexcrea Date: Sat, 23 May 2026 18:30:14 +0200 Subject: [PATCH] fix from rebase --- src/main/kotlin/io/delilaheve/util/ItemUtil.kt | 5 +++-- .../cuanvil/dependency/DependencyManager.kt | 13 ++++++------- .../dependency/plugins/SuperEnchantDependency.kt | 8 +++++++- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/main/kotlin/io/delilaheve/util/ItemUtil.kt b/src/main/kotlin/io/delilaheve/util/ItemUtil.kt index 02c8475e..691e84b1 100644 --- a/src/main/kotlin/io/delilaheve/util/ItemUtil.kt +++ b/src/main/kotlin/io/delilaheve/util/ItemUtil.kt @@ -5,8 +5,8 @@ import org.bukkit.Material.ENCHANTED_BOOK import org.bukkit.inventory.ItemStack import org.bukkit.inventory.meta.Damageable import xyz.alexcrea.cuanvil.update.UpdateUtils +import xyz.alexcrea.cuanvil.enchant.CAEnchantment import xyz.alexcrea.cuanvil.util.MaterialUtil.customType -import xyz.alexcrea.cuanvil.util.MaxDamageCheckerUtil import kotlin.math.ceil import kotlin.math.max import kotlin.math.min @@ -25,7 +25,7 @@ object ItemUtil { val ver = UpdateUtils.currentMinecraftVersion() if(ver.major <= 1 && ver.minor <= 20 && ver.patch < 5) return type.maxDurability.toInt() - return MaxDamageCheckerUtil.getMaxDamage(type, damageable) + return if(damageable.hasMaxDamage()) damageable.maxDamage else type.maxDurability.toInt() } /** @@ -49,6 +49,7 @@ object ItemUtil { val secondDurability = maxDamage - secondDamage val combinedDurability = firstDurability + secondDurability val newDurability = min(combinedDurability, maxDamage) + val maxDamage = if(it.hasMaxDamage()) it.maxDamage else Int.MAX_VALUE meta.damage = min(maxDamage - newDurability, maxDamage) this.itemMeta = meta diff --git a/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/DependencyManager.kt b/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/DependencyManager.kt index 481b16ad..7a473c89 100644 --- a/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/DependencyManager.kt +++ b/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/DependencyManager.kt @@ -1,6 +1,5 @@ package xyz.alexcrea.cuanvil.dependency -import com.maddoxh.superEnchants.SuperEnchants import io.delilaheve.CustomAnvil import net.kyori.adventure.text.Component import org.bukkit.Bukkit @@ -119,7 +118,7 @@ object DependencyManager { genericDependencies.add(GenericPluginDependency(pluginManager.getPlugin("ItemsAdder")!!)) if (pluginManager.isPluginEnabled("SuperEnchants")) { - val compatibility = SuperEnchantDependency(pluginManager.getPlugin("SuperEnchants")!! as SuperEnchants) + val compatibility = SuperEnchantDependency(pluginManager.getPlugin("SuperEnchants")!!) if (compatibility.registerEnchantments()) genericDependencies.add(compatibility) } @@ -170,11 +169,11 @@ object DependencyManager { ) } - private fun logExceptionAndClear(target: CommandSender, view: AnvilView, e: Exception) { + private fun logExceptionAndClear(view: AnvilView, e: Exception) { // Just in case to avoid illegal items view.setItem(ANVIL_OUTPUT_SLOT, null) - logException(target, e) + logException(view.player, e) } // Return true if should bypass (either by a dependency or error) @@ -183,7 +182,7 @@ object DependencyManager { try { return earlyUnsafeTryEventPreAnvilBypass(event, player) } catch (e: Exception) { - logExceptionAndClear(event.view.player, event.view, e) + logExceptionAndClear(event.view, e) return true } } @@ -209,7 +208,7 @@ object DependencyManager { try { return unsafeTryEventPreAnvilBypass(event, player) } catch (e: Exception) { - logExceptionAndClear(event.view.player, event.view, e) + logExceptionAndClear(event.view, e) return true } } @@ -267,7 +266,7 @@ object DependencyManager { try { return unsafeTryClickAnvilResultBypass(event, view) } catch (e: Exception) { - logExceptionAndClear(event.view.player, event.view, e) + logExceptionAndClear(view, e) return true } } diff --git a/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/plugins/SuperEnchantDependency.kt b/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/plugins/SuperEnchantDependency.kt index 11622f92..8676b4cd 100644 --- a/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/plugins/SuperEnchantDependency.kt +++ b/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/plugins/SuperEnchantDependency.kt @@ -8,17 +8,23 @@ import org.bukkit.command.Command import org.bukkit.command.CommandExecutor import org.bukkit.command.CommandSender import org.bukkit.event.inventory.InventoryClickEvent +import org.bukkit.plugin.Plugin import org.bukkit.plugin.RegisteredListener import xyz.alexcrea.cuanvil.api.EnchantmentApi import xyz.alexcrea.cuanvil.enchant.bulk.SuperEnchantBulkOperation import xyz.alexcrea.cuanvil.enchant.wrapped.CASuperEnchantEnchantment import java.util.logging.Level -class SuperEnchantDependency(override val plugin: SuperEnchants): GenericPluginDependency(plugin, false) { +class SuperEnchantDependency: GenericPluginDependency { + override val plugin: SuperEnchants lateinit var enchManager: EnchantManager val enchantments = ArrayList() + constructor(plugin: Plugin) : super(plugin) { + this.plugin = plugin as SuperEnchants + } + fun registerEnchantments(): Boolean{ CustomAnvil.instance.logger.info("Preparing Super Enchant compatibility...")