SENDER - type of senderSETTINGS - type of platform settingsB - self type for builderpublic interface LiteCommandsBuilder<SENDER,SETTINGS extends dev.rollczi.litecommands.platform.PlatformSettings,B extends LiteCommandsBuilder<SENDER,SETTINGS,B>>
LiteCommands.
Use LiteCommandsFactory.builder(Class, Platform) to create new instance of builder.| Modifier and Type | Method and Description |
|---|---|
<A extends LiteCommandsAdvanced<SENDER,SETTINGS,A>> |
advanced()
Returns advanced builder.
|
B |
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> B |
argument(java.lang.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> B |
argument(java.lang.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> B |
argumentParser(java.lang.Class<T> type,
dev.rollczi.litecommands.argument.ArgumentKey key,
dev.rollczi.litecommands.argument.parser.Parser<SENDER,T> parser) |
<T> B |
argumentParser(java.lang.Class<T> type,
dev.rollczi.litecommands.argument.parser.Parser<SENDER,T> parser) |
<T> B |
argumentSuggester(java.lang.Class<T> type,
dev.rollczi.litecommands.argument.ArgumentKey key,
dev.rollczi.litecommands.argument.suggester.Suggester<SENDER,T> suggester) |
<T> B |
argumentSuggester(java.lang.Class<T> type,
dev.rollczi.litecommands.argument.suggester.Suggester<SENDER,T> suggester) |
<T> B |
argumentSuggestion(java.lang.Class<T> type,
dev.rollczi.litecommands.argument.ArgumentKey key,
dev.rollczi.litecommands.suggestion.SuggestionResult suggestion) |
<T> B |
argumentSuggestion(java.lang.Class<T> type,
dev.rollczi.litecommands.suggestion.SuggestionResult suggestion) |
default <T> B |
bind(java.lang.Class<T> on,
dev.rollczi.litecommands.bind.BindProvider<T> bindProvider) |
<T> B |
bind(java.lang.Class<T> on,
java.util.function.Supplier<T> bind) |
B |
bindUnsafe(java.lang.Class<?> on,
java.util.function.Supplier<?> bind) |
dev.rollczi.litecommands.LiteCommands<SENDER> |
build() |
dev.rollczi.litecommands.LiteCommands<SENDER> |
build(boolean register) |
B |
commands(dev.rollczi.litecommands.LiteCommandsProvider<SENDER> commandsProvider)
Register commands from given provider.
|
B |
commands(java.lang.Object... commands)
This method is used to register additional commands.
|
default <T> B |
context(java.lang.Class<T> on,
dev.rollczi.litecommands.context.ContextProvider<SENDER,T> bind) |
B |
editor(dev.rollczi.litecommands.scope.Scope scope,
dev.rollczi.litecommands.editor.Editor<SENDER> editor) |
B |
editorGlobal(dev.rollczi.litecommands.editor.Editor<SENDER> editor) |
<E extends java.lang.Throwable> |
exception(java.lang.Class<E> exceptionType,
dev.rollczi.litecommands.handler.exception.ExceptionHandler<SENDER,? extends E> handler) |
B |
exceptionUnexpected(dev.rollczi.litecommands.handler.exception.ExceptionHandler<SENDER,java.lang.Throwable> handler) |
<CONFIGURATION,E extends LiteExtension<SENDER,CONFIGURATION>> |
extension(E extension,
LiteConfigurator<CONFIGURATION> configurator)
Register extension for this builder with configurator.
|
<CONFIGURATION> |
extension(LiteExtension<SENDER,CONFIGURATION> extension)
Register extension for this builder.
|
B |
invalidUsage(dev.rollczi.litecommands.invalidusage.InvalidUsageHandler<SENDER> handler) |
<T,CONTEXT> |
message(dev.rollczi.litecommands.message.MessageKey<CONTEXT> key,
dev.rollczi.litecommands.message.InvokedMessage<SENDER,T,CONTEXT> message) |
<T,CONTEXT> |
message(dev.rollczi.litecommands.message.MessageKey<CONTEXT> key,
dev.rollczi.litecommands.message.Message<T,CONTEXT> message) |
<T,CONTEXT> |
message(dev.rollczi.litecommands.message.MessageKey<CONTEXT> key,
T message) |
B |
missingPermission(dev.rollczi.litecommands.permission.MissingPermissionsHandler<SENDER> handler) |
B |
postProcessor(LiteBuilderProcessor<SENDER,SETTINGS> postProcessor) |
B |
preProcessor(LiteBuilderProcessor<SENDER,SETTINGS> preProcessor) |
<T> B |
result(java.lang.Class<T> resultType,
dev.rollczi.litecommands.handler.result.ResultHandler<SENDER,? extends T> handler) |
B |
resultUnexpected(dev.rollczi.litecommands.handler.result.ResultHandler<SENDER,java.lang.Object> handler) |
B |
scheduler(dev.rollczi.litecommands.scheduler.Scheduler scheduler) |
B |
schematicGenerator(dev.rollczi.litecommands.schematic.SchematicFastFormat format) |
B |
schematicGenerator(dev.rollczi.litecommands.schematic.SchematicFormat format) |
B |
schematicGenerator(dev.rollczi.litecommands.schematic.SchematicGenerator<SENDER> schematicGenerator) |
B |
selfProcessor(LiteBuilderProcessor<SENDER,SETTINGS> processor) |
B |
settings(dev.rollczi.litecommands.platform.PlatformSettingsConfigurator<SETTINGS> configurator)
Configure platform settings.
|
B |
validator(dev.rollczi.litecommands.scope.Scope scope,
dev.rollczi.litecommands.validator.Validator<SENDER> validator) |
B |
validatorGlobal(dev.rollczi.litecommands.validator.Validator<SENDER> validator) |
default B |
validatorMarked(dev.rollczi.litecommands.validator.Validator<SENDER> validator) |
B |
wrapper(dev.rollczi.litecommands.wrapper.Wrapper wrapper) |
@ApiStatus.Experimental <A extends LiteCommandsAdvanced<SENDER,SETTINGS,A>> A advanced()
B settings(dev.rollczi.litecommands.platform.PlatformSettingsConfigurator<SETTINGS> configurator)
configurator - configurator for platform settingsPlatformSettingsB commands(dev.rollczi.litecommands.LiteCommandsProvider<SENDER> commandsProvider)
commandsProvider - provider of commandscommands(Object...),
LiteCommandsProviderB commands(java.lang.Object... commands)
CommandRootCommandCommandRootCommandLiteCommandcommands - commands to registercommands(LiteCommandsProvider)<T> B argumentParser(java.lang.Class<T> type, dev.rollczi.litecommands.argument.parser.Parser<SENDER,T> parser)
<T> B argumentParser(java.lang.Class<T> type, dev.rollczi.litecommands.argument.ArgumentKey key, dev.rollczi.litecommands.argument.parser.Parser<SENDER,T> parser)
<T> B argumentSuggestion(java.lang.Class<T> type, dev.rollczi.litecommands.suggestion.SuggestionResult suggestion)
<T> B argumentSuggestion(java.lang.Class<T> type, dev.rollczi.litecommands.argument.ArgumentKey key, dev.rollczi.litecommands.suggestion.SuggestionResult suggestion)
<T> B argumentSuggester(java.lang.Class<T> type, dev.rollczi.litecommands.argument.suggester.Suggester<SENDER,T> suggester)
<T> B argumentSuggester(java.lang.Class<T> type, dev.rollczi.litecommands.argument.ArgumentKey key, dev.rollczi.litecommands.argument.suggester.Suggester<SENDER,T> suggester)
<T> B argument(java.lang.Class<T> type, dev.rollczi.litecommands.argument.resolver.ArgumentResolverBase<SENDER,T> resolver)
type - type of argumentresolver - parser and suggester for a given type<T> B argument(java.lang.Class<T> type, dev.rollczi.litecommands.argument.ArgumentKey key, dev.rollczi.litecommands.argument.resolver.ArgumentResolverBase<SENDER,T> resolver)
type - type of argumentkey - key of argumentresolver - parser and suggester for a given typedefault <T> B context(java.lang.Class<T> on, dev.rollczi.litecommands.context.ContextProvider<SENDER,T> bind)
default <T> B bind(java.lang.Class<T> on, dev.rollczi.litecommands.bind.BindProvider<T> bindProvider)
<T> B bind(java.lang.Class<T> on, java.util.function.Supplier<T> bind)
B bindUnsafe(java.lang.Class<?> on, java.util.function.Supplier<?> bind)
B scheduler(dev.rollczi.litecommands.scheduler.Scheduler scheduler)
<T,CONTEXT> B message(dev.rollczi.litecommands.message.MessageKey<CONTEXT> key, dev.rollczi.litecommands.message.Message<T,CONTEXT> message)
<T,CONTEXT> B message(dev.rollczi.litecommands.message.MessageKey<CONTEXT> key, dev.rollczi.litecommands.message.InvokedMessage<SENDER,T,CONTEXT> message)
<T,CONTEXT> B message(dev.rollczi.litecommands.message.MessageKey<CONTEXT> key, T message)
B editor(dev.rollczi.litecommands.scope.Scope scope, dev.rollczi.litecommands.editor.Editor<SENDER> editor)
B validator(dev.rollczi.litecommands.scope.Scope scope, dev.rollczi.litecommands.validator.Validator<SENDER> validator)
default B validatorMarked(dev.rollczi.litecommands.validator.Validator<SENDER> validator)
<T> B result(java.lang.Class<T> resultType, dev.rollczi.litecommands.handler.result.ResultHandler<SENDER,? extends T> handler)
B resultUnexpected(dev.rollczi.litecommands.handler.result.ResultHandler<SENDER,java.lang.Object> handler)
<E extends java.lang.Throwable> B exception(java.lang.Class<E> exceptionType, dev.rollczi.litecommands.handler.exception.ExceptionHandler<SENDER,? extends E> handler)
B exceptionUnexpected(dev.rollczi.litecommands.handler.exception.ExceptionHandler<SENDER,java.lang.Throwable> handler)
B missingPermission(dev.rollczi.litecommands.permission.MissingPermissionsHandler<SENDER> handler)
B invalidUsage(dev.rollczi.litecommands.invalidusage.InvalidUsageHandler<SENDER> handler)
B wrapper(dev.rollczi.litecommands.wrapper.Wrapper wrapper)
B schematicGenerator(dev.rollczi.litecommands.schematic.SchematicGenerator<SENDER> schematicGenerator)
B schematicGenerator(dev.rollczi.litecommands.schematic.SchematicFormat format)
B schematicGenerator(dev.rollczi.litecommands.schematic.SchematicFastFormat format)
B selfProcessor(LiteBuilderProcessor<SENDER,SETTINGS> processor)
B preProcessor(LiteBuilderProcessor<SENDER,SETTINGS> preProcessor)
B postProcessor(LiteBuilderProcessor<SENDER,SETTINGS> postProcessor)
<CONFIGURATION> B extension(LiteExtension<SENDER,CONFIGURATION> extension)
CONFIGURATION - type of configurationextension - extension to register
Example:
.extension(new LiteAdventureExtension<>())
<CONFIGURATION,E extends LiteExtension<SENDER,CONFIGURATION>> B extension(E extension, LiteConfigurator<CONFIGURATION> configurator)
CONFIGURATION - type of configurationextension - extension to registerconfigurator - configurator for extension
Example:
.extension(new LiteAdventureExtension<>(), configuration -> configuration
.colorizeArgument(true)
.miniMessage(true)
.legacyColor(true)
.serializer(ComponentSerializer.miniMessage())
)
@ApiStatus.Experimental B annotations(LiteConfigurator<AnnotationsExtension<SENDER>> configurator)
configurator - configurator for extension
.extensionAnnotation(extension -> extension
.processor(new MyAnnotationProcessor())
.validator(String.class, IsValid.class, new StringValidator())
)
dev.rollczi.litecommands.LiteCommands<SENDER> build()
dev.rollczi.litecommands.LiteCommands<SENDER> build(boolean register)