You are viewing a potentially older version of this package. View all versions.
adamant-ModpackLib-1.0.0 icon

ModpackLib

Shared utilities for adamant modpack standalone mods.

Date uploaded 21 hours ago
Version 1.0.0
Download link adamant-ModpackLib-1.0.0.zip
Downloads 15
Dependency string adamant-ModpackLib-1.0.0

This mod requires the following mods to function

Hell2Modding-Hell2Modding-1.0.78 icon
Hell2Modding-Hell2Modding

Lua Mod Loader for Hades 2

Preferred version: 1.0.78
LuaENVY-ENVY-1.2.0 icon
LuaENVY-ENVY

A plugin to allow ReturnOfModding plugins greater control of their environment.

Preferred version: 1.2.0

README

adamant-ModpackLib

Shared runtime and immediate-mode UI toolkit for adamant modpack modules.

Lib now owns:

  • managed module storage and explicit session
  • storage typing and normalization
  • hash/profile encoding helpers
  • mutation lifecycle helpers for affectsRunData modules
  • standalone hosting helpers
  • immediate-mode widgets and navigation helpers

Lib does not own a declarative UI tree/runtime anymore. New module UI should be written directly in module draw functions such as internal.DrawTab(ui, session) and optional internal.DrawQuickContent(ui, session), then exposed through public.host = lib.createModuleHost(...).

Docs

Current Public Namespaces

  • lib.config
  • lib.logging
  • lib.lifecycle
  • lib.mutation
  • lib.hashing
  • lib.widgets
  • lib.nav

Common top-level helpers:

  • lib.createStore(...)
  • lib.createModuleHost(...)
  • lib.standaloneHost(...)
  • lib.isModuleEnabled(...)
  • lib.isModuleCoordinated(...)
  • lib.resetStorageToDefaults(...)

Validation

cd adamant-ModpackLib
lua5.2 tests/all.lua

CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

Unreleased

1.0.0 - 2026-04-20

Initial public release of the adamant Modpack Lib surface.

Added

  • managed module storage through lib.createStore(config, definition, dataDefaults?)
  • explicit staged UI state through the returned session
  • host-based module wiring through lib.createModuleHost(...)
  • standalone window/menu hosting through lib.standaloneHost(...)
  • lifecycle helpers under lib.lifecycle.*
  • mutation helpers under lib.mutation.*
  • hashing and packed-bit helpers under lib.hashing.*
  • immediate-mode widget helpers under lib.widgets.*
  • immediate-mode navigation helpers under lib.nav.*
  • shared logging helpers under lib.logging.*
  • managed storage support for:
    • bool
    • int
    • string
    • packedInt
  • transactional session commit/resync support for host and framework flows
  • coordinated-pack enable-state support through lib.isModuleCoordinated(...) and lib.isModuleEnabled(...)
  • standalone and framework-friendly module authoring contract based on:
    • public.definition
    • public.host
    • direct draw functions such as DrawTab(imgui, session)

Notes

  • this release documents the current immediate-mode Lib contract
  • legacy declarative UI authoring is not part of the supported public surface for this release