如何解决插件不能为空错误-Spigot编码
重新加载插件时出现错误“插件不能为空”。其实我试图自己解决这个“臭虫”,但是我认为那没有用...希望您能帮助我...
以下是一些相关的东西:
错误消息:
Could not load 'plugins/OwnChallenges-1.0.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.IllegalArgumentException: Plugin cannot be null
...
Caused by: java.lang.IllegalArgumentException: Plugin cannot be null
...
at com.fabo0814.ownchallenges.utils.Utils.delayIt(Utils.java:9) ~[?:?]
Main.class :
// ... Some stuff ...
public static Main main;
PluginManager pm = Bukkit.getPluginManager();
Position pos = new Position();
@Override
public void onEnable() {
main = this;
SQL.connect();
listeners();
commands();
tab();
new Config();
new RanksConfig();
doWorldStuff();
}
// ... Some Stuff ...
Utils.class :
// ... Some Stuff ...
public static void delayIt(Runnable run,int delay) {
Bukkit.getScheduler().scheduleSyncDelayedTask(Main.getPlugin(Main.class),run,delay);
}
// ... Some Stuff ...
感谢您的帮助:D
编辑:如果我在启动服务器后重新加载了插件,它将以某种方式起作用。
解决方法
请尝试使用Main.getPlugin(Main.class)
,而不要使用JavaPlugin.getPlugin(Main.class)
。另外,为什么还要创建Main
类的实例?您在Bukkit插件中不需要单例(实际上,它不是真正的单例,因为您无法将构造函数的访问权限设置为private)。另外,尝试将插件的Main类命名为插件名称,例如:插件名称为AchievementsX,然后命名主类AchievementsX,通过这种命名,您可以轻松地将插件实现为其他插件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。