Added testing version of ctgstats command.

Signed-off-by: Exultant <insane.au@gmail.com>
This commit is contained in:
Exultant
2012-10-22 14:10:35 +11:00
parent 4edffeb393
commit e2f59499e3
3 changed files with 92 additions and 0 deletions

View File

@@ -80,6 +80,12 @@ commands:
ctstats: ctstats:
description: Displays stats. description: Displays stats.
usage: /ctstats usage: /ctstats
ctgstats:
description: Displayers group statistics
usage: /ctgstats <group-name>
ctpstats:
description: Displayers player statistics
usage: /ctpstats <player-name>
ctleave: ctleave:
aliases: ctl aliases: ctl
description: Leave a group. description: Leave a group.

View File

@@ -0,0 +1,61 @@
package com.untamedears.citadel.command.commands;
import java.util.HashMap;
import java.util.Set;
import org.bukkit.Material;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.untamedears.citadel.Citadel;
import com.untamedears.citadel.ReinforcementManager;
import com.untamedears.citadel.command.PlayerCommand;
import com.untamedears.citadel.entity.IReinforcement;
import com.untamedears.citadel.entity.PlayerReinforcement;
public class GroupStatsCommand extends PlayerCommand {
public GroupStatsCommand() {
super("View Group Stats");
setDescription("View citadel group stats");
setUsage("/ctgstats <group-name>");
setIdentifiers(new String[] {"ctgstats"});
}
public boolean execute(CommandSender sender, String[] args) {
sender.sendMessage("ctgstats");
if (sender instanceof Player || args == null || args.length != 1) {
return false;
}
printReinforcements(sender, args[0], countReinforcements(args[0]));
return true;
}
protected HashMap<Material,Integer> countReinforcements(String name) {
HashMap<Material,Integer> hash = new HashMap<Material,Integer>();
ReinforcementManager reinforcementManager = Citadel.getReinforcementManager();
Set<IReinforcement> set = reinforcementManager.getReinforcementsByGroup(name);
Material mat;
for (IReinforcement r : set) {
PlayerReinforcement pr = (PlayerReinforcement)r;
mat = pr.getMaterial().getMaterial();
if (hash.containsKey(mat)) {
hash.put(mat, hash.get(mat)+1);
} else {
hash.put(mat, 1);
}
}
return hash;
}
protected void printReinforcements(CommandSender sender, String name, HashMap<Material, Integer> reinforcements) {
sender.sendMessage("Group name: "+name);
Set<Material> mats = reinforcements.keySet();
for (Material m : mats) {
sender.sendMessage(m.name()+": "+reinforcements.get(m));
}
}
}

View File

@@ -0,0 +1,25 @@
package com.untamedears.citadel.command.commands;
import org.bukkit.command.CommandSender;
import com.untamedears.citadel.Citadel;
import com.untamedears.citadel.ReinforcementManager;
import com.untamedears.citadel.command.PlayerCommand;
public class PlayerStatsCommand extends PlayerCommand {
public PlayerStatsCommand() {
super("View Player Stats");
setDescription("View citadel player stats");
setUsage("/ctgstats <player-name>");
setIdentifiers(new String[] {"ctpstats"});
}
public boolean execute(CommandSender sender, String[] args) {
ReinforcementManager reinforcementManager = Citadel.getReinforcementManager();
// TODO Auto-generated method stub
return false;
}
}