minecraft-data
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), and 1.11 (16w35a, 1.11)
- Minecraft PE version 0.14, 0.15 and 1.0
Wrappers
Minecraft-data is language independent, you can use it with these language specific modules :
Wrapper name | Language | Data provided |
---|---|---|
node-minecraft-data | Node.js | everything |
python-minecraft-data | python | everything |
McData | Elixir | protocol |
ProtocolGen | java | generated java files from protocol.json to read and write minecraft packets |
hs-minecraft-protocol | haskell | protocol.json haskell compiler |
If you want to use minecraft-data in a new language, we advise you to create a new wrapper
Data
Data provided:
Data | Description |
---|---|
Biomes | |
Blocks | |
Enchantment | |
Effect | Status/Potion effects |
Entities | |
Instruments | sounds emitted by blocks |
Items | |
Materials | to be used with blocks data |
Protocol | a complete description of the protocol, can be used to automatically implement the protocol |
Protocol Versions | the whole list of minecraft protocol versions |
Recipes | to be used with blocks and items data |
Windows | the different kind of windows and their characteristics |
Version | |
Versions | all the versions supported in minecraft-data |
See more information about this data in the documentation
Documentation
- See doc/history.md
- Documentation generated using the json schemas and docson
- Textual documentation of the recipe format
Projects using minecraft-data
These are the projects that use minecraft-data (through the wrappers) :
Project name | Language | Project type | Data used |
---|---|---|---|
mineflayer | Node.js | bot library | biomes, blocks, entities, instruments, items, materials, recipes |
node-minecraft-protocol | Node.js | protocol serialization | protocol |
flying-squid | Node.js | server library | biomes, blocks, materials |
SpockBot | Python | bot library | biomes, blocks, items, materials, windows, recipes |
PhaseBot | Java | bot | blocks, items, materials |
McEx | Elixir | server | blocks |
Extraction
Projects that provide data:
Project name | Language | Source | Data provided |
---|---|---|---|
minecraft-wiki-extractor | Node.js | minecraft wiki | blocks, items, entities, recipes |
mcdevs-wiki-extractor | Node.js | wiki.vg | a partial protocol, entities |
node-minecraft-extractor | Node.js | merge between wiki.vg and mcwiki | a complete entities file |
minecraft-jar-extractor | Node.js | minecraft server jar | a very partial but completely up to date protocol |
minecraft-jar-extractor in python | Python | minecraft server jar | about the same protocol information as minecraft-jar-extractor in node.js |
burger with burger-extractor | Node.js | minecraft server jar | used to provide items, blocks, biomes and recipes |
Pages interesting to manually update the data if necessary:
Page | Data |
---|---|
wiki.vg Inventory page | windows |
wiki.vg | instruments |
a mineflayer PR | biomes |
mcwiki effects page | effects |
wiki.vg protocol version numbers | protocolVersions |
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.
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.