Skip to content

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.

Primary models

  • DaisyCommand
  • DaisyCommandProvider
  • DaisyCommandContext
  • DaisyPlayerCommandContext
  • DaisyConsoleCommandContext

Availability

enabled and ignore(true) are startup-time filters, not per-execution permission checks.

fun command(name: String, block: DaisyCommandBuilder.() -> Unit): DaisyCommand
  • description(...)
  • aliases(...)
  • permission(...)
  • playerOnly()
  • consoleOnly()
  • cooldown(...)
  • requires { ... }
  • enabled { ... }
  • ignore(true)
  • execute { ... }
  • executePlayer { ... }
  • executeConsole { ... }
  • sub(...)
@DaisyCommandSet
interface DaisyCommandProvider {
fun commands(): List<DaisyCommand>
}
data class DaisyCommandAvailabilityContext(
val plugin: JavaPlugin,
)

enabled { ... } runs during DaisyCore command loading. Use it for config-driven startup decisions, not per-execution permission logic.