Package dev.rollczi.litecommands
Interface LiteCommandsBuilder<SENDER,SETTINGS extends dev.rollczi.litecommands.platform.PlatformSettings,B extends LiteCommandsBuilder<SENDER,SETTINGS,B>>
- Type Parameters:
SENDER- type of senderSETTINGS- type of platform settingsB- self type for builder
- All Known Subinterfaces:
LiteCommandsAdvanced<SENDER,SETTINGS, B>
- All Known Implementing Classes:
LiteCommandsBaseBuilder
public interface LiteCommandsBuilder<SENDER,SETTINGS extends dev.rollczi.litecommands.platform.PlatformSettings,B extends LiteCommandsBuilder<SENDER,SETTINGS,B>>
Builder for
LiteCommands.
Use LiteCommandsFactory.builder(Class, Platform) to create new instance of builder.-
Method Summary
Modifier and TypeMethodDescription<A extends LiteCommandsAdvanced<SENDER,SETTINGS, A>>
Aadvanced()Returns advanced builder.afterBuild(LiteBuilderAction<SENDER, SETTINGS> action) annotations(LiteConfigurator<AnnotationsExtension<SENDER>> configurator) [Experimental] Register extension for annotations processing/ Please note that this method is experimental and may be deprecated or removed in the future.<T> Bargument(Class<T> type, dev.rollczi.litecommands.argument.ArgumentKey key, dev.rollczi.litecommands.argument.resolver.ArgumentResolverBase<SENDER, T> resolver) [Keyed Argument Parser and Suggester] Register argument parser and suggester for a given type and key.<T> Bargument(Class<T> type, dev.rollczi.litecommands.argument.resolver.ArgumentResolverBase<SENDER, T> resolver) [Argument Parser and Suggester] Register argument parser and suggester for given type.<T> BargumentParser(Class<T> type, dev.rollczi.litecommands.argument.ArgumentKey key, dev.rollczi.litecommands.argument.parser.Parser<SENDER, T> parser) <T> BargumentParser(Class<T> type, dev.rollczi.litecommands.argument.parser.Parser<SENDER, T> parser) <T> BargumentSuggester(Class<T> type, dev.rollczi.litecommands.argument.ArgumentKey key, dev.rollczi.litecommands.argument.suggester.Suggester<SENDER, T> suggester) <T> BargumentSuggester(Class<T> type, dev.rollczi.litecommands.argument.suggester.Suggester<SENDER, T> suggester) <T> BargumentSuggestion(Class<T> type, dev.rollczi.litecommands.argument.ArgumentKey key, dev.rollczi.litecommands.suggestion.SuggestionResult suggestion) <T> BargumentSuggestion(Class<T> type, dev.rollczi.litecommands.suggestion.SuggestionResult suggestion) beforeBuild(LiteBuilderAction<SENDER, SETTINGS> action) default <T> B<T> BbindUnsafe(Class<?> on, Supplier<?> bind) dev.rollczi.litecommands.LiteCommands<SENDER> build()dev.rollczi.litecommands.LiteCommands<SENDER> build(boolean register) Register commands from given provider.This method is used to register additional commands.default <T> Beditor(dev.rollczi.litecommands.scope.Scope scope, dev.rollczi.litecommands.editor.Editor<SENDER> editor) editorGlobal(dev.rollczi.litecommands.editor.Editor<SENDER> editor) exception(Class<E> exceptionType, dev.rollczi.litecommands.handler.exception.ExceptionHandler<SENDER, ? extends E> handler) exceptionUnexpected(dev.rollczi.litecommands.handler.exception.ExceptionHandler<SENDER, Throwable> handler) <CONFIGURATION>
Bextension(LiteExtension<SENDER, CONFIGURATION> extension) Register extension for this builder.<CONFIGURATION,E extends LiteExtension<SENDER, CONFIGURATION>>
Bextension(E extension, LiteConfigurator<CONFIGURATION> configurator) Register extension for this builder with configurator.invalidUsage(dev.rollczi.litecommands.invalidusage.InvalidUsageHandler<SENDER> handler) listener(dev.rollczi.litecommands.event.EventListener listener) Register event listener for the LiteCommands event system.<E extends dev.rollczi.litecommands.event.Event>
B<T,CONTEXT>
Bmessage(dev.rollczi.litecommands.message.MessageKey<CONTEXT> key, dev.rollczi.litecommands.message.InvokedMessage<SENDER, T, CONTEXT> message) <T,CONTEXT>
Bmessage(dev.rollczi.litecommands.message.MessageKey<CONTEXT> key, dev.rollczi.litecommands.message.Message<T, CONTEXT> message) <T,CONTEXT>
Bmessage(dev.rollczi.litecommands.message.MessageKey<CONTEXT> key, T message) missingPermission(dev.rollczi.litecommands.permission.MissingPermissionsHandler<SENDER> handler) permissionResolver(dev.rollczi.litecommands.permission.PermissionResolver permissionResolver) default BpostProcessor(LiteBuilderAction<SENDER, SETTINGS> postProcessor) Deprecated.default BpreProcessor(LiteBuilderAction<SENDER, SETTINGS> preProcessor) Deprecated.usebeforeBuild(LiteBuilderAction)instead<T> Bresult(Class<T> resultType, dev.rollczi.litecommands.handler.result.ResultHandler<SENDER, ? extends T> handler) resultUnexpected(dev.rollczi.litecommands.handler.result.ResultHandler<SENDER, Object> handler) scheduler(dev.rollczi.litecommands.scheduler.Scheduler scheduler) schematicGenerator(dev.rollczi.litecommands.schematic.SchematicFastFormat format) schematicGenerator(dev.rollczi.litecommands.schematic.SchematicFormat format) schematicGenerator(dev.rollczi.litecommands.schematic.SchematicGenerator<SENDER> schematicGenerator) self(LiteBuilderAction<SENDER, SETTINGS> action) default BselfProcessor(LiteBuilderAction<SENDER, SETTINGS> processor) Deprecated.useself(LiteBuilderAction)insteadConfigure platform settings.strictMode(dev.rollczi.litecommands.strict.StrictMode strictMode) Set the default strict mode for all commands.validator(dev.rollczi.litecommands.scope.Scope scope, dev.rollczi.litecommands.validator.Validator<SENDER> validator) Deprecated.validatorGlobal(dev.rollczi.litecommands.validator.Validator<SENDER> validator) Deprecated.default BvalidatorMarked(dev.rollczi.litecommands.validator.Validator<SENDER> validator)
-
Method Details
-
advanced
Returns advanced builder. This builder is used to configure advanced settings. -
settings
Configure platform settings.- Parameters:
configurator- configurator for platform settings- Returns:
- this builder
- See Also:
-
commands
Register commands from given provider.- Parameters:
commandsProvider- provider of commands- Returns:
- this builder
- See Also:
-
commands
This method is used to register additional commands. There are several types of objects that can be registered: Using annotations:- An instance annotated with
Command - An instance annotated with
RootCommand - A class annotated with
Command - A class annotated with
RootCommand
- An instance of
LiteCommand
- Parameters:
commands- commands to register- Returns:
- This method returns the current LiteCommand builder instance This allows you to chain multiple calls together, using the builder design pattern.
- See Also:
- An instance annotated with
-
argumentParser
-
argumentParser
-
argumentSuggestion
-
argumentSuggestion
-
argumentSuggester
-
argumentSuggester
-
argument
<T> B argument(Class<T> type, dev.rollczi.litecommands.argument.resolver.ArgumentResolverBase<SENDER, T> resolver) [Argument Parser and Suggester] Register argument parser and suggester for given type.- Parameters:
type- type of argumentresolver- parser and suggester for a given type- Returns:
- this builder
-
argument
<T> B argument(Class<T> type, dev.rollczi.litecommands.argument.ArgumentKey key, dev.rollczi.litecommands.argument.resolver.ArgumentResolverBase<SENDER, T> resolver) [Keyed Argument Parser and Suggester] Register argument parser and suggester for a given type and key. Key is used to define namespace for given parser. It is used to identify which parsers with same type should be used. Argument type is used to define what type is compatible with given parser.- Parameters:
type- type of argumentkey- key of argumentresolver- parser and suggester for a given type- Returns:
- this builder
-
context
-
bind
-
bind
-
bindUnsafe
-
scheduler
-
message
<T,CONTEXT> B message(dev.rollczi.litecommands.message.MessageKey<CONTEXT> key, dev.rollczi.litecommands.message.Message<T, CONTEXT> message) -
message
-
message
-
editorGlobal
-
editor
-
validatorGlobal
Deprecated. -
validator
@Deprecated B validator(dev.rollczi.litecommands.scope.Scope scope, dev.rollczi.litecommands.validator.Validator<SENDER> validator) Deprecated. -
validatorMarked
-
result
-
resultUnexpected
-
exception
-
exceptionUnexpected
-
missingPermission
-
invalidUsage
-
schematicGenerator
-
schematicGenerator
-
schematicGenerator
-
strictMode
Set the default strict mode for all commands. If strict mode is enabled, the command will fail if the user provides too many arguments. -
listener
Register event listener for the LiteCommands event system. SeeEvent,SubscriberandEventListenerfor more information. Example listener:@public class MyListener implements EventListener { \@Subscriber public void onEvent(CommandPreExecutionEvent event) { // your code } \@Subscriber public void onEvent(CommandPostExecutionEvent event) { // your code } } -
listener
-
selfProcessor
Deprecated.useself(LiteBuilderAction)instead -
preProcessor
Deprecated.usebeforeBuild(LiteBuilderAction)instead -
postProcessor
Deprecated.useafterBuild(LiteBuilderAction)instead -
self
-
beforeBuild
-
afterBuild
-
permissionResolver
-
extension
Register extension for this builder.- Type Parameters:
CONFIGURATION- type of configuration- Parameters:
extension- extension to register Example:.extension(new LiteAdventureExtension<>())- Returns:
- this builder
-
extension
<CONFIGURATION,E extends LiteExtension<SENDER, B extensionCONFIGURATION>> (E extension, LiteConfigurator<CONFIGURATION> configurator) Register extension for this builder with configurator.- Type Parameters:
CONFIGURATION- type of configuration- Parameters:
extension- extension to registerconfigurator- configurator for extension Example:.extension(new LiteAdventureExtension<>(), configuration -> configuration .colorizeArgument(true) .miniMessage(true) .legacyColor(true) .serializer(ComponentSerializer.miniMessage()) )- Returns:
- this builder
-
annotations
[Experimental] Register extension for annotations processing/ Please note that this method is experimental and may be deprecated or removed in the future.- Parameters:
configurator- configurator for extension- processor - register new annotation processor
- validator - register new validator for requirement
.extensionAnnotation(extension -> extension .processor(new MyAnnotationProcessor()) .validator(String.class, IsValid.class, new StringValidator()) )- Returns:
- this builder
-
build
dev.rollczi.litecommands.LiteCommands<SENDER> build() -
build
-
afterBuild(LiteBuilderAction)instead