看到有位博主写得很不错,直接上链接:《进度条与自定义合成表》
本人在学习这篇博客的基础上进行实践与验证(使用1.12Bukkit接口开发),对上面的文件做几点总结与补充:
-
正如文中所说,一定要记得在插件卸载时对注册的进度条和合成配方进行注销。
-
文中所说的对进度条进行卸载的方法
Bukkit.removeBossBar()
经本人实践,似乎并不可行(或许是我这个版本并没有提供这个方法的接口)
于是采用另一种解决办法,这里做个记录,上代码:public void RemoveBossbar(){ //使用循环对玩家和进度条进行逐一解绑 for(Player player : Bukkit.getOnlinePlayers()){ bossBar.removePlayer(player); } //上述执行后,进度条对其他参数的引用并没有解除,还要执行如下语句解除引用 bossBar.removeAll(); //将bossBar进行释放 //Java的内存管理和垃圾回收机制会自动处理对象的回收和内存释放 bossBar=null; }