Skip to content

Engine & CLI ​

About the bench, not the game

The engine is a Go module that loads a behaviour pack, builds a bench world from a preset, and runs one feature or one feature rule in it, reporting every block it placed, carved or replaced and every placement it declined. cmd/featurelab is the headless binary around it.

One page still to come

The wire format has no page of its own yet; wire's package documentation is the field-by-field spec, and the CLI page covers what a caller needs.

PageWhat it coversToday
The featurelab commandgenerate, check, serve, types, textures, blocktable; the run-length-encoded result; cancellationOn this site
Coverage and known gapsWhich types the bench implements fully, which partially and what each gap means for a pack; the bench-wide approximations that cut across every page; what has and has not been checked against real contentOn this site
Block textures in the previewWhere Mojang's textures come from and what the first run asks; how a pack's own blocks are resolved through its resource pack; what is drawn accurately and what is approximatedOn this site
The wire formatThe JSON generate and serve emit, which is the whole contract between the engine and every viewerwire's package documentation ↗ (not yet a page)

Coverage, live ​

The engine's own coverage table, as featurelab types --json reports it at the time this site was built. Counts are read from the engine, never typed into a page.

29 registered types: 22 implemented, 5 partial, 0 missing, 2 out of scope.

Partial
  • minecraft:single_block_feature
  • minecraft:snap_to_surface_feature
  • minecraft:sculk_patch_feature
  • minecraft:geode_feature
  • minecraft:horizontal_tree_decoration_feature
Out of scope
  • minecraft:beards_and_shavers
  • minecraft:rect_layout

Every page is a statement about Minecraft Bedrock 1.26.60.22 unless its badge says otherwise.