--- miscJava/bukkit-minecraft-plugins/HoerupUtils/src/dk/thoerup/bukkit/hoeruputils/EternalDayCommand.java 2011/03/23 21:29:52 1242 +++ miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/EternalDayCommand.java 2017/05/29 13:03:52 3196 @@ -1,5 +1,8 @@ package dk.thoerup.bukkit.hoeruputils; +import java.util.List; +import java.util.ArrayList; + import org.bukkit.ChatColor; import org.bukkit.Server; import org.bukkit.World; @@ -8,12 +11,15 @@ import org.bukkit.command.CommandSender; import org.bukkit.plugin.Plugin; +import dk.thoerup.bukkit.hoeruputils.utils.MessageBroadcaster; + public class EternalDayCommand implements CommandExecutor { int taskId = -1; - World world; + ArrayList worlds = new ArrayList(); + Server server; Plugin plugin; @@ -21,13 +27,21 @@ this.plugin = plugin; server = plugin.getServer(); - world = server.getWorlds().get(0); + + addWorld( server, "world" ); + addWorld( server, "creative" ); + } + + private void addWorld(Server server, String worldName) { + World world = server.getWorld( worldName ); + if (world != null) { + worlds.add( world ); + } } @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"); @@ -37,7 +51,6 @@ server.broadcastMessage(ChatColor.YELLOW + "Eternal day is disabled - watch out for zombies"); } - return true; } @@ -46,8 +59,14 @@ // 1000=1 hour, 0 is 06:00 so 12000 is 18:00 @Override public void run() { - if (world.getTime() > 12000) { - world.setTime(0); + + for (World world : worlds) { + if (world.getTime() > 12000) { + world.setTime(0); + String msg = ChatColor.YELLOW + "Eternalday has extended the period of light once again!"; + //server.getScheduler().scheduleSyncDelayedTask(plugin, new MessageBroadcaster(server, msg)); + Util.broadcastWorld(world, msg); + } } }