新增neigeitems兼容

This commit is contained in:
dongzh1
2024-01-09 17:24:53 +08:00
parent b7f3d05a0b
commit c40991b7d2
3 changed files with 59 additions and 0 deletions
+3
View File
@@ -12,6 +12,7 @@ taboolib {
name("Vault").optional(true)
name("MMOItems").optional(true)
name("Zaphkiel").optional(true)
name("NeigeItems").optional(true)
}
contributors {
name("xbaimiao")
@@ -39,6 +40,7 @@ taboolib {
repositories {
mavenCentral()
maven("https://maven.xbaimiao.com/repository/maven-public/")
maven("https://r.irepo.space/maven/")
}
dependencies {
@@ -50,6 +52,7 @@ dependencies {
compileOnly("ink.ptms.core:v11902:11902-minimize:mapped")
compileOnly("ink.ptms.core:v11902:11902-minimize:universal")
compileOnly("public:Zaphkiel:1.0.0")
compileOnly("pers.neige.neigeitems:NeigeItems:1.15.113")
compileOnly("public:MMOItems:6.9.4")
taboo("com.xbaimiao.ktor:ktor-plugins-bukkit:1.0.8")
taboo(kotlin("stdlib"))
@@ -14,6 +14,7 @@ class ItemLoaderManager {
itemLoaders.add(ZapItem)
itemLoaders.add(MMOItem)
itemLoaders.add(MythicItem)
itemLoaders.add(NeigeItem)
}
fun getVanillaShop(): ItemLoader = VanillaShopItem.Companion
@@ -0,0 +1,55 @@
package com.github.xbaimiao.shoppro.core.item.impl
import com.github.xbaimiao.shoppro.core.item.Item
import com.github.xbaimiao.shoppro.core.item.ItemLoader
import com.github.xbaimiao.shoppro.core.shop.Shop
import ink.ptms.zaphkiel.Zaphkiel
import org.bukkit.Bukkit
import org.bukkit.Material
import org.bukkit.configuration.ConfigurationSection
import org.bukkit.entity.Player
import org.bukkit.inventory.ItemStack
import pers.neige.neigeitems.item.ItemGenerator
import pers.neige.neigeitems.manager.ItemManager
/**
* @author dongzh1
* @date 2024/1/9 17:59
**/
class NeigeItem(
private val neigeItem: ItemGenerator,
itemSetting: ItemSetting,
private val neigeId :String
) : VanillaShopItem(itemSetting) {
override val material: Material
get() = neigeItem.staticItemStack.type
override fun vanillaItem(player: Player): ItemStack {
return ItemManager.getItemStack(neigeId,player)!!
}
override fun equal(itemStack: ItemStack): Boolean {
val item = ItemManager.getItemStack(neigeId) ?: return false
return ItemManager.getItemStack(neigeId) == item
}
companion object : ItemLoader() {
override val prefix: String = "NeigeItems"
override fun formSection(char: Char, section: ConfigurationSection, shop: Shop): Item {
if (Bukkit.getPluginManager().plugins.find { it.name.lowercase() == "NeigeItems".lowercase() } == null) {
error("NeigeItems Plugin not found")
}
val neigeId = section.getString("material")!!.substring(prefix.length + 1)
val item = ItemManager.getItem(neigeId)?: error("NeigeItems $neigeId not found")
return NeigeItem(item, section.toItemSetting(char, shop),neigeId)
}
override fun parseToMaterial(section: ConfigurationSection): Material {
return Material.AIR
}
}
}