fix from rebase

This commit is contained in:
alexcrea 2026-05-23 18:30:14 +02:00
parent 38cf25ef1a
commit 109ef0c5df
Signed by: alexcrea
GPG key ID: E59DF23EE2A2266C
3 changed files with 16 additions and 10 deletions

View file

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

View file

@ -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
}
}

View file

@ -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<CASuperEnchantEnchantment>()
constructor(plugin: Plugin) : super(plugin) {
this.plugin = plugin as SuperEnchants
}
fun registerEnchantments(): Boolean{
CustomAnvil.instance.logger.info("Preparing Super Enchant compatibility...")