/**
* (c) 2014 dmulloy2
*/
package net.t7seven7t.swornguard.commands.troll;
import java.util.ArrayList;
import java.util.List;
import net.dmulloy2.util.FormatUtil;
import net.dmulloy2.util.TimeUtil;
import net.t7seven7t.swornguard.SwornGuard;
import net.t7seven7t.swornguard.commands.SwornGuardCommand;
import net.t7seven7t.swornguard.types.Permission;
import net.t7seven7t.swornguard.types.PlayerData;
import org.bukkit.OfflinePlayer;
/**
* @author dmulloy2
*/
public class CmdTrollCheck extends SwornGuardCommand {
public CmdTrollCheck(SwornGuard plugin) {
super(plugin);
this.name = "trollcheck";
this.aliases.add("trollstatus");
this.addOptionalArg("player");
this.description = "Check a player''s troll status";
this.permission = Permission.TROLL_CHECK;
this.usesPrefix = false;
}
@Override
public void perform() {
OfflinePlayer target = getTarget(0, true);
if (target == null)
return;
PlayerData data = getPlayerData(target);
if (data == null)
return;
if (! data.isTrollHell()) {
sendMessage("&e{0} is not in troll hell.", target.getName());
return;
}
List<String> lines = new ArrayList<String>();
StringBuilder line = new StringBuilder();
line.append(FormatUtil.format("&ePlayer &a{0} &eis currently {1}&ein troll hell.", target.getName(), data.isTrollHell() ? "" : "not "));
lines.add(line.toString());
if (data.isTrollMuted()) {
line = new StringBuilder();
line.append(FormatUtil.format("&eTroll Muted: &ctrue"));
lines.add(line.toString());
}
if (data.isTrollBanned()) {
line = new StringBuilder();
line.append(FormatUtil.format("&eTroll Banned: &ctrue"));
lines.add(line.toString());
}
line = new StringBuilder();
String lastTroller = data.getLastTroller();
if (lastTroller != null && lastTroller.equals(sender.getName())) {
lastTroller = "you";
}
long lastTrollTime = data.getLastTrollHell();
String lastTrollReason = data.getLastTrollReason();
line.append(FormatUtil.format("&eLast put in troll hell by &c{0}&e on &c{1} &e(&c{2}&e) for &c{3}",
lastTroller == null ? "N/A" : lastTroller,
lastTrollTime == 0 ? "N/A" : TimeUtil.getSimpleDate(lastTrollTime),
lastTrollTime == 0 ? "N/A" : TimeUtil.formatTimeDifference(lastTrollTime, System.currentTimeMillis()),
lastTrollReason == null ? "unspecified" : lastTrollReason));
lines.add(line.toString());
for (String s : lines)
sendMessage(s);
}
}