Modscraper Modscraper Minecraft
MariesLib logo

MariesLib

Mod

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

Type

Mod

Modrinth Downloads

3

Modrinth ID

VA0Qgf4B

Last Updated

Jun 14, 2026

Description

Banner

I kept rebuilding the same plumbing in every Marie mod, registries, compat discovery, source classification, caching, JSON helpers. It worked, but it was duplicated everywhere and painful to maintain.

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 other Marie mods build on.

Community

Discord Channel

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 1.0.0+ 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 framework for NeoForge 1.21.1 MariePerfTools Block entity culling and performance tooling (in development)

For mod developers

MariesLib exposes a public API through MarieAPI:

float level = MarieAPI.getValueLevel(player, "proteins"); MarieAPI.registerValue(definition); MarieAPI.registerCompatEntry(definition); MarieAPI.registerCustomEffect(thresholdEffect);

Compatibility

Mod Loaders

Neoforge

Game Versions

1.21.1

Screenshots

Similar Mods

External Resources