Here's my improved version of the Online Command.
Code:
if (sp[0].equals("online")) {
if (sp.length < 2) {
int connected = 0;
for (ChannelServer chs : ChannelServer.getAllInstances()) {
int clients = chs.getPlayerStorage().getAllCharacters().size();
connected += clients;
mc.dropMessage(6, "Channel " + chs.getChannel() + " : " + clients);
}
mc.dropMessage(6, "Connected clients : " + connected);
} else {
int cId = Integer.parseInt(sp[1]);
ChannelServer chs = ChannelServer.getInstance(cId);
if (chs != null) {
Collection<MapleCharacter> ch = new LinkedHashSet<MapleCharacter>(chs.getPlayerStorage().getAllCharacters());
StringBuilder characters = new StringBuilder();
for (MapleCharacter cha : ch)
characters.append(MapleCharacter.makeMapleReadable(cha.getName()) + ", ");
mc.dropMessage(6, "Channel " + cId + " : " + ch.size());
mc.dropMessage(6, characters.substring(0, characters.length() - 2));
} else {
mc.dropMessage(5, "Channel " + cId + " is offline.");
}
}
}