Files
strom/data/minecraft-data/doc/bedrock.md
T
2025-12-15 22:07:37 +01:00

3.1 KiB

minecraft bedrock edition data

Obtaining data

file name info how to get schema
blockStates.json Contains 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.json Skin data for clients connecting to BE servers, for default Steve character bedrock-protocol (capture from proxy)
blockMappings.json Output of bedrock-extractor
language.json Translation 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 name have? how to get it notes
protocol.json ✔ manual updated wip
blocks.json ✔ bedrock-extractor  
items.json ✔ bedrock-extractor  
entities.json ✔ bedrock-extractor  
recipes.json ✔ bedrock-protocol dumper new 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.json ❌ bedrock-protocol + dumper must be custom schema, current JE schema too low level
biomes.json ✔ bedrock-extractor (via Amulet)
instruments ✔ manual  
materials.json 🔵 (from pc data)  
windows.json ✔ manual obtained via proxy  
version.json ✔ from bedrock-protocol
effects.json ❌ (from pc data)  
enchantments.json ✔ bedrock-extractor (via Geyser -> pc data)  
language.json ✔ extract-minecraft-lang (extract from dedicated server)  
particles.json 🔵 bedrock-protocol docs IDs not needed, handled in protocol
blockLoot.json 🔵 manual data for 1.18  
entityLoot.json 🔵 manual data for 1.18  
mapIcons.json 🔵 ? ?