001    package net.minecraft.command;
002    
003    import java.util.List;
004    
005    public interface ICommand extends Comparable
006    {
007        String getCommandName();
008    
009        String getCommandUsage(ICommandSender var1);
010    
011        List getCommandAliases();
012    
013        void processCommand(ICommandSender var1, String[] var2);
014    
015        /**
016         * Returns true if the given command sender is allowed to use this command.
017         */
018        boolean canCommandSenderUseCommand(ICommandSender var1);
019    
020        /**
021         * Adds the strings available in this command to the given list of tab completion options.
022         */
023        List addTabCompletionOptions(ICommandSender var1, String[] var2);
024    
025        /**
026         * Return whether the specified command parameter index is a username parameter.
027         */
028        boolean isUsernameIndex(int var1);
029    }