Lightweight shared library powering all Progressive Mods, ensuring stability, performance, and seamless compatibility.

Progressive Core is the shared foundation for all mods within the Progressive Mods ecosystem.
It centralizes common systems, utilities, and internal frameworks, allowing each individual mod to remain lightweight, focused, and easy to maintain. By moving shared logic into a dedicated core module, updates are streamlined and cross-mod compatibility is significantly improved.
Progressive Core does not add gameplay content on its own. Its sole purpose is to provide a stable and consistent backend that ensures all Progressive mods work together reliably and efficiently.
Progressive Core includes several internal APIs that Progressive mods build on:
Core API entry point (EcentrixAPI)
A single access point for registering mods, shared features, and retrieving core services.
Mod & Feature registry (ModRegistry)
A central registry where each Progressive mod can register itself and optionally publish cross-mod features via ResourceLocation IDs. This enables clean optional integrations (e.g., “if Storage is present, enable X”) without hard dependencies.
Network utilities (NetworkManager)
Shared helpers to create consistent packet IDs (either in the core namespace or per-mod namespace), so feature mods don’t have to reinvent naming conventions and collision-avoidance.
Multi-loader platform abstraction (Services + IPlatformHelper)
A service-loaded platform helper that allows common code to query the modloader/platform (Fabric/NeoForge), check whether other mods are loaded, and detect dev vs production environments.
Client model loading helpers (client API)
EcentrixClientAPI, ModelLoaderRegistry, and CustomModelResolver provide a small framework for registering namespace-based model resolvers. Progressive mods can plug in custom model resolution without duplicating boilerplate across loaders.
Shared GUI screens for containers/backpacks (client API)
GenericContainerScreen and GenericBackpackScreen provide reusable container UI logic (auto-sizing by rows, shared textures), so feature mods can keep their client code minimal and consistent.
✅ Required on both client and server
Conversation