尝试支持ItemsAdder贴图

This commit is contained in:
小白
2022-09-10 16:07:54 +08:00
parent 5709674608
commit b4957ef748
6 changed files with 26 additions and 13 deletions
@@ -1,7 +1,7 @@
package com.github.xbaimiao.shoppro.core.item package com.github.xbaimiao.shoppro.core.item
import com.github.xbaimiao.shoppro.core.shop.Shop 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.Material
import org.bukkit.entity.Player import org.bukkit.entity.Player
import org.bukkit.inventory.ItemStack import org.bukkit.inventory.ItemStack
@@ -28,7 +28,7 @@ open class ItemImpl(
val item = buildItem().modifyLore { val item = buildItem().modifyLore {
val newLore = ArrayList<String>() val newLore = ArrayList<String>()
for (line in this) { for (line in this) {
newLore.add(PlaceholderAPI.setPlaceholders(player, line)) newLore.add(line.replacePapi(player))
} }
this.clear() this.clear()
this.addAll(newLore) this.addAll(newLore)
@@ -1,10 +1,10 @@
package com.github.xbaimiao.shoppro.core.item package com.github.xbaimiao.shoppro.core.item
import com.github.xbaimiao.shoppro.ShopPro 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 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.entity.Player
import org.bukkit.inventory.ItemStack import org.bukkit.inventory.ItemStack
import taboolib.platform.util.modifyLore import taboolib.platform.util.modifyLore
@@ -55,7 +55,7 @@ abstract class ShopItem : Item {
} * price).format() } * price).format()
newLine = newLine.replace("\${priceAll}", priceAll.toString()) newLine = newLine.replace("\${priceAll}", priceAll.toString())
} }
newLore.add(PlaceholderAPI.setPlaceholders(player, newLine)) newLore.add(newLine.replacePapi(player))
} }
this.clear() this.clear()
this.addAll(newLore) this.addAll(newLore)
@@ -15,7 +15,7 @@ abstract class Shop {
} }
abstract fun getTitle(): String abstract fun getTitle(player: Player): String
abstract fun getType(): ShopType abstract fun getType(): ShopType
@@ -1,11 +1,12 @@
package com.github.xbaimiao.shoppro.core.shop package com.github.xbaimiao.shoppro.core.shop
import com.github.xbaimiao.shoppro.ShopPro 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.ShopProBuyEvent
import com.github.xbaimiao.shoppro.api.ShopProSellEvent import com.github.xbaimiao.shoppro.api.ShopProSellEvent
import com.github.xbaimiao.shoppro.core.database.LimitData import com.github.xbaimiao.shoppro.core.database.LimitData
import com.github.xbaimiao.shoppro.core.item.* 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.Bukkit
import org.bukkit.configuration.Configuration import org.bukkit.configuration.Configuration
import org.bukkit.entity.Player import org.bukkit.entity.Player
@@ -77,8 +78,8 @@ class ShopImpl(private val configuration: Configuration) : Shop() {
} }
} }
override fun getTitle(): String { override fun getTitle(player: Player): String {
return configuration.getString("title")!!.colored() return configuration.getString("title")!!.colored().replacePapi(player)
} }
override fun getType(): ShopType { override fun getType(): ShopType {
@@ -90,7 +91,7 @@ class ShopImpl(private val configuration: Configuration) : Shop() {
} }
override fun open(player: Player) { override fun open(player: Player) {
player.openMenu<Basic>(getTitle()) { player.openMenu<Basic>(getTitle(player)) {
rows(slots.size) rows(slots.size)
slots = ArrayList<List<Char>>().also { it.addAll(this@ShopImpl.slots) } slots = ArrayList<List<Char>>().also { it.addAll(this@ShopImpl.slots) }
onClick { onClick {
@@ -1,6 +1,6 @@
package com.github.xbaimiao.shoppro.core.vault 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 org.bukkit.entity.Player
import taboolib.platform.compat.VaultService import taboolib.platform.compat.VaultService
@@ -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.Inventory
import org.bukkit.inventory.ItemStack import org.bukkit.inventory.ItemStack
import taboolib.platform.util.isNotAir import taboolib.platform.util.isNotAir
@@ -7,6 +10,8 @@ import java.text.DecimalFormat
object Util { object Util {
private val hasPapi by lazy { Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null }
fun Double.format(): Double { fun Double.format(): Double {
val df = DecimalFormat("#0.00") val df = DecimalFormat("#0.00")
return df.format(this).toDouble() return df.format(this).toDouble()
@@ -24,4 +29,11 @@ object Util {
return amount return amount
} }
fun String.replacePapi(player: Player): String {
if (hasPapi) {
return PlaceholderAPI.setPlaceholders(player, this)
}
return this
}
} }