// Copyright (c) 2015, Christopher "BlayTheNinth" Baker package net.blay09.mods.eirairc.command; import net.blay09.mods.eirairc.ConnectionManager; import net.blay09.mods.eirairc.api.SubCommand; import net.blay09.mods.eirairc.api.irc.IRCChannel; import net.blay09.mods.eirairc.api.irc.IRCConnection; import net.blay09.mods.eirairc.api.irc.IRCContext; import net.blay09.mods.eirairc.util.ChatComponentBuilder; import net.blay09.mods.eirairc.util.Utils; import net.minecraft.command.ICommandSender; import net.minecraft.util.ChatComponentText; import java.util.List; public class CommandList implements SubCommand { @Override public String getCommandName() { return "list"; } @Override public String getCommandUsage(ICommandSender sender) { return "eirairc:commands.list.usage"; } @Override public String[] getAliases() { return null; } @Override public boolean processCommand(ICommandSender sender, IRCContext context, String[] args, boolean serverSide) { if(ConnectionManager.getConnectionCount() == 0) { Utils.sendLocalizedMessage(sender, "error.notConnectedToIRC"); return true; } ChatComponentBuilder.create().color('e').lang("eirairc:commands.list.activeConnections").send(sender); for(IRCConnection connection : ConnectionManager.getConnections()) { StringBuilder sb = new StringBuilder(); for(IRCChannel channel : connection.getChannels()) { if(sb.length() > 0) { sb.append(", "); } sb.append(channel.getName()); } sender.addChatMessage(new ChatComponentText(" * " + connection.getHost() + " (" + sb.toString() + ")")); } return true; } @Override public boolean canCommandSenderUseCommand(ICommandSender sender) { return true; } @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 false; } }