Я пытаюсь создать плагин Bukkit, который случайным образом деформирует игрока каждые пять минут. Я разобрался с деформацией, но мой обратный отсчет происходит после деформации игрока, и я хочу, чтобы это произошло раньше. Кто-нибудь знает, почему он это делает?
Вот мой код:
public class Commands implements Listener, CommandExecutor {
public String cmd0 = "startwarp";
private main plugin = main.getPlugin(main.class);
@Override
@SuppressWarnings("deprecation")
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
Player player = (Player) sender;
if(sender instanceof Player) {
if (cmd.getName().equalsIgnoreCase(cmd0)) {
if(args.length == 0) {
player.sendMessage(ChatColor.GOLD + "Warp timer begun!");
Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable(){
@Override
public void run() {
Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable(){
int countdown;
@Override
public void run() {
if (countdown >= 1) {
Bukkit.getServer().broadcastMessage(ChatColor.RED + " " + countdown + "...");
countdown--;
}
}
}, 0, 1 * 20);
Location loc = player.getLocation();
int randX = (int) (loc.getBlockX() + ((Math.random() * 1000) - 500));
int randZ = (int) (loc.getBlockZ() + ((Math.random() * 1000) - 500));
int randY = (int) ((Math.random() * 240) + 15);
Location randomtp = new Location(player.getWorld(), randX, randY, randZ);
player.teleport(randomtp);
player.sendMessage(ChatColor.DARK_AQUA + "Teleported!");
//warpTimer timer = new warpTimer();
//timer.runTaskTimer(plugin, 0, 1 * 20);
}
}, 5 * 60 * 20, 5 * 60 * 20);
}
return true;
}
}
return false;
}}