Package dev.jorel.commandapi.arguments
Class CustomArgument<T,B>
java.lang.Object
dev.jorel.commandapi.AbstractArgumentTree<Argument<T>,Argument<?>,org.bukkit.command.CommandSender>
dev.jorel.commandapi.arguments.AbstractArgument<T,Argument<T>,Argument<?>,org.bukkit.command.CommandSender>
dev.jorel.commandapi.arguments.Argument<T>
dev.jorel.commandapi.arguments.CustomArgument<T,B>
- Type Parameters:
T- the return type of this custom argument when it is usedB- the return type of the underlying base argumentbase. For example, this would beIntegerfor anIntegerArgument
- All Implemented Interfaces:
BukkitExecutable<Argument<T>>,ChainableBuilder<Argument<T>>,PlatformExecutable<Argument<T>,org.bukkit.command.CommandSender>
An argument that represents any custom object
- Since:
- 2.0
- API Note:
- Returns a
CustomArgumentobject
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn exception used to create command-related errors for the CustomArgumentstatic final recordA record which contains information which can be passed to the custom argument's parser.static interfaceA FunctionalInterface that takes in aCustomArgument.CustomArgumentInfo, returns T and can throw aCustomArgument.CustomArgumentExceptionstatic classMessageBuilder is used to create error messages for invalid argument inputs -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected CommandAPIExecutor<org.bukkit.command.CommandSender, AbstractCommandSender<? extends org.bukkit.command.CommandSender>> -
Constructor Summary
ConstructorsConstructorDescriptionCustomArgument(Argument<B> base, CustomArgument.CustomArgumentInfoParser<T, B> parser) Creates a CustomArgument with a valid parser, with an underlying base argument as its parsing implementation. -
Method Summary
Modifier and TypeMethodDescriptionCommandAPIExecutor<org.bukkit.command.CommandSender, AbstractCommandSender<? extends org.bukkit.command.CommandSender>> <CommandSourceStack>
TparseArgument(com.mojang.brigadier.context.CommandContext<CommandSourceStack> cmdCtx, String key, CommandArguments previousArgs) voidsetExecutor(CommandAPIExecutor<org.bukkit.command.CommandSender, AbstractCommandSender<? extends org.bukkit.command.CommandSender>> arg0) Methods inherited from class dev.jorel.commandapi.arguments.AbstractArgument
combineWith, copyPermissionsAndRequirements, getArgumentPermission, getCombinedArguments, getEntityNames, getHelpString, getIncludedSuggestions, getNodeName, getOverriddenSuggestions, getRawType, getRequirements, hasCombinedArguments, includeSuggestions, isListed, isOptional, replaceSuggestions, setListed, setOptional, toString, withPermission, withPermission, withRequirementMethods inherited from class dev.jorel.commandapi.AbstractArgumentTree
thenMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface dev.jorel.commandapi.BukkitExecutable
executes, executes, executes, executes, executesCommandBlock, executesCommandBlock, executesCommandBlock, executesCommandBlock, executesConsole, executesConsole, executesConsole, executesConsole, executesEntity, executesEntity, executesEntity, executesEntity, executesFeedbackForwarding, executesFeedbackForwarding, executesFeedbackForwarding, executesFeedbackForwarding, executesNative, executesNative, executesNative, executesNative, executesPlayer, executesPlayer, executesPlayer, executesPlayer, executesProxy, executesProxy, executesProxy, executesProxy, executesRemoteConsole, executesRemoteConsole, executesRemoteConsole, executesRemoteConsoleMethods inherited from interface dev.jorel.commandapi.PlatformExecutable
getExecutor
-
Field Details
-
executor
protected CommandAPIExecutor<org.bukkit.command.CommandSender,AbstractCommandSender<? extends org.bukkit.command.CommandSender>> executor
-
-
Constructor Details
-
CustomArgument
Creates a CustomArgument with a valid parser, with an underlying base argument as its parsing implementation.- Parameters:
base- the base argument to use for this custom argument. This base argument will represent the parsing implementation for client side and server side parsing. This base argument cannot be aLiteralArgumentorMultiLiteralArgumentparser- ACustomArgument.CustomArgumentInfoparser object which includes information such as the command sender, previously declared arguments and current input. This parser should return an object of your choice.<T>the return type of this custom argument when it is used
<B>the return type of the underlying base argumentbase. For example, this would beIntegerfor anIntegerArgument
-
-
Method Details
-
getPrimitiveType
- Specified by:
getPrimitiveTypein classAbstractArgument<T,Argument<T>, Argument<?>, org.bukkit.command.CommandSender>
-
getArgumentType
- Specified by:
getArgumentTypein classAbstractArgument<T,Argument<T>, Argument<?>, org.bukkit.command.CommandSender>
-
parseArgument
public <CommandSourceStack> T parseArgument(com.mojang.brigadier.context.CommandContext<CommandSourceStack> cmdCtx, String key, CommandArguments previousArgs) throws com.mojang.brigadier.exceptions.CommandSyntaxException - Specified by:
parseArgumentin classAbstractArgument<T,Argument<T>, Argument<?>, org.bukkit.command.CommandSender> - Throws:
com.mojang.brigadier.exceptions.CommandSyntaxException
-
getExecutor
public CommandAPIExecutor<org.bukkit.command.CommandSender,AbstractCommandSender<? extends org.bukkit.command.CommandSender>> getExecutor() -
setExecutor
public void setExecutor(CommandAPIExecutor<org.bukkit.command.CommandSender, AbstractCommandSender<? extends org.bukkit.command.CommandSender>> arg0) -
clearExecutors
-