等待一段时间后再执行不停止服务器的操作



我正在为我的世界服务器工作的一个床战插件,一切都工作,但在开始时我想要一个5秒的计时器开始游戏,并在游戏中显示一个标题,我工作在这个代码:

TimeUnit.SECONDS.sleep(1);
sendtitle("4");
TimeUnit.SECONDS.sleep(1);
sendtitle("3");
TimeUnit.SECONDS.sleep(1);
sendtitle("2");
TimeUnit.SECONDS.sleep(1);
sendtitle("1");
TimeUnit.SECONDS.sleep(1);
sendtitle("SusyBaka");

但是我完全暂停了服务器,我试图使用多线程,但标题没有出现,有人能帮助我吗?

你不应该在spigot-server上使用Thread.sleep()或类似的东西,因为就像你说的,它会停止FULL服务器(它可以使玩家超时)

创建定时器,使用如下命令:

public int count = 5;
public BukkitTask task;
public void method() {
task = Bukkit.getServer().getScheduler().runTaskTimer(MyPlugin.getInstance(), () -> {
if(count == 0) {
task.cancel();
sendtitle("SusyBaka");
} else {
count--;
sendtitle("Start in " + count + " seconds");
}
}, 20, 20); // 20 ticks = 1 second
}

相关内容

  • 没有找到相关文章

最新更新