Interface CommandContext<T extends me.lucyy.squirtgun.platform.PermissionHolder>

Type Parameters:
T - the subject type.
All Known Implementing Classes:
StringContext

public interface CommandContext<T extends me.lucyy.squirtgun.platform.PermissionHolder>
The context a command is executed in, responsible for parsin, tab-completing and executing the command. It contains data such as the command target and the arguments provided to it so far.
Since:
2.0.0
  • Method Summary

    Modifier and Type Method Description
    net.kyori.adventure.text.Component execute()
    Executes the command.
    @Nullable java.lang.Object getArgumentValue​(java.lang.String name)
    Gets the value of an argument by name.
    <U> U getArgumentValue​(CommandArgument<U> argument)
    Gets the value of an argument.
    @NotNull me.lucyy.squirtgun.format.FormatProvider getFormat()
    Gets the format provider to use in message decoration.
    java.lang.String getRaw()
    Gets the raw input given to this context.
    CommandNode<T> getTail()
    Gets the last node in the chain that has been reached.
    T getTarget()
    Gets this command context's target.
    @Nullable java.util.List<java.lang.String> tabComplete()
    Gets the string to be shown in the tabcompleter.
  • Method Details

    • getTarget

      T getTarget()
      Gets this command context's target.
    • getArgumentValue

      @Nullable <U> U getArgumentValue​(CommandArgument<U> argument)
      Gets the value of an argument.
      Parameters:
      argument - the argument to get the value for
      Returns:
      the value if available - if unset then null
    • getArgumentValue

      @Nullable @Nullable java.lang.Object getArgumentValue​(java.lang.String name)
      Gets the value of an argument by name.
      Parameters:
      name - the name of the argument to get the value for
      Returns:
      the value if available, if unset then null.
      Throws:
      java.lang.IllegalArgumentException - if the name given is not a registered argument
    • getRaw

      java.lang.String getRaw()
      Gets the raw input given to this context.
    • getFormat

      @NotNull @NotNull me.lucyy.squirtgun.format.FormatProvider getFormat()
      Gets the format provider to use in message decoration.
    • tabComplete

      @Nullable @Nullable java.util.List<java.lang.String> tabComplete()
      Gets the string to be shown in the tabcompleter.
    • execute

      net.kyori.adventure.text.Component execute()
      Executes the command.
    • getTail

      CommandNode<T> getTail()
      Gets the last node in the chain that has been reached.