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