Interface BrigadierManager<S extends studio.mevera.imperat.context.Source>

Type Parameters:
S - the command-source valueType
All Known Implementing Classes:
BaseBrigadierManager

public sealed interface BrigadierManager<S extends studio.mevera.imperat.context.Source> permits BaseBrigadierManager<S>
A class that manages parsing Command into brigadier CommandNode
  • Method Summary

    Modifier and Type
    Method
    Description
    @NotNull com.mojang.brigadier.arguments.ArgumentType<?>
    getArgumentType(studio.mevera.imperat.command.parameters.CommandParameter<S> parameter)
    Fetches the argument valueType from the parameter
    <T> com.mojang.brigadier.tree.LiteralCommandNode<T>
    parseCommandIntoNode(studio.mevera.imperat.command.Command<S> command)
    Parses the registered Command to brigadier node
    <T> void
    registerArgumentResolver(Class<T> type, ArgumentTypeResolver argumentTypeResolver)
    Registers the argument valueType to its class valueType
    void
    Registers the argument valueType resolver
    wrapCommandSource(Object commandSource)
    Converts the original command source from brigadier into the platform's command-source
  • Method Details

    • wrapCommandSource

      S wrapCommandSource(Object commandSource)
      Converts the original command source from brigadier into the platform's command-source
      Parameters:
      commandSource - the command source
      Returns:
      the platform's command sender/source
    • registerArgumentResolver

      <T> void registerArgumentResolver(Class<T> type, ArgumentTypeResolver argumentTypeResolver)
      Registers the argument valueType to its class valueType
      Type Parameters:
      T - the valueType parameter for the valueType.
      Parameters:
      type - the valueType to register to the value-valueType obj
      argumentTypeResolver - the value valueType resolver
    • registerArgumentResolver

      void registerArgumentResolver(ArgumentTypeResolver argumentTypeResolver)
      Registers the argument valueType resolver
      Parameters:
      argumentTypeResolver - the value valueType resolver
    • getArgumentType

      @NotNull @NotNull com.mojang.brigadier.arguments.ArgumentType<?> getArgumentType(studio.mevera.imperat.command.parameters.CommandParameter<S> parameter)
      Fetches the argument valueType from the parameter
      Parameters:
      parameter - the parameter
      Returns:
      the ArgumentType for the CommandParameter
    • parseCommandIntoNode

      <T> com.mojang.brigadier.tree.LiteralCommandNode<T> parseCommandIntoNode(studio.mevera.imperat.command.Command<S> command)
      Parses the registered Command to brigadier node
      Returns:
      the parsed node