
MariesLib
MariesLib is a shared NeoForge 1.21.1 library powering Marie’s mods. It provides runtime item classification, mod compatibility discovery, registry infrastructure, and developer utilities
Screenshots

About this Mod

So I wanted to build a dynamic library for Nourished, (& reusable code for planned mods).
So I pulled it out into one library. MariesLib is the shared backbone behind mods like Nourished. It is not a gameplay mod. It is the foundation for my other mods build on.
Community
Questions, suggestions, and development discussion are welcome.
Do you need to install this?
Yes: if you use a mod that depends on it.
MariesLib is a required library mod, not hidden infrastructure. Nourished currently requires MariesLib_v0.1.0-beta.1+ as a separate install alongside it.
Install both:
- Nourished
- MariesLib_v0.1.0-beta.1 or newer
Mod loaders and launchers that resolve dependencies automatically should pull MarieLib in for you. If Nourished fails to load, check that MarieLib is present and up to date.
For mod developers
- Every Marie mod requires MariesLib as a separate mod on the classpath. There is no JarJar bundling. Declare marieslib as a required dependency and wire your runtime through MarieLibContext at bootstrap.
What it provides
MariesLib handles shared infrastructure so Marie mods can focus on gameplay:
| System | What it does |
|---|---|
| Classification | Runtime source resolution, scanner tooling, and classification traces |
| Compat discovery | Three-tier compatibility registry with modpack overrides |
| Registry lifecycle | Lifecycle-aware registries with snapshots and reload support |
| Tracking & values | Player value tracking, memory windows, decay, and effect hooks |
| Diagnostics | Datapack validation, unknown-item logging, and debug commands |
| Config tooling | Presets, import/export, share codes, and module locks |
| Utilities | JSON helpers, bounded LRU cache, running averages, validation |
It is designed to stay lightweight and readable: a foundation, not a feature dump.
The classification pipeline
This is the core of MariesLib.
When a consuming mod needs to reason about a source it has never seen before, MariesLib resolves it through staged runtime logic:
- Runtime resolution: with caching and cascade fallbacks
- Token normalization: for domain-specific source vocabulary
- Recipe inheritance: and multi-value blending where configured
- Override registries: via
config/<modid>/source_overrides.json - Classification traces: so developers can inspect why a source resolved the way it did
There is also a developer-facing scanner for bulk analysis of unclassified sources. In current Marie mods, that means items with FoodProperties, such as Nourished’s food classification workflow. It is not a player-facing gameplay feature.
Broad mod compatibility
MariesLib uses a three-tier compat system:
| Tier | Source | Notes |
|---|---|---|
| 1 | data/<modid>/compat/compat_registry.json in the consuming mod |
Base registry |
| 2 | data/<other_modid>/marie_compat.json from loaded mods |
Mod-provided declarations |
| 3 | config/<modid>/compat_overrides.json |
Modpack overrides |
Later tiers merge into earlier entries rather than replacing them wholesale. That gives mod authors, addon authors, and modpack creators a predictable override path without recompiling.
Mods built on MariesLib
| Mod | Description |
|---|---|
| Nourished | Nutrition mod for NeoForge 1.21.1 |
| ProjecT E Extended Life | (Planned) |
For mod developers
MariesLib exposes a public API through MarieAPI:
float level = MarieAPI.getValueLevel(player, "Item");
MarieAPI.registerValue(definition);
MarieAPI.registerCompatEntry(definition);
MarieAPI.registerCustomEffect(thresholdEffect);
Available Versions
How to Install MariesLib on Your Server
Order Server
Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).
Set neoforge Loader
In the panel under "Egg", select the neoforge loader and matching Minecraft version (1.21.1).
Install Mod
Open the mod browser in the dashboard and search for "MariesLib". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
1.21.1
Server-side
✓ RequiredRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
MariesLib server crashes on startup – what to do?
Most common cause: wrong neoforge version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.21.1). You can switch loaders with one click in the panel.
Is MariesLib compatible with neoforge?
MariesLib officially supports neoforge for Minecraft 1.21.1. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with MariesLib – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if MariesLib consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.
Similar Mods
Rent Modded Server
Install MariesLib with just one click on your server.