PmmoJS exposes PMMO settings, config hooks, runtime events, startup registries, and direct helper access to PMMO internals so packs can script Project MMO behavior without shipping a separate compatibility mod for each tweak.
- Server-side PMMO object settings for items, blocks, entities, biomes, and dimensions
- PMMO config mutation hooks for globals, skills, perks, server config, auto-values, and anti-cheese
- Runtime gameplay hooks for XP, enchanting, furnace output, salvage, damage penalties, and all PMMO
EventTypetrigger callbacks throughPmmoJS.trigger - Startup hooks for custom PMMO predicates and custom perk registration
- Utility bindings such as
PmmoHelper,SkillHelper,CustomReqMap,TagBuilder,NbtPathBuilder,SalvageBuilder, and PMMO enums
- Minecraft
1.20.1 - Forge
47.x - Project MMO
1.7.40for1.20.1 - KubeJS
2001.6.x
For local regression testing this workspace also includes EMI 1.1.22+1.20.1+forge as a runtime-only dependency. It is not linked into the mod at compile time.
The authored wiki pages live in docs:
docs/overview.mdxdocs/tag-model.mdxdocs/startupevents/registry.mdxdocs/serverevents/internal.mdxdocs/serverevents/settings.mdxdocs/serverevents/config.mdxdocs/serverevents/reset-recipes.mdxdocs/serverevents/normal.mdx
Global PMMO default-data suppression now lives in config/pmmojs-common.toml.
Available switches:
disableDefaultSettings.alldisableDefaultSettings.skillsdisableDefaultSettings.perksdisableDefaultSettings.requirementsdisableDefaultSettings.xpAwardsdisableDefaultSettings.itemExtrasdisableDefaultSettings.blockVeinData
The old reset example bundle is no longer part of the published workflow. Use the reset documentation page and place the snippets you keep in your own server_scripts/.
- PMMO config mutations are applied from the server/static-data reload path, not the client tag sync path.
- EMI is present only to reproduce and validate recipe-viewer sync/indexing issues.
- Startup bindings:
PmmoHelper,TagBuilder,NbtPathBuilder - Server bindings:
PmmoHelper,SkillHelper,SKillHelper,CustomReqMap,TagBuilder,NbtPathBuilder,SalvageBuilder - Client bindings: read-only
SkillHelper,SKillHelper