The Bedrock build tool that writes the boring files.

bb init creates the project. bb new writes the item, block, entity, recipe, loot, and lang entries. bb run --watch puts them in the game on every save.

Get Started GitHub

create

Start from a project that builds.

bb init writes config, both manifests with fresh UUIDs, a working entry file, and the texture registries. The result passes bb check on the first run.

$ bb init my-addon
$ cd my-addon
$ npm install

Deploy means copying folders by hand.

Build the script, copy both packs into com.mojang, reload the world. Every save. bb run --watch does the copy on every save.

$ bb run --watch

Shipping means zipping by hand.

Two folders, specific names inside the zip, version in the filename. bb ship builds release, checks the manifests, and writes name-version.mcaddon.

$ bb ship

workflow

Generate, run, ship.

Generate

$ bb new weapon fire_sword --mode 3d
$ bb new block glow_block --light 12

27 types. Each writes every linked file, or nothing when files conflict. See the full list.

Run

$ bb build
$ bb run --watch

build bundles src/main.ts and mirrors both packs. run copies the result into the game's dev folders.

Verify

$ bb check
$ bb check --fix
$ bb harness

check lists what is missing. --fix creates it. harness cross-checks every icon, texture, recipe, and spawn reference in dist.

Release

$ bb version 1.1.0
$ bb publish --bump minor --tag --push

version writes one version to config plus both manifests. publish ships, harnesses, tags, and pushes.

generate

bb new writes the files you would forget.

A weapon is an item JSON, an atlas key, and a lang line. In 3D mode it is also an attachable plus a render controller. The generator writes all of them or writes nothing when files conflict.

$ bb new weapon fire_sword --mode 3d --icon sword
  create  packs/BP/items/fire_sword.item.json
  create  packs/RP/attachables/fire_sword.attachable.json
  create  packs/RP/render_controllers/fire_sword.rc.json
  update  item_texture.json + en_US.lang
All 27 generator types

weapon, tool, armor, item, entity, block, recipe, loot, spawn, trade, dialogue, animation, equipment, feature, feature_rule, particle, fog, function, voxel_shape, biome, camera, item_catalog, sound, biomes_client, block_culling, dimension, ui.

iterate

Save, reload the world.

$ bb run --watch
  watching packs/ and src/
  build OK, synced BP + RP
  build OK, synced BP + RP

The bundle rebuilds through esbuild. Type errors print on save through a parallel tsc --watch and never block the rebuild. --no-types turns that off.

scope

Plain packs in, plain packs out.

Bedrock Builder covers one project: create, generate, build, run, ship. Output is standard BP and RP folders, so bridge., Regolith, and the Microsoft tools can read it. No proprietary project format, no lock-in. How it compares.

install

Four commands to a running add-on.

init writes the project. npm install fetches deps. run --watch keeps the game in sync.

$ bb init my-addon
$ cd my-addon
$ npm install
$ bb run --watch

GitHub Discord