Class CommandSpec.Builder<S>

java.lang.Object
dev.ua.theroer.magicutils.commands.CommandSpec.Builder<S>
Type Parameters:
S - sender type
Enclosing class:
CommandSpec<S>

public static final class CommandSpec.Builder<S> extends Object
Builder for compatibility command specifications.
  • Constructor Details

    • Builder

      public Builder(String name)
      Creates a builder for the specified command name.
      Parameters:
      name - command name
  • Method Details

    • description

      public CommandSpec.Builder<S> description(String description)
      Sets the command description.
      Parameters:
      description - description text
      Returns:
      this builder
    • aliases

      public CommandSpec.Builder<S> aliases(String... aliases)
      Adds command aliases.
      Parameters:
      aliases - alias list
      Returns:
      this builder
    • permission

      public CommandSpec.Builder<S> permission(String permission)
      Sets explicit permission node.
      Parameters:
      permission - permission string
      Returns:
      this builder
    • permissionDefault

      public CommandSpec.Builder<S> permissionDefault(MagicPermissionDefault permissionDefault)
      Sets the default permission value.
      Parameters:
      permissionDefault - default permission enum
      Returns:
      this builder
    • threading

      public CommandSpec.Builder<S> threading(CommandThreading threading)
      Sets the threading policy.
      Parameters:
      threading - threading policy
      Returns:
      this builder
    • argument

      public CommandSpec.Builder<S> argument(CommandArgument argument)
      Adds a single argument.
      Parameters:
      argument - argument definition
      Returns:
      this builder
    • arguments

      public CommandSpec.Builder<S> arguments(List<CommandArgument> arguments)
      Adds multiple arguments.
      Parameters:
      arguments - argument list
      Returns:
      this builder
    • execute

      public CommandSpec.Builder<S> execute(CommandExecutor<S> executor)
      Sets the execution handler.
      Parameters:
      executor - executor implementation
      Returns:
      this builder
    • subCommand

      public CommandSpec.Builder<S> subCommand(SubCommandSpec<S> subCommand)
      Adds a subcommand specification.
      Parameters:
      subCommand - subcommand spec
      Returns:
      this builder
    • mergePolicy

      public CommandSpec.Builder<S> mergePolicy(MergePolicy mergePolicy)
      Sets how this command's root execute is owned when merged into a shared root. Defaults to MergePolicy.CONTRIBUTE.
      Parameters:
      mergePolicy - the merge policy
      Returns:
      this builder
    • build

      public CommandSpec<S> build()
      Builds the immutable command spec.
      Returns:
      command spec