Verify with bb harness
bb harness builds dist/ and cross-checks every reference inside it. Use
it when the pack loads in game but items miss icons, blocks miss textures, or spawn rules point
nowhere.
bb harness
$ bb harness --no-build
$ bb harness --strict
$ bb harness --jsonWhat it checks
- Every JSON file parses. Invalid files fail with the parse error.
- Both
packs/BP/andpacks/RP/exist in dist. - Texture and model paths resolve to real files.
- Item icon keys exist in
item_texture.json. - Block material textures exist in
terrain_texture.json. - Spawn rule identifiers match a defined entity.
- Recipe identifiers stay unique across the pack.
Skip the rebuild
--no-build checks the current dist/ without rebuilding. Use it after a
manual edit of dist, or to recheck the same output twice.
Strict mode
--strict turns two warnings into failures: a missing pack_icon.png in
either pack dir, and any lang key that nothing references. Default mode skips both. Use strict in
CI to catch dead keys and missing icons before release.
Failure output
Failures print as harness: <file>: <reason>, up to 20 lines, then a count
of the rest. Exit code is 11. bb publish runs the same check and stops the release
when it fails.