new BukkitRunnable() {
int timer = 10;
@Override
public void run() {
if (timer == 0) cancel();
else Bukkit.broadcastMessage("Starting in: " + timer--);
}
@Override
public synchronized void cancel() throws IllegalStateException {
Bukkit.broadcastMessage("Action!");
super.cancel();
}
}.runTaskTimer(Main.main(), 0L, 20L); // repeat every second