Bukkit#getScheduler 返回一个 Bukkit 的调度器,Sponge#getScheduler 返回一个 Sponge 的调度器。
实例如下:
Bukkit 错误的做法:
- @Override
- public void onPluginMessageReceived(String channel, Player player, byte[] data) {
- player.kickPlayer("你因为给服务器发 plugin message 被踢了");
- <font color="#808080">// 报错</font>
- }
复制代码 Bukkit 的正确做法,将涉及服务器的操作使用调度器交给主线程完成:
- @Override
- public void onPluginMessageReceived(String channel, Player player, byte[] data) {
- Bukkit.getScheduler().runTask(插件实例, () -> player.kickPlayer("被服务器用调度器踢出"));
- }
复制代码 Sponge 的调度器操作类似。 |