/**
* Copyright (C) 2012 t7seven7t
*/
package net.t7seven7t.swornguard.commands;
import java.util.ArrayList;
import java.util.List;
import net.dmulloy2.util.FormatUtil;
import net.t7seven7t.swornguard.SwornGuard;
import net.t7seven7t.swornguard.types.Permission;
import net.t7seven7t.swornguard.types.PlayerData;
import org.bukkit.OfflinePlayer;
/**
* @author t7seven7t
*/
public class CmdIP extends PaginatedCommand {
private OfflinePlayer target = null;
private List<String> ipList = null;
public CmdIP(SwornGuard plugin) {
super(plugin);
this.name = "ip";
this.description = plugin.getMessage("desc_ip");
this.permission = Permission.CMD_IP;
this.addOptionalArg("player");
this.addOptionalArg("page");
this.pageArgIndex = 1;
this.usesPrefix = true;
}
@Override
public void perform() {
target = getTarget(0);
if (target == null)
return;
PlayerData data = getPlayerData(target);
if (data == null)
return;
if (data.getIpAddressList() != null) {
ipList = new ArrayList<String>();
for (int i = data.getIpAddressList().size() - 1; i >= 0; i--) {
ipList.add(data.getIpAddressList().get(i));
}
super.perform();
} else {
err(plugin.getMessage("error_no_ip_data"), target.getName());
}
// Clear variables
target = null;
ipList = null;
}
@Override
public int getListSize() {
return ipList.size();
}
@Override
public String getHeader(int index) {
return FormatUtil.format(plugin.getMessage("ip_header"), target.getName(), index, getPageCount());
}
@Override
public String getLine(int index) {
return FormatUtil.format("&e{0}", ipList.get(index));
}
}