Package studio.mevera.imperat
Class BaseBrigadierManager<S extends studio.mevera.imperat.context.Source>
java.lang.Object
studio.mevera.imperat.BaseBrigadierManager<S>
- All Implemented Interfaces:
BrigadierManager<S>
public abstract non-sealed class BaseBrigadierManager<S extends studio.mevera.imperat.context.Source>
extends Object
implements BrigadierManager<S>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final studio.mevera.imperat.Imperat<S>protected final List<ArgumentTypeResolver> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedBaseBrigadierManager(studio.mevera.imperat.Imperat<S> dispatcher) -
Method Summary
Modifier and TypeMethodDescription@NotNull com.mojang.brigadier.arguments.ArgumentType<?>getArgumentType(studio.mevera.imperat.command.parameters.CommandParameter<S> parameter) Fetches the argument valueType from the parameter<T> @NotNull com.mojang.brigadier.tree.LiteralCommandNode<T>parseCommandIntoNode(@NotNull studio.mevera.imperat.command.Command<S> command) Parses the registeredCommandto brigadier node<T> voidregisterArgumentResolver(Class<T> type, ArgumentTypeResolver argumentTypeResolver) Registers the argument valueType to its class valueTypevoidregisterArgumentResolver(ArgumentTypeResolver argumentTypeResolver) Registers the argument valueType resolverMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface studio.mevera.imperat.BrigadierManager
wrapCommandSource
-
Field Details
-
dispatcher
protected final studio.mevera.imperat.Imperat<S extends studio.mevera.imperat.context.Source> dispatcher -
resolvers
-
-
Constructor Details
-
BaseBrigadierManager
-
-
Method Details
-
parseCommandIntoNode
@NotNull public <T> @NotNull com.mojang.brigadier.tree.LiteralCommandNode<T> parseCommandIntoNode(@NotNull @NotNull studio.mevera.imperat.command.Command<S> command) Description copied from interface:BrigadierManagerParses the registeredCommandto brigadier node- Specified by:
parseCommandIntoNodein interfaceBrigadierManager<S extends studio.mevera.imperat.context.Source>- Returns:
- the parsed node
-
registerArgumentResolver
Description copied from interface:BrigadierManagerRegisters the argument valueType to its class valueType- Specified by:
registerArgumentResolverin interfaceBrigadierManager<S extends studio.mevera.imperat.context.Source>- Type Parameters:
T- the valueType parameter for the valueType.- Parameters:
type- the valueType to register to the value-valueType objargumentTypeResolver- the value valueType resolver
-
registerArgumentResolver
Description copied from interface:BrigadierManagerRegisters the argument valueType resolver- Specified by:
registerArgumentResolverin interfaceBrigadierManager<S extends studio.mevera.imperat.context.Source>- Parameters:
argumentTypeResolver- the value valueType resolver
-
getArgumentType
@NotNull public @NotNull com.mojang.brigadier.arguments.ArgumentType<?> getArgumentType(studio.mevera.imperat.command.parameters.CommandParameter<S> parameter) Description copied from interface:BrigadierManagerFetches the argument valueType from the parameter- Specified by:
getArgumentTypein interfaceBrigadierManager<S extends studio.mevera.imperat.context.Source>- Parameters:
parameter- the parameter- Returns:
- the
ArgumentTypefor theCommandParameter
-