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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1497 - (hide annotations) (download)
Sat Jun 4 07:50:14 2011 UTC (13 years ago) by torben
Original Path: miscJava/bukkit-minecraft-plugins/HoerupUtils/src/dk/thoerup/bukkit/hoeruputils/web/StatusListener.java
File size: 2216 byte(s)
more space between the sections
1 torben 1241 package dk.thoerup.bukkit.hoeruputils.web;
2    
3 torben 1494 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 torben 1241 import org.bukkit.Server;
9 torben 1494 import org.bukkit.util.config.ConfigurationNode;
10 torben 1241 import org.bukkit.entity.Player;
11     import org.bukkit.plugin.Plugin;
12 torben 1494 import org.bukkit.util.config.Configuration;
13 torben 1241 import org.kokakiwi.apicraft.events.ApiEvent;
14     import org.kokakiwi.apicraft.events.ApiListener;
15    
16     public class StatusListener extends ApiListener {
17    
18 torben 1495 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
19 torben 1494
20 torben 1241 Server server;
21     public StatusListener(Server server) {
22     this.server = server;
23     }
24 torben 1494
25     String formatTime(String input) {
26     Date d = new Date( Long.parseLong(input) );
27     return format.format(d );
28     }
29 torben 1241
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 torben 1497 sb.append("\n");
43 torben 1494
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 torben 1497 sb.append("\n");
66 torben 1494
67    
68 torben 1241 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