MariesLib
No reviews yet
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
Neoforge is a fork of the Minecraft Forge available for versions 1.20.1+ of Minecraft. Many Forge mods are compatible with Neoforge and vice versa.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
About
Description

I wanted to pull out all the reusable code From Nourished, and place it in one library. MariesLib This is a shared Lib behind Marie's mods.
It handles the hard problems, auto-classifying thousands of items from modded content, three-tier compat with modpack overrides, player tracking with memory and decay, datapack tooling with validation, Dynamic UI and more, so consuming mods can focus on gameplay.
MariesLib 0.1.1-beta is still under development.
Development is ongoing as more systems are being refined, expanded, and stabilized. Recent work has focused on improving the underlying framework, APIs, registries, and developer tooling to provide a stronger foundation for future Marie mods.
More updates will be shared as development progresses.
Version 0.1.1-beta.4 has been split into four modules:
marie-coremarie-commandsmarie-resourcesmarie-uiThis modular structure will make future maintenance easier, improve organization, and allow individual systems to evolve more independently.
Community
Questions, suggestions, and development discussions are welcome.
A lot of the bug fixes and new features came from here.
Do you need to install this?
Yes: if you use a mod that depends on it.
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, modular, and reusable—a foundation rather than a gameplay framework.
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.
The exact pipeline is determined by the consuming mod. MariesLib provides the infrastructure; gameplay decisions remain the responsibility of the mod using it.
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) |
| Thermal Systems | (Wip) |
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);
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers