Java操作每5秒重复一次
好的,普通的java程序员也可以帮忙,但这是一个minecraft插件,我希望它每5秒做一次动作,从插件启动时开始Java操作每5秒重复一次,java,bukkit,Java,Bukkit,好的,普通的java程序员也可以帮忙,但这是一个minecraft插件,我希望它每5秒做一次动作,从插件启动时开始 public void onEnable(){ getLogger().info("TBC Enabled"); //~~ the statement from here till the next note is what I want to happen every 5 seconds
public void onEnable(){
getLogger().info("TBC Enabled");
//~~ the statement from here till the next note is what I want to happen every 5 seconds
for (Player player : Bukkit.getOnlinePlayers()) {
player.sendMessage("N/A");
}
//~~ end of statement I want to repeat every 5 seconds
}
这段代码就是它在插件启动时所做的
编辑:我甚至忘记了这个插件是什么:///p>你可以做所谓的安排重复任务,这个例子来自Bukkit论坛
Bukkit.getScheduler().scheduleRepeatingTask(this, new Runnable() {
@Override
public void run() {
// The statement you want to run every 5 seconds.
}
}, 0L, 100L); // 20 ticks = 1 second
只需在run中用您想要运行的语句编辑注释,它就可以正常工作。这可以通过基本ExecutorService完成。您可以创建一个ScheduledExecutorService,它是ExecutorService的一个实现,然后计划一个runnable,它每5秒执行一次
ScheduledExecutorService=Executors.newSingleThreadScheduledExecutor();
service.scheduleAtFixedRate(()->{
//在这里做点什么
},0,5,时间单位为秒);
我这样做了,我在第18行(Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin,new Runnable(){)得到了一个“plugin cannot be null”(插件,new Runnable())更新了代码,将您的代码替换为我的更新版本。请记住,此代码与服务器时钟不同步。是的,这是非常正确的。这绝对值得指出。