java - bukkit 调度程序重复

标签 java plugins minecraft

我的 bukkit 有问题。我想做一个重复任务,发送带有玩家坐标的消息。 感谢您的帮助!

    Bukkit.getScheduler().scheduleAsyncRepeatingTask(this.main, new Runnable() {

                        @Override
                        public void run() {
                            Player tp = Bukkit.getPlayer(args[1]);
                            p.sendMessage("§bThe coordinates of §4" + tp.getName());
                            p.sendMessage("§eX: " + tp.getLocation().getBlockX());
                            p.sendMessage("§eY: " + tp.getLocation().getBlockY());
                            p.sendMessage("§eZ: " + tp.getLocation().getBlockZ());
                            p.sendMessage("§eD: " + tp.getLocation().getDirection());

                        }

                    }, 1, 1);

最佳答案

您不应使用异步任务来访问 bukkit api。相反,安排同步任务,例如使用 BukkitRunnable 和 lambda:

new BukkitRunnable(  () -> {

//Runnable run method, do stuff here

}).runTaskTimer (plugin, initialDelay, repeatingDelay);

关于java - bukkit 调度程序重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45745546/

相关文章:

Android:将功能推送到应用程序中

docker - 创建 list 时如何修复来自 Docker Hub 的 "denied: requested access to the resource is denied"错误

Java:如何将CLOB插入到oracle数据库中

java - MyCustomExceptionMapper 未调用 - 自定义验证错误消息 - Jersey 验证

java - 如何显示 Spring 和 MyBatis 中的 SQL 错误?

vim - 如何在 vim 中自动完成 C 或 C++ 关键字

javascript - onMouseOver JavaScript 与 CSS list-style-image

java - 如何从 Minecraft - Spigot 中的 BlockEvent 获取方 block 位置

maven - Intellij IDEA Maven 导入问题

java - Android 单元测试 - 测试返回 null 的方法