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.
| Page | What it covers | Today |
|---|---|---|
The featurelab command | generate, check, serve, types, textures, blocktable; the run-length-encoded result; cancellation | On this site |
| Coverage and known gaps | Which 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 content | On this site |
| Block textures in the preview | Where 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 approximated | On this site |
| The wire format | The JSON generate and serve emit, which is the whole contract between the engine and every viewer | wire'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_featureminecraft:snap_to_surface_featureminecraft:sculk_patch_featureminecraft:geode_featureminecraft:horizontal_tree_decoration_feature
Out of scope
minecraft:beards_and_shaversminecraft:rect_layout