Annotation Type Parser
This annotation allows you to create annotated methods that behave like argument parsers.
The method must have this exact signature:
﹫Parser("name") // Name may be left out
public ParsedType methodName(CommandContext<YourSender> sender, Queue<String> input) {
}
The method can throw exceptions, and the thrown exceptions will automatically be
wrapped by a ArgumentParseResult.failure(Throwable)
- Since:
- 1.3.0
-
Optional Element Summary
Modifier and TypeOptional ElementDescriptionThe name of the parser.Name of the suggestions provider to use.
-
Element Details
-
name
String nameThe name of the parser. If this is left empty, the parser will be registered as a default parser for the return type of the method- Returns:
- Parser name
- Default:
- ""
-
suggestions
String suggestionsName of the suggestions provider to use. If the string is left empty, the default provider for theArgument
will be used. Otherwise, theParserRegistry
instance in theCommandManager
will be queried for a matching suggestion provider.For this to work, the suggestion needs to be registered in the parser registry. To do this, use
ParserRegistry.registerSuggestionProvider(String, BiFunction)
. The registry instance can be retrieved usingCommandManager.parserRegistry()
.- Returns:
- The name of the suggestion provider, or
""
- Default:
- ""
-