Command DSL
Command DSL
Section titled “Command DSL”Quick lookup
This page is for scanning the public command shape quickly. It is not the full conceptual explanation of the command runtime.
Main types
Section titled “Main types”Primary models
DaisyCommandDaisyCommandProviderDaisyCommandContextDaisyPlayerCommandContextDaisyConsoleCommandContext
Availability
enabled and ignore(true) are startup-time filters, not per-execution permission checks.
Main entrypoints
Section titled “Main entrypoints”fun command(name: String, block: DaisyCommandBuilder.() -> Unit): DaisyCommandCommon builder methods
Section titled “Common builder methods”description(...)aliases(...)permission(...)playerOnly()consoleOnly()cooldown(...)requires { ... }enabled { ... }ignore(true)execute { ... }executePlayer { ... }executeConsole { ... }sub(...)
Discovery contracts
Section titled “Discovery contracts”@DaisyCommandSetinterface DaisyCommandProvider { fun commands(): List<DaisyCommand>}Availability context
Section titled “Availability context”data class DaisyCommandAvailabilityContext( val plugin: JavaPlugin,)enabled { ... } runs during DaisyCore command loading. Use it for config-driven startup decisions, not per-execution permission logic.
Read next
Section titled “Read next”- Tutorial: First Command
- Discovery guide: Auto-Loaded Commands