--- miscJava/bukkit-minecraft-plugins/HoerupUtils/src/dk/thoerup/bukkit/hoeruputils/EternalDayCommand.java 2011/03/23 21:47:26 1243 +++ miscJava/bukkit-minecraft-plugins/HoerupUtils/src/dk/thoerup/bukkit/hoeruputils/EternalDayCommand.java 2011/05/26 19:09:12 1482 @@ -1,5 +1,7 @@ package dk.thoerup.bukkit.hoeruputils; +import java.util.List; + import org.bukkit.ChatColor; import org.bukkit.Server; import org.bukkit.World; @@ -15,7 +17,7 @@ int taskId = -1; - World world; + List worlds; Server server; Plugin plugin; @@ -23,23 +25,27 @@ this.plugin = plugin; server = plugin.getServer(); - world = server.getWorlds().get(0); + worlds = server.getWorlds(); } @Override public boolean onCommand(final CommandSender sender, Command command, String label, String[] args) { - - - if (taskId == -1) { - taskId = server.getScheduler().scheduleSyncRepeatingTask(plugin, new EternalDayRunner(), 2*20, 60*20); - server.broadcastMessage(ChatColor.YELLOW + "Eternal day is enabled - have a nice long day"); - } else { - server.getScheduler().cancelTask(taskId); - taskId = -1; - server.broadcastMessage(ChatColor.YELLOW + "Eternal day is disabled - watch out for zombies"); + //debug + System.out.println("world count " + worlds.size()); + + try { + if (taskId == -1) { + taskId = server.getScheduler().scheduleSyncRepeatingTask(plugin, new EternalDayRunner(), 2*20, 60*20); + server.broadcastMessage(ChatColor.YELLOW + "Eternal day is enabled - have a nice long day"); + } else { + server.getScheduler().cancelTask(taskId); + taskId = -1; + server.broadcastMessage(ChatColor.YELLOW + "Eternal day is disabled - watch out for zombies"); + } + } catch (Exception e) { + e.printStackTrace(); } - return true; } @@ -48,9 +54,16 @@ // 1000=1 hour, 0 is 06:00 so 12000 is 18:00 @Override public void run() { - if (world.getTime() > 12000) { - world.setTime(0); - server.getScheduler().scheduleSyncDelayedTask(plugin, new MessageBroadcaster(server, ChatColor.YELLOW + "Eternalday has extended the period of light once again!")); + try { + for(World world : worlds) { + System.out.println(" >" + world.getName() + " : " + world.getTime() ); + if (world.getTime() > 12000) { + world.setTime(0); + server.getScheduler().scheduleSyncDelayedTask(plugin, new MessageBroadcaster(server, ChatColor.YELLOW + "Eternalday has extended the period of light once again!")); + } + } + } catch (Exception e ){ + e.printStackTrace(); } }