本帖最后由 黑心老昔年 于 2022-1-31 20:45 编辑 
怎么让bukkit在指定时间执行某个指令
可以通过生成的配置文件修改
比如定时在12:00:00在控制台执行/shock指令
最好可以用配置文件修改,本人初次学习Bukkit开发
烦请大佬指正错误
怎么让bukkit在指定时间执行某个指令
可以通过生成的配置文件修改
比如定时在12:00:00在控制台执行/shock指令
最好可以用配置文件修改,本人初次学习Bukkit开发
烦请大佬指正错误
可以尝试写一个BukkitRunnable,每秒钟检测一次,到时间了就执行
BukkitScheulder 可以用来计划执行一个事物
你应该先通过手段将人类可读的 ISO 时间戳转换为 Unix 时间戳,然后与当前的 Unix 时间戳相减,计算剩余的时间,然后转换为 ticks(1 sec == 20 ticks),并以此为 delay 在 BukkitScheduler 上计划一个 runTaskLater
你应该先通过手段将人类可读的 ISO 时间戳转换为 Unix 时间戳,然后与当前的 Unix 时间戳相减,计算剩余的时间,然后转换为 ticks(1 sec == 20 ticks),并以此为 delay 在 BukkitScheduler 上计划一个 runTaskLater
方法前面两位答出来了。值得指出的是,由于runTaskLater加的任务是同步的(在服务器主线程运行),所以服务器卡顿时任务未必会按照设定的时间执行。
比方说,在如下代码中
复制代码如果服务器遇到累计长达一秒钟的卡顿,那么实际执行任务的等待时间是两秒。
比方说,在如下代码中
- blablabla.runTaskLater(plugin, myTask, 20l)
666666666669999999999