Так что я просто научился использовать расписания, и я хотел сделать повторяющуюся задачу, но когда я закончил, я заметил, что команда работает только после каждой перезагрузки. Как я могу это исправить?Команда работает только один раз при каждой перезагрузке
Код:
public class SpawnCommand implements CommandExecutor {
public int i = 5;
@SuppressWarnings("deprecation")
@Override
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
Player p = (Player) sender;
if (cmd.getName().equalsIgnoreCase("spawn")) {
Bukkit.getScheduler().scheduleAsyncRepeatingTask(JavaPlugin.getProvidingPlugin(Teams.class), new Runnable(){
public void run() {
if (i != -1) {
if (i != 0) {
p.sendMessage("§8§l┃ §3Revenant §8┃ §eTeleporting in §c(" + i + "§c)");
p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1, 0 + i);
i--;
} else {
p.sendMessage("§8§l┃ §3Revenant §8┃ §eTeleporting...");
Location centerblock = new Location(p.getWorld(),
p.getWorld().getSpawnLocation().getX() + 0.5,
p.getWorld().getSpawnLocation().getY(),
p.getWorld().getSpawnLocation().getZ() + 0.5);
p.teleport(centerblock);
p.playSound(p.getLocation(), Sound.CAT_MEOW, 1, 0);
p.playEffect(p.getPlayer().getLocation(centerblock), Effect.ENDER_SIGNAL, 1);
p.playEffect(p.getPlayer().getLocation(centerblock), Effect.MOBSPAWNER_FLAMES, 1);
i--;
}
}
}
}, 0L, 20L);
}
return true;
}
}
Обратитесь к [нашей документации] (http://stackoverflow.com/documentation/bukkit/5436/scheduler-programming#t=201611171536580915453), чтобы лучше всего понять планирование задач Bukkit. Ваша задача не должна быть асинхронной, так как она использует API Bukkit. – Kerooker