package pw.yumc.Residence.commandsub;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.ResidenceManager;

import cn.citycraft.PluginHelper.commands.BaseCommand;
import pw.yumc.Residence.ResidenceMain;
import pw.yumc.Residence.text.Language;

public class CommandSubList extends BaseCommand {
    ResidenceMain plugin;

    public CommandSubList(final ResidenceMain plugin) {
        super("sublist");
        this.plugin = plugin;
        setOnlyPlayerExecutable();
    }

    @Override
    public void execute(final CommandSender sender, final Command command, final String label, final String[] args) throws CommandException {
        final Player player = (Player) sender;
        final ResidenceManager rmanager = plugin.getResidenceManager();
        final Language language = plugin.getLanguage();
        int page = 1;
        try {
            if (args.length > 0) {
                page = Integer.parseInt(args[args.length - 1]);
            }
        } catch (final Exception ex) {
        }
        if (args.length == 1 || args.length == 2) {
            ClaimedResidence res;
            if (args.length == 0) {
                res = rmanager.getByLoc(player.getLocation());
            } else {
                res = rmanager.getByName(args[0]);
            }
            if (res != null) {
                res.printSubzoneList(player, page);
            } else {
                player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence"));
            }
            return;
        }
        return;
    }

}
