Troubleshooting

Five issues cover most failures. Each lists the symptom, the cause, and the fix.

Deploy target missing

bb run exits with code 3 and lists every path it checked. No com.mojang exists under any known install.

bb check

Use the check output to see the resolved target. When auto detect misses, set a custom path. See Custom Deploy Path.

UUID collisions

Two packs share a header.uuid. The game loads one and ignores the other, or imports fail. This happens after copying a project folder by hand.

bb manifest --dry-run
$ bb manifest

bb manifest rewrites both manifests with fresh UUIDs and cross-links the RP dependency to the BP uuid. bb init already generates fresh UUIDs per create, so new projects never collide.

Entry not found

Build fails with entry missing and names the expected path. The file was moved, renamed, or never created.

bb check --fix

Fix mode creates the missing entry as a stub. When the entry lives elsewhere, set bb.entry in config.json to the real path instead.

ffmpeg missing

bb check reports an extension tool as missing when that extension is enabled. Audio files copy through without conversion. OGG output needs the binary.

Install ffmpeg and ensure it sits on PATH, then rerun bb check. The check stays green without it, since audio copy is a fallback, not a failure.

Config drift

Version in config.json differs from one or both manifests. The game shows a stale version, or ship names the zip wrong.

bb version 1.1.0

bb version writes one version to the config plus both manifests. Run it after any manual manifest edit. bb ship validates manifests before zipping and stops on mismatch with exit code 4.