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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1243 - (hide annotations) (download)
Wed Mar 23 21:47:26 2011 UTC (13 years, 2 months ago) by torben
File size: 1581 byte(s)
Move messagebroadcaster to it's own file and make eternaldaycommand broadcast a message when it resets time
1 torben 1240 package dk.thoerup.bukkit.hoeruputils;
2    
3    
4     import java.util.concurrent.atomic.AtomicBoolean;
5    
6     import org.bukkit.ChatColor;
7     import org.bukkit.Server;
8     import org.bukkit.command.Command;
9     import org.bukkit.command.CommandExecutor;
10     import org.bukkit.command.CommandSender;
11     import org.bukkit.plugin.Plugin;
12    
13 torben 1243 import dk.thoerup.bukkit.hoeruputils.utils.MessageBroadcaster;
14    
15 torben 1240 public class MapgenCommand implements CommandExecutor{
16    
17     Server server;
18     Plugin plugin;
19    
20     AtomicBoolean started = new AtomicBoolean(false);
21    
22     public MapgenCommand(Plugin plugin) {
23     this.plugin = plugin;
24     server = plugin.getServer();
25     }
26     @Override
27     public boolean onCommand(final CommandSender sender, Command command, String label, String[] args) {
28    
29     if (started.compareAndSet(false, true)) {
30    
31     server.broadcastMessage(ChatColor.YELLOW + "mapgenerator has started");
32     server.getScheduler().scheduleAsyncDelayedTask(plugin, new MapgenRunner() );
33    
34     server.getWorlds().get(0).save(); //sync world files;
35     } else {
36     server.broadcastMessage(ChatColor.YELLOW + "mapgenerator is already running");
37     }
38     return false;
39     }
40    
41     class MapgenRunner implements Runnable {
42     @Override
43     public void run() {
44     String result = "failed";
45     try {
46     Process p = Runtime.getRuntime().exec("/home/minecraft/bin/createmap.sh all");
47     p.waitFor();
48     result = "finished";
49     } catch(Exception e) {}
50    
51     started.set(false);
52    
53     String msg = "" + ChatColor.YELLOW + "mapgenerator has " + result;
54 torben 1243 server.getScheduler().scheduleSyncDelayedTask(plugin, new MessageBroadcaster(server, msg) );
55 torben 1240 }
56 torben 1243 }
57 torben 1240
58     }

  ViewVC Help
Powered by ViewVC 1.1.20