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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1243 - (show annotations) (download)
Wed Mar 23 21:47:26 2011 UTC (13 years, 1 month 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 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 import dk.thoerup.bukkit.hoeruputils.utils.MessageBroadcaster;
14
15 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 server.getScheduler().scheduleSyncDelayedTask(plugin, new MessageBroadcaster(server, msg) );
55 }
56 }
57
58 }

  ViewVC Help
Powered by ViewVC 1.1.20