// Copyright (c) 2015 Christopher "BlayTheNinth" Baker package net.blay09.mods.eirairc.command.extension; import net.blay09.mods.eirairc.api.EiraIRCAPI; import net.blay09.mods.eirairc.api.SubCommand; import net.blay09.mods.eirairc.api.irc.IRCContext; import net.blay09.mods.eirairc.api.irc.IRCUser; import net.blay09.mods.eirairc.config.IgnoreList; import net.blay09.mods.eirairc.util.Utils; import net.minecraft.command.ICommandSender; import net.minecraft.command.WrongUsageException; import java.util.List; public class CommandUnignore implements SubCommand { @Override public String getCommandName() { return "unignore"; } @Override public String getCommandUsage(ICommandSender sender) { return "eirairc:commands.unignore.usage"; } @Override public String[] getAliases() { return null; } @Override public boolean processCommand(ICommandSender sender, IRCContext context, String[] args, boolean serverSide) throws WrongUsageException { if(args.length < 1) { throw new WrongUsageException(getCommandUsage(sender)); } IRCContext target = EiraIRCAPI.parseContext(context, args[0], IRCContext.ContextType.IRCUser); if(target.getContextType() == IRCContext.ContextType.Error) { Utils.sendLocalizedMessage(sender, target.getName(), args[0]); return true; } IRCUser user = (IRCUser) target; if(user.getHostname() == null) { Utils.sendLocalizedMessage(sender, "commands.unignore.notKnown", target.getName()); return true; } if(!IgnoreList.isIgnored(user)) { Utils.sendLocalizedMessage(sender, "commands.unignore.notIgnored", target.getName()); return true; } IgnoreList.removeFromIgnoreList(user); Utils.sendLocalizedMessage(sender, "commands.unignore.removed", target.getName()); return true; } @Override public boolean canCommandSenderUseCommand(ICommandSender sender) { return Utils.isOP(sender); } @Override public void addTabCompletionOptions(List<String> list, ICommandSender sender, String[] args) {} @Override public boolean isUsernameIndex(String[] args, int idx) { return false; } @Override public boolean hasQuickCommand() { return true; } }