DaisyConfig
DaisyConfig owns typed YAML, managed lifecycle, and the production path for config-heavy plugins.
Use DaisyConfig when YAML shape, versioning, missing-key merge, reload safety, and shared settings-plus-lang ownership are the real engineering problem.
Depends on DaisySeries + DaisyCore to complete the normal runtime flow.
settings.yml plus lang.yml together through one managed module handle.What DaisyConfig handles
Section titled “What DaisyConfig handles”Map YAML into real objects with explicit shape, path-aware validation, and DaisySeries-backed value codecs.
Keep the low-level DaisyYaml and simple handle path when one file and one codec are enough.
Own config_version, default-file creation, missing-key merge, ordered migrations, and last-good runtime preservation.
Load modules/<category>/<module>/settings.yml plus lang.yml as one typed settings-and-text unit.
The rule is deliberate: DaisyConfig owns typed YAML and lifecycle. It does not try to become a parser layer, renderer, or generic utility bucket just to feel broader.
What DaisyConfig does not handle
Section titled “What DaisyConfig does not handle”DaisyConfig stores text and config data only. It does not call PlaceholderAPI or run a second render pipeline.
DaisyCore still owns MiniMessage parsing, viewer-aware rendering, and runtime UI behavior.
DaisySeries still owns canonical keys, aliases, and value parsing rules for the broader modern Paper value surface, including materials, sounds, biomes, attributes, difficulties, particles, and more.
Best first path
Section titled “Best first path”Install DaisyConfig and define the config shape
Start with Install DaisyConfig and then build your first typed config.
Move to managed YAML when file lifecycle becomes real
Use Managed YAML Files when config versioning, missing-key merge, or startup migration safety matter more than raw file loading.
Adopt module bundles when settings and lang already travel together
Use Module Bundles for modules/<category>/<module>/settings.yml plus lang.yml, with one reload/migrate path and one text source.
Pair DaisyConfig with DaisyCore only when runtime rendering is already real
Use Use DaisyConfig with DaisyCore when the same plugin already needs runtime UI plus stored text.
Quick links
Section titled “Quick links”- Start here: Install DaisyConfig
- Managed path: Managed YAML Files
- Migrations: YAML Migrations
- Registry: Module Registry
- End-to-end example: Example Plugin Walkthrough
- DaisyCore bridge: Use DaisyConfig with DaisyCore
- Migration guide: From Plugin-Local Config Loaders