Package dev.velix.imperat
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 Summary
FieldsModifier and TypeFieldDescriptionprotected final dev.velix.imperat.Imperat<S>protected final List<ArgumentTypeResolver> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedBaseBrigadierManager(dev.velix.imperat.Imperat<S> dispatcher) -
Method Summary
Modifier and TypeMethodDescription@NotNull com.mojang.brigadier.arguments.ArgumentType<?>getArgumentType(dev.velix.imperat.command.parameters.CommandParameter<S> parameter) Fetches the argument type from the parameter<CN extends com.mojang.brigadier.tree.CommandNode<?>>
CNparseCommandIntoNode(@NotNull dev.velix.imperat.command.Command<S> command) Parses the registeredCommandto brigadier nodevoidregisterArgumentResolver(ArgumentTypeResolver argumentTypeResolver) Registers the argument type resolver<T> voidregisterArgumentResolver(Class<T> type, ArgumentTypeResolver argumentTypeResolver) Registers the argument type to its class typeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface dev.velix.imperat.BrigadierManager
wrapCommandSource
-
Field Details
-
dispatcher
-
resolvers
-
-
Constructor Details
-
BaseBrigadierManager
-
-
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:BrigadierManagerParses the registeredCommandto brigadier node- Specified by:
parseCommandIntoNodein interfaceBrigadierManager<S extends dev.velix.imperat.context.Source>- Returns:
- the parsed node
-
registerArgumentResolver
Description copied from interface:BrigadierManagerRegisters the argument type to its class type- Specified by:
registerArgumentResolverin interfaceBrigadierManager<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 objargumentTypeResolver- the value type resolver
-
registerArgumentResolver
Description copied from interface:BrigadierManagerRegisters the argument type resolver- Specified by:
registerArgumentResolverin interfaceBrigadierManager<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:BrigadierManagerFetches the argument type from the parameter- Specified by:
getArgumentTypein interfaceBrigadierManager<S extends dev.velix.imperat.context.Source>- Parameters:
parameter- the parameter- Returns:
- the
ArgumentTypefor theCommandParameter
-