Class SimpleCommandMap

    • Constructor Detail

      • SimpleCommandMap

        public SimpleCommandMap​(@NotNull
                                Server server)
    • Method Detail

      • setFallbackCommands

        public void setFallbackCommands()
      • registerAll

        public 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
        Specified by:
        registerAll in interface CommandMap
        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

        public 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
        Specified by:
        register in interface CommandMap
        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
      • register

        public 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
        Specified by:
        register in interface CommandMap
        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
      • dispatch

        public boolean dispatch​(@NotNull
                                CommandSender sender,
                                @NotNull
                                String commandLine)
                         throws CommandException
        Looks for the requested command and executes it if found.
        Specified by:
        dispatch in interface CommandMap
        Parameters:
        sender - The command's sender
        commandLine - 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

        public void clearCommands()
        Description copied from interface: CommandMap
        Clears all registered commands.
        Specified by:
        clearCommands in interface CommandMap
      • getCommand

        @Nullable
        public Command getCommand​(@NotNull
                                  String name)
        Description copied from interface: CommandMap
        Gets the command registered to the specified name
        Specified by:
        getCommand in interface CommandMap
        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
        public List<String> tabComplete​(@NotNull
                                        CommandSender sender,
                                        @NotNull
                                        String cmdLine)
        Description copied from interface: CommandMap
        Looks for the requested command and executes an appropriate tab-completer if found. This method will also tab-complete partial commands.
        Specified by:
        tabComplete in interface CommandMap
        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.
      • tabComplete

        @Nullable
        public List<String> tabComplete​(@NotNull
                                        CommandSender sender,
                                        @NotNull
                                        String cmdLine,
                                        @Nullable
                                        Location location)
        Description copied from interface: CommandMap
        Looks for the requested command and executes an appropriate tab-completer if found. This method will also tab-complete partial commands.
        Specified by:
        tabComplete in interface CommandMap
        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.
      • registerServerAliases

        public void registerServerAliases()