minecraft-data
Language independent module providing minecraft data for minecraft clients, servers and libraries.
Supports Minecraft version 0.30c (classic), 1.7.10, 1.8.8 and 1.9 (15w40b and 1.9).
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 |
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 | |
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.