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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1497 - (show annotations) (download)
Sat Jun 4 07:50:14 2011 UTC (12 years, 11 months ago) by torben
File size: 2216 byte(s)
more space between the sections
1 package dk.thoerup.bukkit.hoeruputils.web;
2
3 import java.io.File;
4 import java.text.SimpleDateFormat;
5 import java.util.Date;
6 import java.util.List;
7 import java.util.Map;
8 import org.bukkit.Server;
9 import org.bukkit.util.config.ConfigurationNode;
10 import org.bukkit.entity.Player;
11 import org.bukkit.plugin.Plugin;
12 import org.bukkit.util.config.Configuration;
13 import org.kokakiwi.apicraft.events.ApiEvent;
14 import org.kokakiwi.apicraft.events.ApiListener;
15
16 public class StatusListener extends ApiListener {
17
18 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
19
20 Server server;
21 public StatusListener(Server server) {
22 this.server = server;
23 }
24
25 String formatTime(String input) {
26 Date d = new Date( Long.parseLong(input) );
27 return format.format(d );
28 }
29
30 @Override
31 public void onApiEvent(ApiEvent event) {
32 if(event.path[0].equalsIgnoreCase("webstatus")) {
33 StringBuilder sb = new StringBuilder();
34
35 //out.writeBytes("Server: " + server.getServerName() + "\n");
36 sb.append("Version: " + server.getVersion() + "\n\n");
37
38 sb.append("--- Online players ---\n");
39 for (Player p : server.getOnlinePlayers()) {
40 sb.append( p.getName() + "\n");
41 }
42 sb.append("\n");
43
44 sb.append("--- Last seen players/offline ---\n");
45 File configFile = new File("./plugins/LastSeen/times.yml");
46 if (configFile.exists() ) {
47 Configuration config = new Configuration(configFile);
48 config.load();
49
50 List<String> keys = config.getKeys(null);
51 if (keys != null) {
52 for (String key : keys) {
53 if (server.getPlayer(key) != null) // player is online
54 continue;
55
56 String last = config.getString( key + ".logout");
57 sb.append("" + key + ": " + formatTime(last) + "\n") ;
58 }
59 } else {
60 sb.append("no players found\n");
61 }
62 } else {
63 sb.append("could not find LastSeen/times.yml\n");
64 }
65 sb.append("\n");
66
67
68 sb.append("--- Plugins ---\n");
69 for (Plugin plugin : server.getPluginManager().getPlugins()) {
70 sb.append( plugin.getDescription().getName() + " " + plugin.getDescription().getVersion() + "\n");
71 }
72
73 event.setResponse(sb.toString());
74 event.setActionTaken(true);
75 }
76 }
77
78 }

  ViewVC Help
Powered by ViewVC 1.1.20