/[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 1240 - (show annotations) (download)
Tue Mar 22 19:50:46 2011 UTC (13 years, 1 month ago) by torben
File size: 1718 byte(s)
added /mapgen command
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 public class MapgenCommand implements CommandExecutor{
14
15 Server server;
16 Plugin plugin;
17
18 AtomicBoolean started = new AtomicBoolean(false);
19
20 public MapgenCommand(Plugin plugin) {
21 this.plugin = plugin;
22 server = plugin.getServer();
23 }
24 @Override
25 public boolean onCommand(final CommandSender sender, Command command, String label, String[] args) {
26
27 if (started.compareAndSet(false, true)) {
28
29 server.broadcastMessage(ChatColor.YELLOW + "mapgenerator has started");
30 server.getScheduler().scheduleAsyncDelayedTask(plugin, new MapgenRunner() );
31
32 server.getWorlds().get(0).save(); //sync world files;
33 } else {
34 server.broadcastMessage(ChatColor.YELLOW + "mapgenerator is already running");
35 }
36 return false;
37 }
38
39 class MapgenRunner implements Runnable {
40 @Override
41 public void run() {
42 String result = "failed";
43 try {
44 Process p = Runtime.getRuntime().exec("/home/minecraft/bin/createmap.sh all");
45 p.waitFor();
46 result = "finished";
47 } catch(Exception e) {}
48
49 started.set(false);
50
51 String msg = "" + ChatColor.YELLOW + "mapgenerator has " + result;
52 server.getScheduler().scheduleSyncDelayedTask(plugin, new MessageBroadcaster(msg) );
53 }
54 }
55
56 class MessageBroadcaster implements Runnable{
57 String msg;
58
59 public MessageBroadcaster(String msg) {
60 this.msg = msg;
61 }
62 @Override
63 public void run() {
64 server.broadcastMessage(msg);
65 }
66 }
67
68 }

  ViewVC Help
Powered by ViewVC 1.1.20