——如题——
插件写完之后装上服务器使用后报错
报错
代码
 本帖最后由 克鲁鲁殿下 于 2022-3-28 19:14 编辑 
我给出的建议是
不要这样获取插件主类,很容易出错=-=
建议在主类写上:
private static ShinyJoinTitle ins;
public static ShinyJoinTitle getIns(){
return ins;
}
然后获取plugin:
Plugin config = (Plugin)ShinyJoinTitle.getIns;
补充:你这是在主类获取自己
我建议你this.getConfig
因为你自己就是那个插件主类实例
我给出的建议是
不要这样获取插件主类,很容易出错=-=
建议在主类写上:
private static ShinyJoinTitle ins;
public static ShinyJoinTitle getIns(){
return ins;
}
然后获取plugin:
Plugin config = (Plugin)ShinyJoinTitle.getIns;
补充:你这是在主类获取自己
我建议你this.getConfig
因为你自己就是那个插件主类实例
补,装个Minecraft开发模板插件(idea插件)
164ebr 发表于 2022-3-28 19:11
补,装个Minecraft开发模板插件(idea插件)
虽然我觉得,这个和开发模板插件好像,没什么关系()
他这个是非法状态异常(我怀疑是插件还没初始化就获取插件实例的缘故(也不一定,只是可能性)
类的非静态内部变量会在试图实例化的时候初始化
也就是说第十六行的代码会在类未完全试图通过类来获取插件
但此时类未完全实例化,导致报错
可以在onEnable方法里来直接 getConfig()
也就是说第十六行的代码会在类未完全试图通过类来获取插件
但此时类未完全实例化,导致报错
可以在onEnable方法里来直接 getConfig()
美味的曲奇 发表于 2022-3-28 19:46
类的非静态内部变量会在试图实例化的时候初始化
也就是说第十六行的代码会在类未完全试图通过类来获取插件
...
简单来讲:onEnable之前可以声明,但必须之后赋值()要不然就会出现问题=-=
 本帖最后由 164ebr 于 2022-3-29 00:39 编辑 
他这么干不太像用了模板的样子所以我就说了,毕竟用了模板也不会这么继承 (总结 咱用模板老老实实写就完事了
(总结 咱用模板老老实实写就完事了 )
)
克鲁鲁殿下 发表于 2022-3-28 19:17
虽然我觉得,这个和开发模板插件好像,没什么关系()
他这个是非法状态异常(我怀疑是插件还没初始化就 ...
他这么干不太像用了模板的样子所以我就说了,毕竟用了模板也不会这么继承
164ebr 发表于 2022-3-29 00:36
他这么干不太像用了模板的样子所以我就说了,毕竟用了模板也不会这么继承(总结 咱用模板老老实实 ...
(事实上主类可以实现接口的说)=-=
如果你的插件的指令/监听器少的话,放主类比较简单=-=