    001package net.minecraft.command;
    002
    003import java.util.List;
    004import net.minecraft.server.MinecraftServer;
    005
    006public class CommandServerPardon extends CommandBase
    007{
    008    public String getCommandName()
    009    {
    010        return "pardon";
    011    }
    012
    013    /**
    014     * Return the required permission level for this command.
    015     */
    016    public int getRequiredPermissionLevel()
    017    {
    018        return 3;
    019    }
    020
    021    public String getCommandUsage(ICommandSender par1ICommandSender)
    022    {
    023        return par1ICommandSender.translateString("commands.unban.usage", new Object[0]);
    024    }
    025
    026    /**
    027     * Returns true if the given command sender is allowed to use this command.
    028     */
    029    public boolean canCommandSenderUseCommand(ICommandSender par1ICommandSender)
    030    {
    031        return MinecraftServer.getServer().getConfigurationManager().getBannedPlayers().isListActive() && super.canCommandSenderUseCommand(par1ICommandSender);
    032    }
    033
    034    public void processCommand(ICommandSender par1ICommandSender, String[] par2ArrayOfStr)
    035    {
    036        if (par2ArrayOfStr.length == 1 && par2ArrayOfStr[0].length() > 0)
    037        {
    038            MinecraftServer.getServer().getConfigurationManager().getBannedPlayers().remove(par2ArrayOfStr[0]);
    039            notifyAdmins(par1ICommandSender, "commands.unban.success", new Object[] {par2ArrayOfStr[0]});
    040        }
    041        else
    042        {
    043            throw new WrongUsageException("commands.unban.usage", new Object[0]);
    044        }
    045    }
    046
    047    /**
    048     * Adds the strings available in this command to the given list of tab completion options.
    049     */
    050    public List addTabCompletionOptions(ICommandSender par1ICommandSender, String[] par2ArrayOfStr)
    051    {
    052        return par2ArrayOfStr.length == 1 ? getListOfStringsFromIterableMatchingLastWord(par2ArrayOfStr, MinecraftServer.getServer().getConfigurationManager().getBannedPlayers().getBannedList().keySet()) : null;
    053    }
    054}