/[projects]/miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/EternalDayCommand.java
ViewVC logotype

Contents of /miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/EternalDayCommand.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2094 - (show annotations) (download)
Sat Dec 7 15:57:43 2013 UTC (10 years, 5 months ago) by torben
File size: 1782 byte(s)
make eternalday work on multiple worlds
1 package dk.thoerup.bukkit.hoeruputils;
2
3 import java.util.List;
4 import java.util.ArrayList;
5
6 import org.bukkit.ChatColor;
7 import org.bukkit.Server;
8 import org.bukkit.World;
9 import org.bukkit.command.Command;
10 import org.bukkit.command.CommandExecutor;
11 import org.bukkit.command.CommandSender;
12 import org.bukkit.plugin.Plugin;
13
14 import dk.thoerup.bukkit.hoeruputils.utils.MessageBroadcaster;
15
16 public class EternalDayCommand implements CommandExecutor {
17
18
19 int taskId = -1;
20
21 ArrayList<World> worlds = new ArrayList<World>();
22
23 Server server;
24 Plugin plugin;
25
26 public EternalDayCommand(Plugin plugin) {
27
28 this.plugin = plugin;
29 server = plugin.getServer();
30
31 worlds.add( server.getWorld("world") );
32 worlds.add( server.getWorld("world2") );
33 }
34
35 @Override
36 public boolean onCommand(final CommandSender sender, Command command, String label, String[] args) {
37
38 if (taskId == -1) {
39 taskId = server.getScheduler().scheduleSyncRepeatingTask(plugin, new EternalDayRunner(), 2*20, 60*20);
40 server.broadcastMessage(ChatColor.YELLOW + "Eternal day is enabled - have a nice long day");
41 } else {
42 server.getScheduler().cancelTask(taskId);
43 taskId = -1;
44 server.broadcastMessage(ChatColor.YELLOW + "Eternal day is disabled - watch out for zombies");
45 }
46
47 return true;
48 }
49
50 class EternalDayRunner implements Runnable {
51
52 // 1000=1 hour, 0 is 06:00 so 12000 is 18:00
53 @Override
54 public void run() {
55
56 for (World world : worlds) {
57 if (world.getTime() > 12000) {
58 world.setTime(0);
59 String msg = ChatColor.YELLOW + "Eternalday has extended the period of light once again!";
60 //server.getScheduler().scheduleSyncDelayedTask(plugin, new MessageBroadcaster(server, msg));
61 Util.broadcastWorld(world, msg);
62 }
63 }
64 }
65
66 }
67
68 }

  ViewVC Help
Powered by ViewVC 1.1.20