Class Command

java.lang.Object
ru.cwcode.commands.Command
All Implemented Interfaces:
Permissible

public class Command extends Object implements Permissible
  • Field Details

  • Constructor Details

    • Command

      public Command(String name, List<String> aliases)
      Автоматически устанавливается пермишен name и устанавливаются алиасы
    • Command

      public Command(String name)
      Автоматически устанавливается пермишен name
    • Command

      public Command(String name, AbstractExecutor executor)
      Шоткат для сингл-аргументсета в команде без аргументов
    • Command

      public Command(String name, String permission, AbstractExecutor executor)
      Шоткат для сингл-аргументсета в команде без аргументов с кастомным пермишеном
    • Command

      public Command(String name, String permission)
      Указывайте пермишен "" для того, чтобы пермишены рекурсивно не генерировались
    • Command

      public Command(String name, AbstractExecutor executor, Argument... arguments)
      Шоткат для сингл-аргументсета в команде с любыми аргументами
  • Method Details

    • aliases

      public Command aliases(List<String> aliases)
      Устанавливает алиасы для команды. Не работает для рут-команды. Переписывает текущие алиасы
    • arguments

      public Command arguments(ArgumentSet... arguments)
      Добавляет аргументсеты в команду или подкоманду
    • setIgnoreExecutionPossibility

      @Deprecated(forRemoval=true) public Command setIgnoreExecutionPossibility(boolean ignoreExecutionPossibility)
      Deprecated, for removal: This API element is subject to removal in a future version.
    • aliases

      public Command aliases(String... aliases)
      Устанавливает алиасы для команды. Не работает для рут-команды. Переписывает текущие алиасы
    • aliases

      public List<String> aliases()
      Возвращает алиасы команды
    • subCommands

      public Command subCommands(Command... subcommands)
      Добавляет подкоманды в команду. Можно использовать несколько раз
    • register

      public void register()
      Регистрирует команду. Вызывать только раз.
    • clearArgumentSets

      public void clearArgumentSets()
      Очищает аргументсеты из команды или подкоманды
    • help

      public Command help(Help help)
      Устанавливает свой хелп вместо авто-генерируемого
    • description

      public Command description(String shortDescription)
      Устанавливает краткое описание команды для автогенерируемого хелпа
    • description

      public String description()
    • debug

      public Command debug(DebugMode mode)
    • getRootCommand

      public Command getRootCommand()
    • getColorScheme

      public ColorGenerationStrategy getColorScheme()
    • setColorScheme

      public Command setColorScheme(ColorGenerationStrategy colorGenerationStrategy)
      Устанавливает цветовое оформление для хелпа и других сообщений.
    • setColorScheme

      public Command setColorScheme(net.kyori.adventure.text.format.TextColor color)
    • getName

      public String getName()
    • setName

      public Command setName(String name)
      Устанавливает новое имя для команды, если это подкоманда
    • getPermission

      public String getPermission()
      Specified by:
      getPermission in interface Permissible
    • setPermissions

      public Command setPermissions(PermissionGenerationStrategy strategy)
      Parameters:
      strategy - стратегия генерации пермишенов Использовать только в рут-команде
    • canExecute

      public Command canExecute(Predicate<Sender> canExecute)
      Предикат, который проверяется при автокомплите, выводе хелпа и попытке выполнения
    • preconditions

      public Command preconditions(Precondition... preconditions)
      Добавляет Precondition`s в конец списка
    • updatePermissions

      protected void updatePermissions(String permissions)
    • onExecute

      protected void onExecute(Sender sender, String[] args, ArgumentSet founded)
    • getSubcommandsFor

      protected List<Command> getSubcommandsFor(Sender sender, PreconditionRequirements requirements)
    • canPerformedBy

      protected boolean canPerformedBy(Sender sender)
    • checkPreconditions

      protected CommandPreconditionResult checkPreconditions(Sender sender)
    • checkPreconditions

      protected boolean checkPreconditions(Sender sender, PreconditionRequirements requirements)
    • getSubcommandFor

      protected Command getSubcommandFor(String arg, Sender sender)
    • getArgumentSetsFor

      protected List<ArgumentSet> getArgumentSetsFor(Sender sender, PreconditionRequirements requirements)
    • searchForArgumentSet

      protected ArgumentSearchResult searchForArgumentSet(Sender sender, String... args)
    • onError

      protected void onError(Sender sender, String label, String[] args, ArgumentSearchResult argumentSearchResult)
    • showFullHelp

      protected void showFullHelp(Sender sender, String label, String[] args)
    • getFullCommandPath

      @NotNull public @NotNull String getFullCommandPath(String label)