A lightweight and engine-safe mod discovery system for ALE Psych, developed and maintained by Malloy. The registry allows any mod to detect the presence of other mods without dependencies, without source edits, and without loading third-party code.
This module is safe, automatic, and compatible with any ALE Psych mod that includes a modID field.
Read the full documentation: ➡️ ModID Registry Wiki
ModIDRegistry scans every mods/<folder>/data.json, extracts its "modID" value, and exposes a stable API to both:
- HScript: via
scripts/classes/ModIDRegistry.hx - Lua: via
scripts/modules/ModIDRegistry.lua
It introduces zero performance overhead, requires no engine changes, and avoids hard-coded mod references.
- No cross-mod dependencies
- No source edits
- No required file structures beyond standard
data.json
- One HScript class
- One Lua module
- Automatically loads on mod startup
- Check whether a mod is installed
- Get a complete list of installed mod IDs
- Works across all ALE Psych mod folders
Every mod must define its unique identifier:
{
"modID": "mycoolmod"
}This is all ModIDRegistry needs to detect the mod.
Lua now uses the full, updated module:
scripts/modules/ModIDRegistry.lua
- Reads the
/modsdirectory at runtime - Scans every
<mod>/data.jsonfile - Parses
"modID" - Registers it if it is unique
- Provides an API that exposes the collected IDs to scripts
This process is stateless, safe, and compatible with future engine updates.
- ALE Psych latest release or nightly build
- Mods must include a valid
data.jsonwith"modID" - HScript or Lua (both supported)
Created and maintained by Malloy Special thanks to Alejo and the ALE Psych Team for engine-level support.