diff --git a/src/main/kotlin/com/github/xbaimiao/shoppro/core/item/ItemImpl.kt b/src/main/kotlin/com/github/xbaimiao/shoppro/core/item/ItemImpl.kt index 3cf21b4..89deebc 100644 --- a/src/main/kotlin/com/github/xbaimiao/shoppro/core/item/ItemImpl.kt +++ b/src/main/kotlin/com/github/xbaimiao/shoppro/core/item/ItemImpl.kt @@ -1,7 +1,7 @@ package com.github.xbaimiao.shoppro.core.item import com.github.xbaimiao.shoppro.core.shop.Shop -import me.clip.placeholderapi.PlaceholderAPI +import com.github.xbaimiao.shoppro.util.Util.replacePapi import org.bukkit.Material import org.bukkit.entity.Player import org.bukkit.inventory.ItemStack @@ -28,7 +28,7 @@ open class ItemImpl( val item = buildItem().modifyLore { val newLore = ArrayList() for (line in this) { - newLore.add(PlaceholderAPI.setPlaceholders(player, line)) + newLore.add(line.replacePapi(player)) } this.clear() this.addAll(newLore) diff --git a/src/main/kotlin/com/github/xbaimiao/shoppro/core/item/ShopItem.kt b/src/main/kotlin/com/github/xbaimiao/shoppro/core/item/ShopItem.kt index c955c6d..5cddb1f 100644 --- a/src/main/kotlin/com/github/xbaimiao/shoppro/core/item/ShopItem.kt +++ b/src/main/kotlin/com/github/xbaimiao/shoppro/core/item/ShopItem.kt @@ -1,10 +1,10 @@ package com.github.xbaimiao.shoppro.core.item import com.github.xbaimiao.shoppro.ShopPro -import com.github.xbaimiao.shoppro.Util.format -import com.github.xbaimiao.shoppro.Util.howManyItems import com.github.xbaimiao.shoppro.core.shop.Shop -import me.clip.placeholderapi.PlaceholderAPI +import com.github.xbaimiao.shoppro.util.Util.format +import com.github.xbaimiao.shoppro.util.Util.howManyItems +import com.github.xbaimiao.shoppro.util.Util.replacePapi import org.bukkit.entity.Player import org.bukkit.inventory.ItemStack import taboolib.platform.util.modifyLore @@ -55,7 +55,7 @@ abstract class ShopItem : Item { } * price).format() newLine = newLine.replace("\${priceAll}", priceAll.toString()) } - newLore.add(PlaceholderAPI.setPlaceholders(player, newLine)) + newLore.add(newLine.replacePapi(player)) } this.clear() this.addAll(newLore) diff --git a/src/main/kotlin/com/github/xbaimiao/shoppro/core/shop/Shop.kt b/src/main/kotlin/com/github/xbaimiao/shoppro/core/shop/Shop.kt index 4ac9f73..067d5fb 100644 --- a/src/main/kotlin/com/github/xbaimiao/shoppro/core/shop/Shop.kt +++ b/src/main/kotlin/com/github/xbaimiao/shoppro/core/shop/Shop.kt @@ -15,7 +15,7 @@ abstract class Shop { } - abstract fun getTitle(): String + abstract fun getTitle(player: Player): String abstract fun getType(): ShopType diff --git a/src/main/kotlin/com/github/xbaimiao/shoppro/core/shop/ShopImpl.kt b/src/main/kotlin/com/github/xbaimiao/shoppro/core/shop/ShopImpl.kt index e46bee4..0768591 100644 --- a/src/main/kotlin/com/github/xbaimiao/shoppro/core/shop/ShopImpl.kt +++ b/src/main/kotlin/com/github/xbaimiao/shoppro/core/shop/ShopImpl.kt @@ -1,11 +1,12 @@ package com.github.xbaimiao.shoppro.core.shop import com.github.xbaimiao.shoppro.ShopPro -import com.github.xbaimiao.shoppro.Util.howManyItems import com.github.xbaimiao.shoppro.api.ShopProBuyEvent import com.github.xbaimiao.shoppro.api.ShopProSellEvent import com.github.xbaimiao.shoppro.core.database.LimitData import com.github.xbaimiao.shoppro.core.item.* +import com.github.xbaimiao.shoppro.util.Util.howManyItems +import com.github.xbaimiao.shoppro.util.Util.replacePapi import org.bukkit.Bukkit import org.bukkit.configuration.Configuration import org.bukkit.entity.Player @@ -77,8 +78,8 @@ class ShopImpl(private val configuration: Configuration) : Shop() { } } - override fun getTitle(): String { - return configuration.getString("title")!!.colored() + override fun getTitle(player: Player): String { + return configuration.getString("title")!!.colored().replacePapi(player) } override fun getType(): ShopType { @@ -90,7 +91,7 @@ class ShopImpl(private val configuration: Configuration) : Shop() { } override fun open(player: Player) { - player.openMenu(getTitle()) { + player.openMenu(getTitle(player)) { rows(slots.size) slots = ArrayList>().also { it.addAll(this@ShopImpl.slots) } onClick { diff --git a/src/main/kotlin/com/github/xbaimiao/shoppro/core/vault/VaultImpl.kt b/src/main/kotlin/com/github/xbaimiao/shoppro/core/vault/VaultImpl.kt index 4969ede..8965f39 100644 --- a/src/main/kotlin/com/github/xbaimiao/shoppro/core/vault/VaultImpl.kt +++ b/src/main/kotlin/com/github/xbaimiao/shoppro/core/vault/VaultImpl.kt @@ -1,6 +1,6 @@ package com.github.xbaimiao.shoppro.core.vault -import com.github.xbaimiao.shoppro.Util.format +import com.github.xbaimiao.shoppro.util.Util.format import org.bukkit.entity.Player import taboolib.platform.compat.VaultService diff --git a/src/main/kotlin/com/github/xbaimiao/shoppro/Util.kt b/src/main/kotlin/com/github/xbaimiao/shoppro/util/Util.kt similarity index 59% rename from src/main/kotlin/com/github/xbaimiao/shoppro/Util.kt rename to src/main/kotlin/com/github/xbaimiao/shoppro/util/Util.kt index d4c3244..74fdd9f 100644 --- a/src/main/kotlin/com/github/xbaimiao/shoppro/Util.kt +++ b/src/main/kotlin/com/github/xbaimiao/shoppro/util/Util.kt @@ -1,5 +1,8 @@ -package com.github.xbaimiao.shoppro +package com.github.xbaimiao.shoppro.util +import me.clip.placeholderapi.PlaceholderAPI +import org.bukkit.Bukkit +import org.bukkit.entity.Player import org.bukkit.inventory.Inventory import org.bukkit.inventory.ItemStack import taboolib.platform.util.isNotAir @@ -7,6 +10,8 @@ import java.text.DecimalFormat object Util { + private val hasPapi by lazy { Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null } + fun Double.format(): Double { val df = DecimalFormat("#0.00") return df.format(this).toDouble() @@ -24,4 +29,11 @@ object Util { return amount } + fun String.replacePapi(player: Player): String { + if (hasPapi) { + return PlaceholderAPI.setPlaceholders(player, this) + } + return this + } + } \ No newline at end of file