DIMENSIONAL CULTIVATION - KUBEJS

Script folders
  chapters/chapter_XX  Chapter-specific recipes and registrations
  chapters/shared     Progression shared by several chapters
  machinery           Multiblocks, ports, glass and machine recipes
  replication         Replication progression and blueprint handling
  resources           Gathering, crops, materials and related recipes
  gameplay            Joining, mob automation and growth behavior
  compatibility       Integration repairs and pack restrictions
  jei                 Recipe-viewer cleanup and help
  bootstrap           Original example/bootstrap scripts

startup_scripts registers content: fully restart Minecraft after changes.
server_scripts controls recipes/gameplay on the server (including singleplayer).
client_scripts controls client-only recipe-viewer behavior.

Each script has an explicit priority header to preserve the original load order.
Higher numbers run first. Keep priorities unique within each script type.
Do not casually change these priorities: recipe overrides depend on ordering.
For a new script, choose a priority between its required neighbors, or use the
default priority 0 if it must run after all existing pack scripts.

assets, data and config retain their original namespace/directory structures.
Those paths are resource IDs, not organizational folders; do not rename them.
All original script filenames, item IDs and recipe IDs are preserved.

Keep backups outside kubejs. Never leave duplicate .js scripts in subfolders.
Distribute the whole kubejs folder to clients AND servers. Startup scripts must
match on both sides, and both sides must fully restart after an update.

Pack release settings: include config and defaultconfigs. Overworld /rtp is
disabled in config/ftbessentials.snbt and defaultconfigs/ftbessentials-server.snbt.
