Giter Club home page Giter Club logo

minecraft-data's Introduction

minecraft-data

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)
  • 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

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
mcdata Go everything
minecraft-data-rs Rust everything

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
Language language code and their english strings
Instruments sounds emitted by blocks
Items
Map icons Provides all available map icons as used by (crafted) maps
Materials to be used with blocks data. Provides tool speed multipliers against material types.
Particles Id and names of minecraft particles
Protocol a complete description of the protocol, can be used to automatically implement the protocol, see protodef doc
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
Block collision shapes
Foods list of foods each with there id, saturation, foodpoints and more
Commands a tree structure for vanilla minecraft server commands, and some info needed to implement sub-parsers.
Legacy mappings 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
Features This 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.

See more information about this data in the documentation

Documentation

Projects using minecraft-data

These are the projects that use minecraft-data:

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
VoxelGamesLib Java minigames server library blocks, items
Phpcraft PHP all-around library blocks, items, entities, protocol

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
burger 1.16 --//-- --// -- --//--
command-generator Python Minecraft data generator Data used for parsing all vanilla server commands.
minecraft-data-generator Java minecraft client biomes, 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:

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.

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.

Related project

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

minecraft-data's People

Contributors

appdevmichael avatar automatic-beyond-belief avatar beaness avatar deathcap avatar drakotrogdor avatar extremeheat avatar gjum avatar heath123 avatar icetank avatar imharvol avatar jonathanperret avatar kamesa7 avatar karang avatar lluiscab avatar miro-andrin avatar moondarker avatar mstrodl avatar naomi-alt avatar nickelpro avatar njt1982 avatar roblabla avatar rom1504 avatar rom1504bot avatar thedudefromci avatar thepumpkingod avatar timmyrs avatar u9g avatar uncovery avatar vimes1984 avatar zimurgh avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.