为什么启动后无Plugin实例
我在site.liangbai.cobblemonwiki包下声明了插件site.liangbai.cobblemonwiki.CobblemonWiki
package site.liangbai.cobblemonwiki
import taboolib.common.platform.Plugin
import taboolib.common.platform.function.info
import taboolib.module.configuration.Config
import taboolib.module.configuration.ConfigFile
object CobblemonWiki : Plugin() {
@Config
lateinit var config: ConfigFile
override fun onLoad() {
println("loading ")
}
override fun onEnable() {
println(123)
println(456)
info("enabling wiki")
}
override fun onActive() {
println("setuping...")
}
}
但是我发现启动后,不论是onLoad, onEnable, onActive周期,都没输出内容
于是我赶紧跑去检查build.gradle.kts
group = "site.liangbai.cobblemonwiki"
version = "1.0.0"
taboolib {
description {
dependencies {
name("CobblemonLegendarySpawner").optional(true)
}
}
env {
install(Basic)
install(Bukkit)
install(MinecraftChat)
install(BukkitUtil)
install(BukkitNMS)
install(BukkitNMSUtil)
}
}
dependencies {
minecraft("net.minecraft:minecraft:${rootProject.property("minecraft_version")}")
mappings(loom.officialMojangMappings())
modCompileOnly("com.cobblemon:fabric:1.6.1+1.21.1")
compileOnly("me.clip:placeholderapi:2.11.6")
compileOnly(fileTree("libs"))
implementation(project(":common"))
}
于是我什么问题都发现不了,和我之前的写法一样,但是就这个插件的实例无法注入
于是我尝试用反射获取并输出BukkitPlugin#pluginInstance的classname,结果plugininstance空指针了
baby, tell me why, tell me
但是这个config正常注入了,我的命令都可以使用
第一点,Taboolib 一般不提供混合端支持。第二,请给出服务端参数
第一点,Taboolib 一般不提供混合端支持。第二,请给出服务端参数
不不不,我的其他所有taboolib插件在这个服务端都可以正常加载,除了这个CobblemonWiki,并且我把插件做了模块化处理,同级模块的其他插件都可以正常加载
rootProject.name = "CobblemonCollection"
include("common")
...其他插件
include("CobblemonWiki")
除了这个CobblemonWiki,并且我的写法一模一样,所以我很疑惑
服务端是arclight-fabric-1.21.1-1.0.1-SNAPSHOT
尝试加了一个新模块
package site.liangbai.cobblemonmodifycard
import taboolib.common.platform.Plugin
import taboolib.common.platform.function.info
object CobblemonModifyCard : Plugin() {
override fun onEnable() {
info("successfully running plugin!")
}
}
build.gradle.kts:
import io.izzel.taboolib.gradle.*
group = "site.liangbai.cobblemonmodifycard"
version = "1.0.0"
taboolib {
env {
install(Basic)
install(Bukkit)
install(MinecraftChat)
install(BukkitUtil)
install(BukkitNMS)
install(BukkitNMSUtil)
}
}
dependencies {
minecraft("net.minecraft:minecraft:${rootProject.property("minecraft_version")}")
mappings(loom.officialMojangMappings())
modCompileOnly("com.cobblemon:fabric:1.6.1+1.21.1")
compileOnly("me.clip:placeholderapi:2.11.6")
implementation(project(":common"))
}
然后这个是成功运行的,正常打印info的字符串,我不知道我哪里出错了
你自己搞的多模块,用的不是 tb 给的多模块模板吧? 你反编译一下构建出来的插件,看看 tb 是否被打包到了插件的包下
我没搞明白你这个项目是怎么配置的,怎么一会 cobblemonwiki 一会 cobblemonmodifycard,你能不能详细的贴一下你这个项目是怎么配置的,是多模块项目吗?把所有构建文件都贴一下,或者开一个仓库
![]()
你自己搞的多模块,用的不是 tb 给的多模块模板吧? 你反编译一下构建出来的插件,看看 tb 是否被打包到了插件的包下
我没搞明白你这个项目是怎么配置的,怎么一会 cobblemonwiki 一会 cobblemonmodifycard,你能不能详细的贴一下你这个项目是怎么配置的,是多模块项目吗?把所有构建文件都贴一下,或者开一个仓库
反编译看了,都在site.liangbai.cobblemonwiki这个包下,包括taboolib
你自己搞的多模块,用的不是 tb 给的多模块模板吧? 你反编译一下构建出来的插件,看看 tb 是否被打包到了插件的包下 我没搞明白你这个项目是怎么配置的,怎么一会 cobblemonwiki 一会 cobblemonmodifycard,你能不能详细的贴一下你这个项目是怎么配置的,是多模块项目吗?把所有构建文件都贴一下,或者开一个仓库
反编译看了,都在site.liangbai.cobblemonwiki这个包下,包括taboolib
用tb的单/多模块模板重新初始化项目
同样情况,我不是多模块,在Fabric+TabooLib的混合环境下开发,版本是1.21.1,onEnable无法被执行
同样情况,我不是多模块,在Fabric+TabooLib的混合环境下开发,版本是1.21.1,onEnable无法被执行
目前注解是正常的,所以我目前的临时方案是用@Awake
你自己搞的多模块,用的不是 tb 给的多模块模板吧? 你反编译一下构建出来的插件,看看 tb 是否被打包到了插件的包下 我没搞明白你这个项目是怎么配置的,怎么一会 cobblemonwiki 一会 cobblemonmodifycard,你能不能详细的贴一下你这个项目是怎么配置的,是多模块项目吗?把所有构建文件都贴一下,或者开一个仓库
反编译看了,都在site.liangbai.cobblemonwiki这个包下,包括taboolib
方便的话,看看plugin.yml和插件主类的反编译源码?
你自己搞的多模块,用的不是 tb 给的多模块模板吧?
你反编译一下构建出来的插件,看看 tb 是否被打包到了插件的包下
我没搞明白你这个项目是怎么配置的,怎么一会 cobblemonwiki 一会 cobblemonmodifycard,你能不能详细的贴一下你这个项目是怎么配置的,是多模块项目吗?把所有构建文件都贴一下,或者开一个仓库
你自己搞的多模块,用的不是 tb 给的多模块模板吧?
你反编译一下构建出来的插件,看看 tb 是否被打包到了插件的包下
我没搞明白你这个项目是怎么配置的,怎么一会 cobblemonwiki 一会 cobblemonmodifycard,你能不能详细的贴一下你这个项目是怎么配置的,是多模块项目吗?把所有构建文件都贴一下,或者开一个仓库