minecraft-data

May 9, 2026 ยท View on GitHub

Discord Gitter Irc Build Status

Language independent module providing minecraft data for minecraft clients, servers and libraries.

Supports

  • Minecraft PC version 0.30c (classic), 1.7.10, 1.8.8, 1.9 (15w40b, 1.9, 1.9.1-pre2, 1.9.2, 1.9.4), 1.10 (16w20a, 1.10-pre1, 1.10, 1.10.1, 1.10.2), 1.11 (16w35a, 1.11, 1.11.2), 1.12 (17w15a, 17w18b, 1.12-pre4, 1.12, 1.12.1, 1.12.2), 1.13 (17w50a, 1.13, 1.13.1, 1.13.2-pre1, 1.13.2-pre2, 1.13.2), 1.14 (1.14, 1.14.1, 1.14.3, 1.14.4), 1.15 (1.15, 1.15.1, 1.15.2), 1.16 (20w13b, 20w14a, 1.16-rc1, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5), 1.17, 1.17.1, 1.18 (1.18, 1.18.1, 1.18.2), 1.19 (1.19, 1.19.2, 1.19.3, 1.19.4), 1.20 (1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6), 1.21 (1.21, 1.21.1, 1.21.3), 1.21.8, 1.21.9, 1.21.10
  • Minecraft bedrock version 0.14, 0.15, 1.0, 1.16.201, 1.16.210, 1.16.220, 1.17.0, 1.17.10, 1.17.30, 1.17.40, 1.18.0, 1.18.11, 1.18.30, 1.19.1, 1.19.10, 1.19.20, 1.19.21, 1.19.30, 1.19.40, 1.19.50, 1.19.60, 1.19.62, 1.19.63, 1.19.70, 1.19.80, 1.20.0, 1.20.10, 1.20.30, 1.20.40, 1.20.50, 1.20.61, 1.20.71, 1.20.80, 1.21.0, 1.21.2, 1.21.20, 1.21.30, 1.21.42, 1.21.50, 1.21.60, 1.21.70, 1.21.80, 1.21.90, 1.21.93, 1.21.100, 1.21.111, 1.21.120, 1.21.124, 1.21.130, 1.26.0, 1.26.10, 1.26.20

Wrappers

Minecraft-data is language independent, you can use it with these language specific modules :

Wrapper nameLanguageData provided
node-minecraft-dataNode.jseverything
python-minecraft-datapythoneverything
minebasepythoneverything
McDataElixirprotocol
ProtocolGenjavagenerated java files from protocol.json to read and write minecraft packets
mcdataGoeverything
minecraft-data-rsRusteverything

If you want to use minecraft-data in a new language, we advise you to create a new wrapper

Data

Data provided:

DataDescription
Biomes
Blocks
Enchantment
EffectStatus/Potion effects
Entities
Languagelanguage code and their english strings
Instrumentssounds emitted by blocks
Items
Map iconsProvides all available map icons as used by (crafted) maps
Materialsto be used with blocks data. Provides tool speed multipliers against material types.
ParticlesId and names of minecraft particles
Protocola complete description of the protocol, can be used to automatically implement the protocol, see protodef doc
Protocol Versionsthe whole list of minecraft protocol versions
Recipesto be used with blocks and items data
Windowsthe different kind of windows and their characteristics
Version
Versionsall the versions supported in minecraft-data
Block collision shapes
Foodslist of foods each with there id, saturation, foodpoints and more
Commandsa tree structure for vanilla minecraft server commands, and some info needed to implement sub-parsers.
Legacymappings between legacy (1.12) and post-flattening (1.13+) blocks and items ids
Skin data(bedrock edition) Skin geometry and texture data for steve skin
FeaturesThis can be used to check is a specific feature is available in the current Minecraft version. This is usually only required for handling version-specific functionality.
SoundsFor versions that use a sound id over the network (1.9+) this provides mappings between network sound id and sound name.

See more information about this data in the documentation

Documentation

Projects using minecraft-data

These are the projects that use minecraft-data:

Project nameLanguageProject typeData used
mineflayerNode.jsbot librarybiomes, blocks, entities, instruments, items, materials, recipes
node-minecraft-protocolNode.jsprotocol serializationprotocol
flying-squidNode.jsserver librarybiomes, blocks, materials
SpockBotPythonbot librarybiomes, blocks, items, materials, windows, recipes
PhaseBotJavabotblocks, items, materials
McExElixirserverblocks
VoxelGamesLibJavaminigames server libraryblocks, items
PhpcraftPHPall-around libraryblocks, items, entities, protocol
MineSharpC#BotsProtocol, Blocks, Items, Entities, Biomes, Recipes, Enchantments

Extraction

Java Edition

The recommended way to extract the data is documented at add-data-new-version.md.

The minecraft-data-auto-updater calls minecraft-data-generator-server.

Bedrock Edition

See bedrock.md for information on updating data.

Specifically, minecraft-data-auto-updater calls minecraft-data-generator-server

Projects that provide data:

Project nameLanguageSourceData provided
minecraft-wiki-extractorNode.jsminecraft wikiblocks, items, entities, recipes
mcdevs-wiki-extractorNode.jswiki.vga partial protocol, entities
node-minecraft-extractorNode.jsmerge between wiki.vg and mcwikia complete entities file
minecraft-jar-extractorNode.jsminecraft server jara very partial but completely up to date protocol
minecraft-jar-extractor in pythonPythonminecraft server jarabout the same protocol information as minecraft-jar-extractor in node.js
burger with burger-extractorNode.jsminecraft server jarused to provide items, blocks, biomes and recipes
burger 1.16--//----// ----//--
command-generatorPythonMinecraft data generatorData used for parsing all vanilla server commands.
minecraft-data-generatorJavaminecraft clientbiomes, block collision shapes, blocks, effects, enchantments, entities, foods, items, particles, tints. Required Fabric updated to the provided minecraft version.

Pages interesting to manually update the data if necessary:

PageData
wiki.vg Inventory pagewindows
wiki.vginstruments
a mineflayer PRbiomes
mcwiki effects pageeffects
wiki.vg protocol version numbersprotocolVersions

Data quality

Minecraft data provides scripts to audit the data, they can be useful to check the data is correct :

Minecraft data also provides json schemas in enums_schemas/ that are used in test/test.js to check the json file are valid relative to these schemas. These schemas can also be used to understand better how the json files are formatted in order to use it.

Contribute

Please read https://github.com/PrismarineJS/prismarine-contribute

License

MIT

Some of the data was extracted manually or automatically from wiki.vg and minecraft.gamepedia.com. If required by one of the sources the license might change to something more appropriate.

minecraft-assets which provide minecraft assets along with json files that help to use them.