添加API 可供其他插件添加物品解析

This commit is contained in:
xbaimiao
2024-06-10 06:37:35 +08:00
parent 1f12912f88
commit 694b304b24
4 changed files with 27 additions and 12 deletions
+1 -2
View File
@@ -20,7 +20,7 @@ taboolib {
name("xbaimiao") name("xbaimiao")
} }
val bukkitNodes = bukkitNodes as MutableMap<Any, Any> val bukkitNodes = bukkitNodes as MutableMap<Any, Any>
bukkitNodes["update-info"] = "修复头颅物品" bukkitNodes["update-info"] = "添加API 可供其他插件添加物品解析"
} }
env { env {
install(NMS_UTIL, UI) install(NMS_UTIL, UI)
@@ -52,7 +52,6 @@ dependencies {
compileOnly("public:Zaphkiel:1.0.0") compileOnly("public:Zaphkiel:1.0.0")
compileOnly("pers.neige.neigeitems:NeigeItems:1.15.113") compileOnly("pers.neige.neigeitems:NeigeItems:1.15.113")
compileOnly("public:MMOItems:6.9.4") compileOnly("public:MMOItems:6.9.4")
taboo("com.xbaimiao.ktor:ktor-plugins-bukkit:1.0.8")
// taboo(kotlin("stdlib")) // taboo(kotlin("stdlib"))
compileOnly(fileTree("libs")) compileOnly(fileTree("libs"))
} }
+1 -1
View File
@@ -1,2 +1,2 @@
group=com.github.xbaimiao.shoppro group=com.github.xbaimiao.shoppro
version=1.3.0-SNAPSHOT version=1.3.1-SNAPSHOT
@@ -1,5 +1,6 @@
package com.github.xbaimiao.shoppro package com.github.xbaimiao.shoppro
import com.github.xbaimiao.shoppro.api.ShopProInitItemLoaderEvent
import com.github.xbaimiao.shoppro.core.database.Database import com.github.xbaimiao.shoppro.core.database.Database
import com.github.xbaimiao.shoppro.core.database.MysqlDatabase import com.github.xbaimiao.shoppro.core.database.MysqlDatabase
import com.github.xbaimiao.shoppro.core.database.SQLiteDatabase import com.github.xbaimiao.shoppro.core.database.SQLiteDatabase
@@ -7,8 +8,6 @@ import com.github.xbaimiao.shoppro.core.item.ItemLoaderManager
import com.github.xbaimiao.shoppro.core.shop.ShopManager import com.github.xbaimiao.shoppro.core.shop.ShopManager
import com.github.xbaimiao.shoppro.core.vault.DiyCurrency import com.github.xbaimiao.shoppro.core.vault.DiyCurrency
import com.github.xbaimiao.shoppro.core.vault.VaultImpl import com.github.xbaimiao.shoppro.core.vault.VaultImpl
import com.xbaimiao.ktor.KtorPluginsBukkit
import com.xbaimiao.ktor.KtorStat
import org.bukkit.Bukkit import org.bukkit.Bukkit
import org.bukkit.event.player.PlayerJoinEvent import org.bukkit.event.player.PlayerJoinEvent
import org.bukkit.event.player.PlayerQuitEvent import org.bukkit.event.player.PlayerQuitEvent
@@ -19,7 +18,7 @@ import taboolib.module.configuration.Config
import taboolib.module.configuration.Configuration import taboolib.module.configuration.Configuration
import taboolib.platform.BukkitPlugin import taboolib.platform.BukkitPlugin
object ShopPro : Plugin(), KtorStat { object ShopPro : Plugin() {
@Config(value = "config.yml") @Config(value = "config.yml")
lateinit var config: Configuration lateinit var config: Configuration
@@ -30,12 +29,8 @@ object ShopPro : Plugin(), KtorStat {
val itemLoaderManager = ItemLoaderManager() val itemLoaderManager = ItemLoaderManager()
override fun onActive() { override fun onActive() {
val userId = kotlin.runCatching { userId }.getOrNull() ShopProInitItemLoaderEvent(this).call()
if (userId != null) {
KtorPluginsBukkit.init(BukkitPlugin.getInstance(), this)
info("$userId 感谢您的使用")
stat()
}
DiyCurrency.load() DiyCurrency.load()
ShopManager.load() ShopManager.load()
VaultImpl.startTask() VaultImpl.startTask()
@@ -0,0 +1,21 @@
package com.github.xbaimiao.shoppro.api
import com.github.xbaimiao.shoppro.ShopPro
import com.github.xbaimiao.shoppro.core.item.ItemLoader
import taboolib.platform.type.BukkitProxyEvent
/**
* @author xbaimiao
* @date 2024/6/10
* @email owner@xbaimiao.com
*/
class ShopProInitItemLoaderEvent(val plugin: ShopPro) : BukkitProxyEvent() {
override val allowCancelled: Boolean
get() = false
fun addLoader(loader: ItemLoader) {
plugin.itemLoaderManager.itemLoaders.add(loader)
}
}