From 5f3eed08e28886205cc31b9174d9a8f3e2bec2c9 Mon Sep 17 00:00:00 2001 From: alexcrea <42614139+alexcrea@users.noreply.github.com> Date: Mon, 17 Mar 2025 10:00:31 +0100 Subject: [PATCH] multi line per line xp cost added --- .../alexcrea/cuanvil/util/AnvilLoreEditUtil.kt | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/kotlin/xyz/alexcrea/cuanvil/util/AnvilLoreEditUtil.kt b/src/main/kotlin/xyz/alexcrea/cuanvil/util/AnvilLoreEditUtil.kt index 49732cf..cbe0594 100644 --- a/src/main/kotlin/xyz/alexcrea/cuanvil/util/AnvilLoreEditUtil.kt +++ b/src/main/kotlin/xyz/alexcrea/cuanvil/util/AnvilLoreEditUtil.kt @@ -30,18 +30,20 @@ object AnvilLoreEditUtil { if (!hasLoreEditByBookPermission(player)) return null val result = first.clone() - val meta = result.itemMeta - val lore = if (meta?.hasLore() == true) { + val meta = result.itemMeta?: return null + val lore = if (meta.hasLore()) { ArrayList(meta.lore!!) } else ArrayList() //TODO check color if color if enabled - lore.addAll(book.pages[0].split("\n")) + val lines = book.pages[0].split("\n") + lore.addAll(lines) - meta?.lore = lore + meta.lore = lore result.itemMeta = meta // Handle other xp + xpCost.addAndGet(lines.size * LoreEditType.APPEND_BOOK.perLineCost) xpCost.addAndGet(baseEditLoreXpCost(first, result, LoreEditType.APPEND_BOOK)) return result @@ -52,11 +54,14 @@ object AnvilLoreEditUtil { // remove lore val result = first.clone() - val leftMeta = result.itemMeta!! + val leftMeta = result.itemMeta?: return null + val currentLore = leftMeta.lore?: return null + leftMeta.lore = null result.itemMeta = leftMeta // Handle other xp + xpCost.addAndGet(currentLore.size * LoreEditType.REMOVE_BOOK.perLineCost) xpCost.addAndGet(baseEditLoreXpCost(first, result, LoreEditType.REMOVE_BOOK)) return result