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

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

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.20