How Schematic block/item search was built
Raw game files read
worldgen/schematics/**/*.json (every file is fetched and decoded in the browser, as gzip copies)itemtypes/**/stackrandomizer*.json (via the randomizer pools: which placeholder can produce what)
Processing
This tool reads no build-time data of its own beyond two small index files. Everything it reports is decoded from the schematics themselves, in your browser, when you search.
What is fetched
assets/schematicSearchIndex.json— each schematic'sBlockCodesandItemCodesvalues (the same lists the schematic pages are built from). A schematic can only contain the searched code, or a random placeholder that can produce it, if one of those lists mentions it, so this exactly decides which files need downloading.assets/randomizerPools.json— everyItemStackRandomizeritem's pool (the item pages' "Can generate" data), to know whichstackrandomizer-*placeholders can turn into the searched item.- The candidate schematics' gzip copies (
assets/schematics/world/<domain>/<path>.json.gz), unpacked withDecompressionStream.
What is reported
- Placed: blocks in
Indices/BlockIdswhose code matches. - Chiseled from: chiseled blocks (block entities with
cuboidsandmaterials, see the research page) with a matching material. - In containers: item stacks found anywhere in a block entity's decoded attributes (chests, shelves, ground storage, ...), resolved through
ItemCodes(orBlockCodesfor block stacks). - Possible (random): stacks that are a randomizer placeholder whose pool contains the target. The percentage is the target's share of
that placeholder's pool; the placeholder's own
totalChanceattribute is shown unchanged. Whether the game actually generates it is decided at world-generation time, so this only says it can.
Matching ignores the domain and is case-insensitive; * and {...} match anything.
Not covered: contents generated by code rather than by schematics (loot tables of other world-generation systems), and anything only present in block-entity types that store stacks in a form other than an attribute item stack.
Pipeline code
libs/vs-schematic/src/schematicSearch.tslibs/vs-schematic/src/chisel.tsapps/vs-wiki/site/assets/schematicSearchPage.jsapps/vs-wiki/site/assets/schematicSearchIndex.json.njkapps/vs-wiki/site/assets/randomizerPools.json.njkapps/vs-wiki/site/tools/schematic-search/index.njklibs/vs-schematic/test/schematicSearch.test.ts