Skip to content

Migrate from DaisyCommand

The main mental model stays the same: concise DSL, typed arguments, and readable execution blocks.

  • DaisyCore is now the home for commands
  • plugin bootstrap happens through DaisyPlatform
  • command sets are discovered from annotated command groups
  • shared lang/config rendering can be installed once through messages(...)
  1. Move your commands into one or more DaisyCommandGroup objects.
  2. Annotate each command group with @DaisyCommandSet.
  3. Enable commands() in DaisyPlatform.create { ... }.
  • DaisyCommandProvider with manual commands(): List<DaisyCommand> -> DaisyCommandGroup
  • executePlayer { ... } -> player { ... }
  • getString(...) ?: return -> stringOr(...) or argOr(...)
  • plugin-local lang helper wrappers -> replyLang(...), lang(...), loading(), failLang(...)