From 0e72e9fc2b771664c1279f4ae7ab7412c31feba8 Mon Sep 17 00:00:00 2001 From: Exanthiax <107284021+Exanthiax@users.noreply.github.com> Date: Sun, 27 Sep 2026 13:53:16 +0100 Subject: [PATCH 1/3] feat: component talisman lore --- .../talismans/display/TalismanDisplay.kt | 59 ++++++------------- 1 file changed, 19 insertions(+), 40 deletions(-) diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/talismans/display/TalismanDisplay.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/talismans/display/TalismanDisplay.kt index d45aa32..8445246 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/talismans/display/TalismanDisplay.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/talismans/display/TalismanDisplay.kt @@ -1,64 +1,43 @@ package com.willfp.talismans.display -import com.willfp.eco.core.display.Display +import com.willfp.eco.core.display.DisplayContext import com.willfp.eco.core.display.DisplayModule import com.willfp.eco.core.display.DisplayPriority -import com.willfp.eco.core.placeholder.context.placeholderContext +import com.willfp.eco.core.fast.fast import com.willfp.eco.util.formatEco +import com.willfp.eco.util.formatEcoRich import com.willfp.libreforge.ItemProvidedHolder import com.willfp.talismans.plugin import com.willfp.talismans.talismans.util.TalismanChecks import com.willfp.talismans.talismans.util.TalismanUtils -import org.bukkit.entity.Player -import org.bukkit.inventory.ItemStack +import net.kyori.adventure.text.Component -@Suppress("DEPRECATION") object TalismanDisplay : DisplayModule(plugin, DisplayPriority.LOWEST) { - override fun display( - itemStack: ItemStack, - player: Player?, - vararg args: Any - ) { + override fun display(context: DisplayContext) { + val itemStack = context.itemStack + if (!TalismanUtils.isTalismanMaterial(itemStack.type)) { return } - val meta = itemStack.itemMeta ?: return - val itemLore = meta.lore ?: mutableListOf() + if (!itemStack.hasItemMeta()) { + return + } val talisman = TalismanChecks.getTalismanOnItem(itemStack) ?: return + val fis = itemStack.fast() - val placeholderContext = placeholderContext( - player = player, - item = itemStack - ) - - meta.setDisplayName(talisman.name.formatEco(placeholderContext)) + fis.displayName = talisman.name.formatEco(context.placeholderContext) - if (talisman.itemStack.itemMeta?.hasCustomModelData() == true) { - meta.setCustomModelData(talisman.itemStack.itemMeta?.customModelData) - } - - val lore = mutableListOf() + talisman.itemStack.fast().customModelData?.let { fis.customModelData = it } - lore.addAll( - talisman.description - .map { Display.PREFIX + it.formatEco(placeholderContext) } - ) + context.lore.prepend(talisman.description.formatEcoRich(context.placeholderContext)) - lore.addAll(itemLore) + val player = context.player ?: return + val lines = ItemProvidedHolder(talisman, itemStack).getNotMetLineComponents(player) - if (player != null) { - val provided = ItemProvidedHolder(talisman, itemStack) - val lines = provided.getNotMetLines(player).map { Display.PREFIX + it } - - if (lines.isNotEmpty()) { - lore.add(Display.PREFIX) - lore.addAll(lines) - } + if (lines.isNotEmpty()) { + context.lore.append(listOf(Component.empty()) + lines) } - - meta.lore = lore - itemStack.itemMeta = meta } -} \ No newline at end of file +} From c473c0e6783cd183ffe5ebe29de0ab59681f06d3 Mon Sep 17 00:00:00 2001 From: Exanthiax <107284021+Exanthiax@users.noreply.github.com> Date: Sun, 27 Sep 2026 14:38:14 +0100 Subject: [PATCH 2/3] docs: text formatting tip --- ecohub/talismans/how-to-make-a-custom-talisman.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ecohub/talismans/how-to-make-a-custom-talisman.md b/ecohub/talismans/how-to-make-a-custom-talisman.md index 0e3ca9d..722b123 100644 --- a/ecohub/talismans/how-to-make-a-custom-talisman.md +++ b/ecohub/talismans/how-to-make-a-custom-talisman.md @@ -81,6 +81,10 @@ description: # Lore lines shown on the item - "&8Deal 10% more damage with bows" ``` +:::tip +Lore supports MiniMessage, including sprites such as `` on 1.21.9 and newer. See [Text Formatting](https://hub.auxilor.io/wiki/eco/text-formatting). +::: + ### Leveling Stack levels of the same talisman so only the strongest one a player holds counts. From 1fc42f8f195fc65ad32899d02267f65295461ef0 Mon Sep 17 00:00:00 2001 From: Exanthiax <107284021+Exanthiax@users.noreply.github.com> Date: Sun, 27 Sep 2026 14:38:15 +0100 Subject: [PATCH 3/3] chore: bump eco api version --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 78b7f17..679a9f8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ #libreforge-updater #Tue Jun 23 15:48:31 BST 2026 eco-version=2026.38 -eco-api-version=2026.35 +eco-api-version=2026.39 kotlin.code.style=official libreforge-version=2026.38 version=2026.38