Interface CommandMap

    • Method Detail

      • registerAll

        void registerAll​(@NotNull
                         String fallbackPrefix,
                         @NotNull
                         List<Command> commands)
        Registers all the commands belonging to a certain plugin.

        Caller can use:-

        • command.getName() to determine the label registered for this command
        • command.getAliases() to determine the aliases which where registered
        Parameters:
        fallbackPrefix - a prefix which is prepended to each command with a ':' one or more times to make the command unique
        commands - a list of commands to register
      • register

        boolean register​(@NotNull
                         String label,
                         @NotNull
                         String fallbackPrefix,
                         @NotNull
                         Command command)
        Registers a command. Returns true on success; false if name is already taken and fallback had to be used.

        Caller can use:-

        • command.getName() to determine the label registered for this command
        • command.getAliases() to determine the aliases which where registered
        Parameters:
        label - the label of the command, without the '/'-prefix.
        fallbackPrefix - a prefix which is prepended to the command with a ':' one or more times to make the command unique
        command - the command to register
        Returns:
        true if command was registered with the passed in label, false otherwise, which indicates the fallbackPrefix was used one or more times
      • register

        boolean register​(@NotNull
                         String fallbackPrefix,
                         @NotNull
                         Command command)
        Registers a command. Returns true on success; false if name is already taken and fallback had to be used.

        Caller can use:-

        • command.getName() to determine the label registered for this command
        • command.getAliases() to determine the aliases which where registered
        Parameters:
        fallbackPrefix - a prefix which is prepended to the command with a ':' one or more times to make the command unique
        command - the command to register, from which label is determined from the command name
        Returns:
        true if command was registered with the passed in label, false otherwise, which indicates the fallbackPrefix was used one or more times
      • dispatch

        boolean dispatch​(@NotNull
                         CommandSender sender,
                         @NotNull
                         String cmdLine)
                  throws CommandException
        Looks for the requested command and executes it if found.
        Parameters:
        sender - The command's sender
        cmdLine - command + arguments. Example: "/test abc 123"
        Returns:
        returns false if no target is found, true otherwise.
        Throws:
        CommandException - Thrown when the executor for the given command fails with an unhandled exception
      • clearCommands

        void clearCommands()
        Clears all registered commands.
      • getCommand

        @Nullable
        Command getCommand​(@NotNull
                           String name)
        Gets the command registered to the specified name
        Parameters:
        name - Name of the command to retrieve
        Returns:
        Command with the specified name or null if a command with that label doesn't exist
      • tabComplete

        @Nullable
        List<String> tabComplete​(@NotNull
                                 CommandSender sender,
                                 @NotNull
                                 String cmdLine)
                          throws IllegalArgumentException
        Looks for the requested command and executes an appropriate tab-completer if found. This method will also tab-complete partial commands.
        Parameters:
        sender - The command's sender.
        cmdLine - The entire command string to tab-complete, excluding initial slash.
        Returns:
        a list of possible tab-completions. This list may be immutable. Will be null if no matching command of which sender has permission.
        Throws:
        CommandException - Thrown when the tab-completer for the given command fails with an unhandled exception
        IllegalArgumentException - if either sender or cmdLine are null
      • tabComplete

        @Nullable
        List<String> tabComplete​(@NotNull
                                 CommandSender sender,
                                 @NotNull
                                 String cmdLine,
                                 @Nullable
                                 Location location)
                          throws IllegalArgumentException
        Looks for the requested command and executes an appropriate tab-completer if found. This method will also tab-complete partial commands.
        Parameters:
        sender - The command's sender.
        cmdLine - The entire command string to tab-complete, excluding initial slash.
        location - The position looked at by the sender, or null if none
        Returns:
        a list of possible tab-completions. This list may be immutable. Will be null if no matching command of which sender has permission.
        Throws:
        CommandException - Thrown when the tab-completer for the given command fails with an unhandled exception
        IllegalArgumentException - if either sender or cmdLine are null