// Copyright (c) 2015, Christopher "BlayTheNinth" Baker package net.blay09.mods.eirairc.command.base; import net.blay09.mods.eirairc.util.ChatComponentBuilder; import net.minecraft.command.CommandException; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.server.MinecraftServer; import net.minecraft.util.BlockPos; import java.util.Collections; import java.util.List; public class CommandServIRC implements ICommand { @Override public int compareTo(ICommand o) { return getCommandName().compareTo((o.getCommandName())); } @Override public String getCommandName() { return "servirc"; } @Override public String getCommandUsage(ICommandSender sender) { return "eirairc:commands.servirc.usage"; } @Override public List<String> getCommandAliases() { return Collections.singletonList("sirc"); } @Override public void processCommand(ICommandSender sender, String[] args) { if(args.length == 0) { IRCCommandHandler.sendUsageHelp(sender); return; } if(MinecraftServer.getServer() != null && MinecraftServer.getServer().isSinglePlayer()) { ChatComponentBuilder.create().color('c').lang("eirairc:general.notMultiplayer").send(sender); return; } try { IRCCommandHandler.processCommand(sender, args, true); } catch (CommandException e) { ChatComponentBuilder ccb = new ChatComponentBuilder(); ccb.color('c').lang("commands.generic.usage", ccb.push().lang(e.getMessage(), e.getErrorObjects()).pop()).send(sender); } } @Override public boolean canCommandSenderUseCommand(ICommandSender sender) { return true; } @Override public List<String> addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) { return IRCCommandHandler.addTabCompletionOptions(sender, args, pos); } @Override public boolean isUsernameIndex(String[] sender, int args) { return IRCCommandHandler.isUsernameIndex(sender, args); } }