bedrock.md

August 3, 2023 · View on GitHub

minecraft bedrock edition data

Obtaining data

file nameinfohow to getschema
blockStates.jsonContains the global block palette for a Minecraft version.
Contains all of the possible block states.


The index of a Block State instance here is the paletted ID,
which can be used to idenfify this block state
instead of a string.
bedrock-extractor ("BlockStates.json" file)
steve.jsonSkin data for clients connecting to BE servers, for default Steve characterbedrock-protocol (capture from proxy)
blockMappings.jsonOutput of bedrock-extractor
language.jsonTranslation keys and their English string values.extract-minecraft-lang (run for new version, then copy the JSON file to minecraft-data)

Updating protocol data

  • To update bedrock protocol data, open data/bedrock/latest (or replace "latest" with some older version) and update the proto.yml and types.yml files.
  • Go to tools/js, run npm install then npm run build to update the protodef JSON files

To update to a new protocol version:

  • Copy data/bedrock/latest files into the old version's folder.
  • Open data/bedrock/latest and update the proto.yml and types.yml files and update the !version part at the top
  • Go to tools/js, run npm install then npm run build to update the protodef JSON files

then run npm test to test validity

Status of data

file namehave?how to get itnotes
protocol.jsonmanual updatedwip
blocks.jsonbedrock-extractor 
items.jsonbedrock-extractor 
entities.jsonbedrock-extractor 
recipes.jsonbedrock-protocol dumpernew schema: adds furnace and other special recipes.
Some recipes can have multiple outputs, also allow for recipe ingredients with damage values and specific counts.
blockCollisionShapes.json(from pc data)New schema: block IDs map to an array of block state indexes, to get the block stateID, minStateId + index of array. This way different copies of the block with different state IDs can have unique collisions.
commands.jsonbedrock-protocol + dumpermust be custom schema, current JE schema too low level
biomes.jsonbedrock-extractor (via Amulet)
instrumentsmanual 
materials.json🔵(from pc data) 
windows.jsonmanual obtained via proxy 
version.jsonfrom bedrock-protocol
effects.json(from pc data) 
enchantments.jsonbedrock-extractor (via Geyser -> pc data) 
language.jsonextract-minecraft-lang (extract from dedicated server) 
particles.json🔵bedrock-protocol docsIDs not needed, handled in protocol
blockLoot.json🔵manual data for 1.18 
entityLoot.json🔵manual data for 1.18 
mapIcons.json🔵??