## Major refactor: MarieLib required
**This is the refactor release.** Nourished now **hard-depends on [MarieLib 0.1.0-beta.1+](https://modrinth.com/mod/marieslib)**. Install MarieLib before or alongside this version .
Shared infrastructure (scanner, tracking, datapacks, compat framework, registries, client widgets, most public API) lives in MarieLib. Nourished keeps nutrition gameplay, config, and datapacks.
### What changed
- **Architecture**: duplicate API/registry/scanner code removed; `NourishedAPI` delegates to MarieLib.
- **Config**: four module toggles renamed in `nourished-common.toml` (legacy JSON keys still accepted).
- **Scanner/datapacks**: bundled `scanner_spec.json` uses MarieLib schema keys; delete old generated config to regenerate.
- **Compat**: Nourished-owned compat catalog; LSO, Peak Stamina, and Spice of Life Onion hooks moved here.
- **KubeJS**: new server events and `NourishedAPI` bindings (optional; Nourished still loads without KubeJS).
### Fixed
- Preset registry init crash on load.
- Client code updated for MarieLib API renames.
- KubeJS events expose `event.player` on key nutrition events.
### Upgrading from any earlier Nourished
1. **Install MarieLib**: required from this version onward.
2. Delete `config/nourished/scanner_spec.json` before first launch.
3. Review `nourished-common.toml` if you customized module toggles (four keys renamed).
4. Run `/nourished reload` or rejoin to refresh cached state.
[Full changelog](https://github.com/kgbcupcake/nourished/blob/main/CHANGELOG.md)
### Dev-Notes
So the reasoning behind this refactor is Nourished was becoming more of a framework than it was a nutrition mod I decided to split it, which will make it easier for me to work on features for nourished.
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }