fix enchantment squared once again

This commit is contained in:
alexcrea 2025-03-22 13:42:40 +01:00
parent fd7e7684d9
commit 7f15e0eb55
No known key found for this signature in database
GPG key ID: 43FD265DB0DBF91F

View file

@ -6,7 +6,6 @@ import io.delilaheve.util.ItemUtil.canMergeWith
import io.delilaheve.util.ItemUtil.unitRepair import io.delilaheve.util.ItemUtil.unitRepair
import org.bukkit.GameMode import org.bukkit.GameMode
import org.bukkit.Material import org.bukkit.Material
import org.bukkit.entity.HumanEntity
import org.bukkit.entity.Player import org.bukkit.entity.Player
import org.bukkit.event.Event import org.bukkit.event.Event
import org.bukkit.event.EventHandler import org.bukkit.event.EventHandler
@ -31,7 +30,6 @@ import xyz.alexcrea.cuanvil.util.config.LoreEditConfigUtil
import xyz.alexcrea.cuanvil.util.config.LoreEditType import xyz.alexcrea.cuanvil.util.config.LoreEditType
import java.util.* import java.util.*
import java.util.concurrent.atomic.AtomicInteger import java.util.concurrent.atomic.AtomicInteger
import kotlin.collections.ArrayList
import kotlin.math.min import kotlin.math.min
class AnvilResultListener : Listener { class AnvilResultListener : Listener {
@ -316,12 +314,12 @@ class AnvilResultListener : Listener {
player: Player, player: Player,
inventory: AnvilInventory, inventory: AnvilInventory,
): Int { ): Int {
if(GameMode.CREATIVE == player.gameMode) return 0 if (GameMode.CREATIVE == player.gameMode) return 0
val repairCost = xpCost.get() val repairCost = xpCost.get()
return if ((inventory.maximumRepairCost <= repairCost) return if ((inventory.maximumRepairCost <= repairCost)
|| (player.level < repairCost)) Int.MIN_VALUE || (player.level < repairCost)
) Int.MIN_VALUE
else repairCost else repairCost
} }
@ -364,10 +362,10 @@ class AnvilResultListener : Listener {
// fill book meta // fill book meta
val meta = leftItem.itemMeta val meta = leftItem.itemMeta
if (meta == null || !meta.hasLore()) return false if (meta == null || !meta.hasLore()) return false
val lore = ArrayList<String>(meta.lore!!) val lore = DependencyManager.stripLore(leftItem)
if (lore.isEmpty()) return false if (lore.isEmpty()) return false
val rightCopy : ItemStack? val rightCopy: ItemStack?
if (LoreEditType.REMOVE_BOOK.doConsume) { if (LoreEditType.REMOVE_BOOK.doConsume) {
rightCopy = null rightCopy = null
} else { } else {
@ -445,14 +443,14 @@ class AnvilResultListener : Listener {
val leftMeta = leftItem.itemMeta val leftMeta = leftItem.itemMeta
if (leftMeta == null || !leftMeta.hasLore()) return false if (leftMeta == null || !leftMeta.hasLore()) return false
val lore = leftMeta.lore!! val lore = DependencyManager.stripLore(leftItem)
if (lore.isEmpty()) return false if (lore.isEmpty()) return false
// Create result item // Create result item
val rightClone: ItemStack? val rightClone: ItemStack?
if(LoreEditType.REMOVE_PAPER.doConsume){ if (LoreEditType.REMOVE_PAPER.doConsume) {
rightClone = null rightClone = null
}else{ } else {
val removeEnd = LoreEditConfigUtil.paperLoreOrderIsEnd val removeEnd = LoreEditConfigUtil.paperLoreOrderIsEnd
var line = if (removeEnd) lore[lore.size - 1] var line = if (removeEnd) lore[lore.size - 1]
else lore[0] else lore[0]