Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java bukkit调度程序重复_Java_Plugins_Minecraft - Fatal编程技术网

Java bukkit调度程序重复

Java bukkit调度程序重复,java,plugins,minecraft,Java,Plugins,Minecraft,我对bukkit有意见。我想做一个重复的任务,发送一个带有玩家坐标的消息。 谢谢你的帮助 Bukkit.getScheduler().scheduleAsyncRepeatingTask(this.main, new Runnable() { @Override public void run() { Player tp = Bukki

我对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);

您不应该使用异步任务访问bukkitapi。改为计划同步任务,例如使用BukkitRunnable和lambda:

new BukkitRunnable(  () -> {

//Runnable run method, do stuff here

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

您不应该使用异步任务访问bukkitapi。改为计划同步任务,例如使用BukkitRunnable和lambda:

new BukkitRunnable(  () -> {

//Runnable run method, do stuff here

}).runTaskTimer (plugin, initialDelay, repeatingDelay);
您还可以使用:

getServer().getScheduler().runTaskTimer(this, new Runnable() {
        @Override
        public void run() {
            //your code here
        }
    }, initDelay, period);
其中:

initDelay-初始延迟(以滴答为单位)

周期-周期中任务之间的周期

您还可以使用:

getServer().getScheduler().runTaskTimer(this, new Runnable() {
        @Override
        public void run() {
            //your code here
        }
    }, initDelay, period);
其中:

initDelay-初始延迟(以滴答为单位)


句号-任务之间的句号

谢谢!我尝试了一个同步任务,但它也不起作用。我没有使用BukkitUnnable…请确保将解决问题的任何答案标记为正确的解决方案。这有助于未来用户解决与您相同的问题!非常感谢。我尝试了一个同步任务,但它也不起作用。我没有使用BukkitUnnable…请确保将解决问题的任何答案标记为正确的解决方案。这有助于未来用户解决与您相同的问题!谢谢你的帮助!谢谢你的帮助!