← Назад к ресурсам

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

Modrinth game-mechanics utility

Описание

# MariesLib MariesLib is a shared development library for my NeoForge mods. It contains reusable systems that would otherwise have to be implemented separately in each project. It is intentionally focused on framework infrastructure rather than providing its own gameplay mechanics. What it provides * **Value tracking**: persistent player values with decay, thresholds, effects, diminishing returns, source memory, synergies, and milestones. * **Generic tracking**: reusable counters for things such as blocks mined, entities defeated, distance traveled, machine operations, and other numeric statistics. * **Classification**: configurable item classification with tags, namespaces, keywords, recipes, weighted signals, overrides, exclusions, and runtime resolution. * **Compatibility**: runtime compatibility definitions with mod-provided registrations and configuration overrides. * **Resource systems**: JSON, configuration, and datapack-driven definitions and overrides. * **Dynamic UI**: reusable components, draggable/resizable panels, widgets, notifications, rendering utilities, and the shared Command Center. * **UI editing**: module positioning, scaling, visibility, colors, layout editing, toolboxes, and editor controls. * **Developer tooling**: framework commands, diagnostics, classification tracing, and request/response networking. * **KubeJS integration**: experimental bindings for selected framework APIs. Architecture MariesLib is split into several modules: * `marie-core`: core APIs, tracking, classification, compatibility, and shared services * `marie-commands`: commands and diagnostic tooling * `marie-resources`: resource-driven definitions and overrides * `marie-ui`: reusable UI infrastructure * `marie-editor`: UI editing and configuration infrastructure The library is designed so that consuming mods provides the actual meaning and gameplay rules. For example: **MariesLib:**: provides generic value tracking. **Nourished:**: defines nutrition values and how they affect the player. Compatibility & API MariesLib targets **Minecraft 1.21.1 / NeoForge. 21.1.x / Java 21**. The library uses explicit API stability levels: * `@Stable`: intended for external use * `@Experimental`: usable but subject to change * `@Internal`: implementation detail and not intended for external use MariesLib is distributed as a normal NeoForge dependency and is not bundled through Jar-in-Jar. Projects Currently used or planned for: * **Nourished** * **Thermal Systems** * **ProjectE Extended Life** **License:** LGPL-3.0-only **Source:** [GitHub](https://github.com/kgbcupcake/MariesLib) **Documentation:** [API Reference](https://github.com/kgbcupcake/MariesLib/blob/dev/API.md) **Changelog:** [CHANGELOG.md](https://github.com/kgbcupcake/MariesLib/blob/dev/CHANGELOG.md)