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 9b725cd..5a7facf 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 @@ -4,6 +4,8 @@ import com.willfp.eco.core.EcoPlugin import com.willfp.eco.core.display.Display 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.util.formatEco import com.willfp.libreforge.ItemProvidedHolder import com.willfp.talismans.talismans.util.TalismanChecks import com.willfp.talismans.talismans.util.TalismanUtils @@ -26,14 +28,24 @@ class TalismanDisplay(plugin: EcoPlugin) : DisplayModule(plugin, DisplayPriority val talisman = TalismanChecks.getTalismanOnItem(itemStack) ?: return - meta.setDisplayName(talisman.name) + val placeholderContext = placeholderContext( + player = player, + item = itemStack + ) + + meta.setDisplayName(talisman.name.formatEco(placeholderContext)) + if (talisman.itemStack.itemMeta?.hasCustomModelData() == true) { meta.setCustomModelData(talisman.itemStack.itemMeta?.customModelData) } val lore = mutableListOf() - lore.addAll(talisman.description) + lore.addAll( + talisman.description + .map { Display.PREFIX + it.formatEco(placeholderContext) } + ) + lore.addAll(itemLore) if (player != null) { diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/talismans/talismans/Talisman.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/talismans/talismans/Talisman.kt index 633996f..8f2e590 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/talismans/talismans/Talisman.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/talismans/talismans/Talisman.kt @@ -9,6 +9,7 @@ import com.willfp.eco.core.recipe.Recipes import com.willfp.eco.core.recipe.parts.EmptyTestableItem import com.willfp.eco.core.recipe.recipes.CraftingRecipe import com.willfp.eco.core.registry.Registrable +import com.willfp.eco.util.formatEco import com.willfp.libreforge.Holder import com.willfp.libreforge.ViolationContext import com.willfp.libreforge.conditions.Conditions @@ -29,9 +30,9 @@ class Talisman( ) : Holder, Registrable { override val id: NamespacedKey = plugin.namespacedKeyFactory.create(id) - val name = config.getFormattedString("name") + val name = config.getString("name") - val description = config.getFormattedStrings("description").map { Display.PREFIX + it } + val description = config.getStrings("description") private val _itemStack: ItemStack = run { val item = Items.lookup(config.getString("item")) @@ -40,8 +41,8 @@ class Talisman( ItemStackBuilder(item.item) .setAmount(1) - .setDisplayName(name) - .addLoreLines(description) + .setDisplayName(name.formatEco()) + .addLoreLines(description.map { Display.PREFIX + it.formatEco() }) .writeMetaKey(plugin.namespacedKeyFactory.create("talisman"), PersistentDataType.STRING, id) .build() }