Class BaseBrigadierManager<S extends dev.velix.imperat.context.Source>

java.lang.Object
dev.velix.imperat.BaseBrigadierManager<S>
All Implemented Interfaces:
BrigadierManager<S>

public abstract non-sealed class BaseBrigadierManager<S extends dev.velix.imperat.context.Source> extends Object implements BrigadierManager<S>
  • Field Details

    • dispatcher

      protected final dev.velix.imperat.Imperat<S extends dev.velix.imperat.context.Source> dispatcher
    • resolvers

      protected final List<ArgumentTypeResolver> resolvers
  • Constructor Details

    • BaseBrigadierManager

      protected BaseBrigadierManager(dev.velix.imperat.Imperat<S> dispatcher)
  • Method Details

    • parseCommandIntoNode

      @NotNull public <CN extends com.mojang.brigadier.tree.CommandNode<?>> CN parseCommandIntoNode(@NotNull @NotNull dev.velix.imperat.command.Command<S> command)
      Description copied from interface: BrigadierManager
      Parses the registered Command to brigadier node
      Specified by:
      parseCommandIntoNode in interface BrigadierManager<S extends dev.velix.imperat.context.Source>
      Returns:
      the parsed node
    • registerArgumentResolver

      public <T> void registerArgumentResolver(Class<T> type, ArgumentTypeResolver argumentTypeResolver)
      Description copied from interface: BrigadierManager
      Registers the argument type to its class type
      Specified by:
      registerArgumentResolver in interface BrigadierManager<S extends dev.velix.imperat.context.Source>
      Type Parameters:
      T - the type parameter for the type.
      Parameters:
      type - the type to register to the value-type obj
      argumentTypeResolver - the value type resolver
    • registerArgumentResolver

      public void registerArgumentResolver(ArgumentTypeResolver argumentTypeResolver)
      Description copied from interface: BrigadierManager
      Registers the argument type resolver
      Specified by:
      registerArgumentResolver in interface BrigadierManager<S extends dev.velix.imperat.context.Source>
      Parameters:
      argumentTypeResolver - the value type resolver
    • getArgumentType

      @NotNull public @NotNull com.mojang.brigadier.arguments.ArgumentType<?> getArgumentType(dev.velix.imperat.command.parameters.CommandParameter<S> parameter)
      Description copied from interface: BrigadierManager
      Fetches the argument type from the parameter
      Specified by:
      getArgumentType in interface BrigadierManager<S extends dev.velix.imperat.context.Source>
      Parameters:
      parameter - the parameter
      Returns:
      the ArgumentType for the CommandParameter