Class CommandAPIHandler<Argument extends AbstractArgument<?, ?, Argument, CommandSender>, CommandSender, Source>

java.lang.Object
dev.jorel.commandapi.CommandAPIHandler<Argument, CommandSender, Source>
Type Parameters:
Argument - The implementation of AbstractArgument being used
CommandSender - The class for running platform commands
Source - The class for running Brigadier commands

public class CommandAPIHandler<Argument extends AbstractArgument<?, ?, Argument, CommandSender>, CommandSender, Source> extends Object
The "brains" behind the CommandAPI. Handles command registration
  • Constructor Details

  • Method Details

    • getRawArgumentInput

      public static <CommandSource> String getRawArgumentInput(com.mojang.brigadier.context.CommandContext<CommandSource> cmdCtx, String key)
      Returns the raw input for an argument for a given command context and its key. This effectively returns the string value that is currently typed for this argument
      Type Parameters:
      CommandSource - the command source type
      Parameters:
      cmdCtx - the command context which is used to run this command
      key - the node name for the argument
      Returns:
      the raw input string for this argument
    • onLoad

      public void onLoad()
    • onEnable

      public void onEnable()
    • onDisable

      public void onDisable()
    • getInstance

      public static CommandAPIHandler<?,?,?> getInstance()
    • getPlatform

    • generateCommand

      public com.mojang.brigadier.Command<Source> generateCommand(Argument[] args, CommandAPIExecutor<CommandSender, AbstractCommandSender<? extends CommandSender>> executor, boolean converted)
      Generates a command to be registered by the CommandAPI.
      Parameters:
      args - set of ordered argument pairs which contain the prompt text and their argument types
      executor - code to be ran when the command is executed
      converted - True if this command is being converted from another plugin, and false otherwise
      Returns:
      a brigadier command which is registered internally
    • writeDispatcherToFile

      public void writeDispatcherToFile()
    • getField

      public static Field getField(Class<?> clazz, String name)
      Caches a field using reflection if it is not already cached, then return the field of a given class. This will also make the field accessible.
      Parameters:
      clazz - the class where the field is declared
      name - the name of the field
      Returns:
      a Field reference
    • getField

      public static Field getField(Class<?> clazz, String name, String mojangMappedName)
      Caches a field using reflection if it is not already cached, then return the field of a given class. This will also make the field accessible.
      Parameters:
      clazz - the class where the field is declared
      name - the name of the field
      mojangMappedName - the name of a field under Mojang mappings
      Returns:
      a Field reference