PmmoJS connects Project MMO to KubeJS on Forge 1.20.1.
PmmoJS exposes PMMO skills, experience awards, requirements, perks, triggers, and handler hooks to KubeJS scripts. Pack authors can edit PMMO behavior from JavaScript without adding a separate Java compatibility mod.
Script model
| Script folder | PmmoJS usage |
|---|---|
startup_scripts/ | Perk registration, predicates, direct PMMO data registration, Forge event listeners |
server_scripts/ | 运行时 trigger、配置编辑、玩法 hook、可选的自定义 ProbeJS 文档 |
client_scripts/ | Read-only skill display helpers, client-side UI logic |
Startup scripts define structures that must exist before gameplay begins. Server scripts handle reloadable PMMO settings, config mutation, and gameplay events. Client scripts expose read-only skill helpers for UI work.
Data control
PmmoJS.settings(...) registers PMMO data for items, blocks, entities, biomes, and dimensions. Config events edit skills, perks, global server settings, auto-values, and anti-cheese rules through the server reload path.
config/pmmojs-common.toml controls broad default-data removal. Enabled categories are cleared before server scripts apply custom data, so scripted entries become the final PMMO data for the reload.
Start with PMMO Authoring Workflow if you are designing pack progression. It explains how skills, resets, object settings, NBT globals, perks, triggers, and internal hooks fit together.
Editor support
ProbeJS 和 ProbeJS Legacy 都是可选依赖。安装其中一个 ProbeJS 变体后,PmmoJS 会在 /probejs dump 时自动注册类型补全和代码片段。