我有一个功能。正确时,我只想每1秒钟进行一次。我不能使用Thread.sleep(),因为我正在制作Minecraft插件,它将停止服务器上的所有进程。还有另一种方法怎么做?

感谢您的回复。

最佳答案

您要查找的是Bukkit Scheduler。它已集成到默认插件API中,可用于解决您的任务,如下所示:

int taskID = Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() {
    @Override
    public void run() {
        // do stuff
    }
}, delay, repeat);


delay设置为0,将重复项设置为20(20滴答声是1秒)。

使用以下命令停止它:

Bukkit.getScheduler().cancelTask(taskID);

10-07 21:05