Skip to content

Command arguments

Berke Akçen edited this page Feb 8, 2024 · 12 revisions

Table of contents

Command argument basics

CommandArguments is an utility class for Command Framework and includes the basic parameters related Bukkit commands and bunch of useful methods to improve your code.

Getting command arguments

    // We have created a basic command named "example"
    @Command(
            name = "example"
    )
    public void exampleCommandMethod(CommandArguments arguments) {
        // To get command sender use CommandArguments#getSender method
        CommandSender sender = arguments.getSender();

        // To check who is the sender
        if (arguments.isSenderPlayer()) {
            // now sender is player
        } else {
            // and now sender is console
        }

        // To get as Bukkit's command use CommandArguments#getCommand method
        // After that you can be able to get command's name, description, permission, etc.
        org.bukkit.command.Command command = arguments.getCommand();

        // To get label of command use CommandArguments#getLabel method
        String label = arguments.getLabel();

        // To get arguments of command use CommandArguments#getArguments() method
        // and don't forget these arguments is not all the parts of default arguments
        // because they'll be splitted after sub-command parts
        String[] args = arguments.getArguments();
       
       // To get specific argument without receiving argument array
       // There is no exception during this operation but also don't forget
       // that method can be null if index is out of bounds.
       String firstArgument = arguments.getArgument(0);

       // To get arguments array is empty or not without receiving array.
       boolean isArgsEmpty = arguments.isArgumentsEmpty();

       // To send message to command sender without receivingits object
       arguments.sendMessage("Hey there!");
 
       // To check if command sender has permission without receiving sender object
       if (arguments.hasPermission("command.framework") {
           // sender has the given permission
       }
           // sender has not the given permission
       }

       // To get arguments length without receiving string array
       int argumentsLength = arguments.getLength();
    }
Clone this wiki locally