[PR #261] [MERGED] kb: Project Zomboid Build 42 modding notes (Lua runtime, scripts, creatures, Java surface, MP, world) #262

Closed
opened 2026-10-15 20:54:55 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/rehan-remade/universal-modder/pull/261
Author: @Alistair-Afton
Created: 10/12/2026
Status: ✅ Merged
Merged: 10/14/2026
Merged by: @rehan-remade

Base: main ← Head: kb/project-zomboid-b42-modding-playbook


📝 Commits (10+)

  • 9b85a06 kb: four Build 42 modding notes for Project Zomboid (anatomy, script system, Lua runtime, dressed-zombie monsters)
  • 2bbfc14 kb: two more Project Zomboid Build 42 notes - world simulation and presentation edge cases
  • 3e39556 kb: two more Project Zomboid Build 42 notes - character/challenge hooks and interactive world
  • eaf7dbf knowledge: Project Zomboid B42 creature-porting playbook + Lua-callable Java cheat sheet
  • 07e21e4 knowledge: Project Zomboid B42 - non-zombie creature chassis + weapons/ballistics/effects/vehicles layer
  • 6413847 knowledge: Project Zomboid B42 - body sim/survival systems + multiplayer internals
  • 7a5e3e2 knowledge: Project Zomboid B42 - AI/save internals + modder toolchain/debug suite
  • eaf0999 knowledge: Project Zomboid B42 - entity component system, ISUI framework, popman resolution
  • e61a944 knowledge: Project Zomboid B42 - animator internals, custom skills/perks, forage schema resolved
  • 4e51170 knowledge: Project Zomboid B42 - map binaries/worldgen engine + master task index

📊 Changes

8 files changed (+1783 additions, -1 deletions)

View changed files

📝 knowledge/INDEX.md (+7 -1)
➕ knowledge/games/project-zomboid/b42-creatures-dressed-zombies-ports-and-npc-frameworks.md (+257 -0)
➕ knowledge/games/project-zomboid/b42-data-scripts-entities-skills-traits-media-files.md (+281 -0)
➕ knowledge/games/project-zomboid/b42-java-surface-lua-callable-api-and-engine-internals.md (+256 -0)
➕ knowledge/games/project-zomboid/b42-modding-orientation-layout-lua-runtime-tooling-interop-ui.md (+291 -0)
➕ knowledge/games/project-zomboid/b42-multiplayer-internals-packets-gameserver-sync.md (+146 -0)
➕ knowledge/games/project-zomboid/b42-world-loot-stories-zones-tiles-maps-worldgen.md (+210 -0)
📝 knowledge/index.json (+335 -0)

📄 Description

Summary

A 22-note Build 42 (42.21.0) docset covering Project Zomboid modding end to end, researched from a real Steam install, javap/unzip dumps of projectzomboid.jar, the Cry of Fear Monsters workshop mod (3813406470), the HLMonsters local mod, the shipped example/template mods, and vanilla media/ sources. Every claim is tagged jar-verified / in-game-verified / untested in each note's Verification section.

Notes (all under knowledge/games/project-zomboid/):

  • b42-modding-anatomy-... — mod structure, media/ layout, mod.info, Lua/script/asset pipelines, Workshop packaging, tooling.
  • b42-modding-master-index-... — task → notes → APIs map; start here.
  • b42-script-system-... — census of all script block types (~5105 items, 969 recipes, 241 vehicles, 239 entities...).
  • b42-lua-runtime-... — load lifecycle, events, timed actions, ISUI basics, outfits/spawns, MP commands.
  • b42-custom-monsters-dressed-zombie-... — the COF-mod anatomy: invisible whole-body clothingItem, AnimSets/zombie merges, identity-via-persistent-outfit (recycling bug catalog), population-None spawning.
  • b42-porting-creatures-... — porting enemies from other games: chassis decision, three asset provenances (licensed/converted/generated), legal rules.
  • b42-creatures-beyond-zombies-animals-... — friendly NPCs (inverted zombie AI), mannequins, IsoThumpable pseudo-creatures, physics bodies, multi-part bosses.
  • b42-entity-system-... — the real B42 component system (zombie.entity): crafting/furnace/drying/mashing logic, fluids, resource/logistics networks, Lua components.
  • b42-ai-internals-... — the 101-state StateMachine, A* + MapKnowledge, hordes, PlayerDB saves, ECS status.
  • b42-animation-internals-... — AdvancedAnimator: layers, typed variable slots (incl. callbacks), AnimEvents, grapples, DeadBodyAtlas.
  • b42-custom-skills-perks-... — resolved PerkFactory.AddPerk signatures + CustomPerks.initLua, traits/professions, XP.
  • b42-body-simulation-... — Nutrition/Metabolics/Thermoregulator/Fitness APIs, needs/moodles/illness, farming/fishing/foraging (full forageData schema), traps, power, water.
  • b42-world-simulation-... — loot tables, world stories, metazones, basements, worldgen Lua, climate/erosion, Sadistic AI Director.
  • b42-map-files-formats-... — .lotheader/chunkdata anatomy, zombie.iso.worldgen (101 classes: biomes/roads/veins/blending), areas/zones.
  • b42-interactive-world-... — tiledef properties, IsoObject taxonomy, moveables, maps/spawnpoints, world-map editor, stashes.
  • b42-presentation-edge-cases-... — animscript vs AnimSets, shaders, sprite models, seating, tile data, radio/RecMedia/music/fonts.
  • b42-weapons-ballistics-effects-... — weapon script model, real Bullet ballistics, damage funnel, WorldSoundManager, tracers/attachments/dismember, vehicle-port recipe.
  • b42-character-challenge-... — SurvivorSwap, perks/XP, addChallenge custom game modes, renderer/coord conversion, global object systems.
  • b42-ui-framework-ispanel-... — the 138-file ISUI widget census, custom windows/HUD/radials, ISUI3DModel, XUI skinning, input/gamepad.
  • b42-multiplayer-internals-... — zombie.network (296 packet classes), GameClient/GameServer, ownership, popman virtualization, dedi realities.
  • b42-weather-climate-internals-... — ClimateManager air-mass sim, networked ThunderStorm, per-square temps, climate color channels.
  • b42-audio-internals-... — the FMOD layer: GameSound clips/parameters/sustain points, ambient walls, sound limiters, voice, dynamic music scoring.
  • b42-mod-interop-... — require= deps, load order, shared-global APIs, conflict surfaces, compat patterns.
  • b42-lua-callable-java-cheat-sheet-... — javap-verified method clusters for 14 key classes (IsoZombie 211 methods, IsoPlayer, IsoAnimal, IsoGridSquare, IsoCell, IsoWorld, VirtualZombieManager, ScriptManager, BaseVehicle 587...).
  • b42-modder-toolchain-... — -debug suite (32 debug windows, LineDrawer, CSV exports), console.txt error anatomy, iteration loops, scripted in-game tests.

Known remaining gaps are enumerated per-note as named decompile targets (binary .lot/.bin schema, per-component entity grammar, AddPerk int ordering).

Test plan

  • um kb check passes all 25 PZ notes
  • um kb index regenerated (228 notes after merge with upstream)
  • pytest tests/test_um.py::test_repo_knowledge_is_valid passes locally (previously failing on stale index vs merged base)
  • No game files, decompiled code or proprietary assets included

Generated with Devin


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/rehan-remade/universal-modder/pull/261 **Author:** [@Alistair-Afton](https://github.com/Alistair-Afton) **Created:** 10/12/2026 **Status:** ✅ Merged **Merged:** 10/14/2026 **Merged by:** [@rehan-remade](https://github.com/rehan-remade) **Base:** `main` ← **Head:** `kb/project-zomboid-b42-modding-playbook` --- ### 📝 Commits (10+) - [`9b85a06`](https://github.com/rehan-remade/universal-modder/commit/9b85a06adbb4ef8778560654cb9ab7868e2de6d1) kb: four Build 42 modding notes for Project Zomboid (anatomy, script system, Lua runtime, dressed-zombie monsters) - [`2bbfc14`](https://github.com/rehan-remade/universal-modder/commit/2bbfc14c34ec580c0e68d8d03df7a1e629c32e10) kb: two more Project Zomboid Build 42 notes - world simulation and presentation edge cases - [`3e39556`](https://github.com/rehan-remade/universal-modder/commit/3e395566685f0eea12f02b5cd276872e5312635d) kb: two more Project Zomboid Build 42 notes - character/challenge hooks and interactive world - [`eaf7dbf`](https://github.com/rehan-remade/universal-modder/commit/eaf7dbf0b65141da505fc5d296b0d3f450d63e48) knowledge: Project Zomboid B42 creature-porting playbook + Lua-callable Java cheat sheet - [`07e21e4`](https://github.com/rehan-remade/universal-modder/commit/07e21e49be5562dede8aa073ad3ee1694701d758) knowledge: Project Zomboid B42 - non-zombie creature chassis + weapons/ballistics/effects/vehicles layer - [`6413847`](https://github.com/rehan-remade/universal-modder/commit/64138475626993d9c50909882ad1153d5c016fa7) knowledge: Project Zomboid B42 - body sim/survival systems + multiplayer internals - [`7a5e3e2`](https://github.com/rehan-remade/universal-modder/commit/7a5e3e22e601643394fb3f14219faf506b6ed30c) knowledge: Project Zomboid B42 - AI/save internals + modder toolchain/debug suite - [`eaf0999`](https://github.com/rehan-remade/universal-modder/commit/eaf09992ec2fbae942406be66020a2ca1af39298) knowledge: Project Zomboid B42 - entity component system, ISUI framework, popman resolution - [`e61a944`](https://github.com/rehan-remade/universal-modder/commit/e61a944718749e5de12ed89823393bcf0a73b8ae) knowledge: Project Zomboid B42 - animator internals, custom skills/perks, forage schema resolved - [`4e51170`](https://github.com/rehan-remade/universal-modder/commit/4e511705eada2984409227cfa4434ad441a067dc) knowledge: Project Zomboid B42 - map binaries/worldgen engine + master task index ### 📊 Changes **8 files changed** (+1783 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `knowledge/INDEX.md` (+7 -1) ➕ `knowledge/games/project-zomboid/b42-creatures-dressed-zombies-ports-and-npc-frameworks.md` (+257 -0) ➕ `knowledge/games/project-zomboid/b42-data-scripts-entities-skills-traits-media-files.md` (+281 -0) ➕ `knowledge/games/project-zomboid/b42-java-surface-lua-callable-api-and-engine-internals.md` (+256 -0) ➕ `knowledge/games/project-zomboid/b42-modding-orientation-layout-lua-runtime-tooling-interop-ui.md` (+291 -0) ➕ `knowledge/games/project-zomboid/b42-multiplayer-internals-packets-gameserver-sync.md` (+146 -0) ➕ `knowledge/games/project-zomboid/b42-world-loot-stories-zones-tiles-maps-worldgen.md` (+210 -0) 📝 `knowledge/index.json` (+335 -0) </details> ### 📄 Description ## Summary A 22-note Build 42 (42.21.0) docset covering Project Zomboid modding end to end, researched from a real Steam install, `javap`/`unzip` dumps of `projectzomboid.jar`, the Cry of Fear Monsters workshop mod (3813406470), the HLMonsters local mod, the shipped example/template mods, and vanilla `media/` sources. Every claim is tagged jar-verified / in-game-verified / untested in each note's Verification section. Notes (all under `knowledge/games/project-zomboid/`): - **`b42-modding-anatomy-...`** — mod structure, `media/` layout, `mod.info`, Lua/script/asset pipelines, Workshop packaging, tooling. - **`b42-modding-master-index-...`** — task → notes → APIs map; start here. - **`b42-script-system-...`** — census of all script block types (~5105 items, 969 recipes, 241 vehicles, 239 entities...). - **`b42-lua-runtime-...`** — load lifecycle, events, timed actions, ISUI basics, outfits/spawns, MP commands. - **`b42-custom-monsters-dressed-zombie-...`** — the COF-mod anatomy: invisible whole-body clothingItem, AnimSets/zombie merges, identity-via-persistent-outfit (recycling bug catalog), population-None spawning. - **`b42-porting-creatures-...`** — porting enemies from other games: chassis decision, three asset provenances (licensed/converted/generated), legal rules. - **`b42-creatures-beyond-zombies-animals-...`** — friendly NPCs (inverted zombie AI), mannequins, IsoThumpable pseudo-creatures, physics bodies, multi-part bosses. - **`b42-entity-system-...`** — the real B42 component system (`zombie.entity`): crafting/furnace/drying/mashing logic, fluids, resource/logistics networks, Lua components. - **`b42-ai-internals-...`** — the 101-state StateMachine, A* + MapKnowledge, hordes, PlayerDB saves, ECS status. - **`b42-animation-internals-...`** — AdvancedAnimator: layers, typed variable slots (incl. callbacks), AnimEvents, grapples, DeadBodyAtlas. - **`b42-custom-skills-perks-...`** — resolved `PerkFactory.AddPerk` signatures + `CustomPerks.initLua`, traits/professions, XP. - **`b42-body-simulation-...`** — Nutrition/Metabolics/Thermoregulator/Fitness APIs, needs/moodles/illness, farming/fishing/foraging (full `forageData` schema), traps, power, water. - **`b42-world-simulation-...`** — loot tables, world stories, metazones, basements, worldgen Lua, climate/erosion, Sadistic AI Director. - **`b42-map-files-formats-...`** — `.lotheader`/`chunkdata` anatomy, `zombie.iso.worldgen` (101 classes: biomes/roads/veins/blending), areas/zones. - **`b42-interactive-world-...`** — tiledef properties, IsoObject taxonomy, moveables, maps/spawnpoints, world-map editor, stashes. - **`b42-presentation-edge-cases-...`** — animscript vs AnimSets, shaders, sprite models, seating, tile data, radio/RecMedia/music/fonts. - **`b42-weapons-ballistics-effects-...`** — weapon script model, real Bullet ballistics, damage funnel, `WorldSoundManager`, tracers/attachments/dismember, vehicle-port recipe. - **`b42-character-challenge-...`** — `SurvivorSwap`, perks/XP, `addChallenge` custom game modes, renderer/coord conversion, global object systems. - **`b42-ui-framework-ispanel-...`** — the 138-file ISUI widget census, custom windows/HUD/radials, `ISUI3DModel`, XUI skinning, input/gamepad. - **`b42-multiplayer-internals-...`** — `zombie.network` (296 packet classes), GameClient/GameServer, ownership, `popman` virtualization, dedi realities. - **`b42-weather-climate-internals-...`** — ClimateManager air-mass sim, networked ThunderStorm, per-square temps, climate color channels. - **`b42-audio-internals-...`** — the FMOD layer: GameSound clips/parameters/sustain points, ambient walls, sound limiters, voice, dynamic music scoring. - **`b42-mod-interop-...`** — `require=` deps, load order, shared-global APIs, conflict surfaces, compat patterns. - **`b42-lua-callable-java-cheat-sheet-...`** — javap-verified method clusters for 14 key classes (IsoZombie 211 methods, IsoPlayer, IsoAnimal, IsoGridSquare, IsoCell, IsoWorld, VirtualZombieManager, ScriptManager, BaseVehicle 587...). - **`b42-modder-toolchain-...`** — `-debug` suite (32 debug windows, LineDrawer, CSV exports), console.txt error anatomy, iteration loops, scripted in-game tests. Known remaining gaps are enumerated per-note as named decompile targets (binary `.lot`/`.bin` schema, per-component entity grammar, `AddPerk` int ordering). #### Test plan - [x] `um kb check` passes all 25 PZ notes - [x] `um kb index` regenerated (228 notes after merge with upstream) - [x] `pytest tests/test_um.py::test_repo_knowledge_is_valid` passes locally (previously failing on stale index vs merged base) - [x] No game files, decompiled code or proprietary assets included Generated with [Devin](https://devin.ai) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-15 20:54:55 +00:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
rehan-remade/universal-modder#262
No description provided.