Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Minecraft:Development resources

From SAS Gaming Wiki

Minecraft is written in Java and C++, and although the class files are obfuscated, the community has figured out most of the inner workings of Minecraft. Notch himself gave notes on a common format used by Minecraft, the Minecraft:NBT format. From this, the community has derived information for the files that use the NBT format.

NBT format

The Minecraft:NBT format is used by almost every file in Minecraft. It is a GZipped tree structure of tags, where each tag has a type, name, and payload based on the type. In 1.2 snapshot 12w07a and above, an additional tag type was added to the original tag types that existed since Minecraft:Indev.

Level formats

Each edition of Minecraft uses its own file format to store levels. The following information about the different level file formats can be used by software developers to create map editors, servers, level generators, and other programs. Minecraft:Blocks, Minecraft:items, Minecraft:data values, and Minecraft:entities are common to all map types.

Java Edition

Bedrock Edition

Other formats

Libraries

These are community-created libraries to interact with the various files used by Minecraft.

Name/link Language Description
MCModify Java/C++ Library that allows for loading, manipulating, and saving all Minecraft formats.
nbt Java Flexible and intuitive library for reading and writing Minecraft's NBT format on the JVM, with emphasis on custom tags.
Example NBT Class Java Basic brute-force Java class that reads and writes NBT structures.
Example Classic Level Class Java Java class(es) to read and write Classic levels.
Substrate C# C# classes to load and edit levels.
Craft.Net C# C# library for writing server software and messing with worlds and such.
c10t C++ An open source cartography tool.
libnbt++ C++ C++ library to read and write NBT structures.
CNBT C C library to read and write NBT structures.
Minecraft-Perl Perl Perl library to edit Minecraft files.
Python NBT Parser Python Python library to edit NBT structures.
pymclevel Python Python library to edit Minecraft levels. MCEdit was built upon this library.
J2Blocks Java A Java library for easy generation of Minecraft worlds.
nbtlib Python A modern python library to read and edit nbt data.

Server protocol

Minecraft:Classic server protocol used by the Minecraft Classic Creative Multiplayer server.

For info on the current multiplayer protocol, see the wiki.vg merge project on this wiki.

Resources

URL Program OS Notes
https://www.delorie.com/djgpp/ Djgpp, GCC for Windows Windows
https://www.cygwin.com/ Cygwin the Linux-on-Windows (Unix Environment) Windows Good for Windows users.
https://code.visualstudio.com/ Microsoft Visual Studio Code Windows Free version of Visual Studio, an IDE and compiler for C++, C# and Visual Basic.
https://www.oracle.com/java/technologies/downloads/ Java Development Kit download Cross-platform Essential if you want to interpret Java code

Navigation

Template:Navbox Java Edition technical Template:Navbox Minecraft

Minecraft:es:Recursos de desarrollo Minecraft:fr:Aide au développement Minecraft:hu:Fejlesztési források Minecraft:it:Risorse per lo sviluppo Minecraft:ja:開発技術情報 Minecraft:ko:개발 리소스 Minecraft:nl:Ontwikkelingsbronnen Minecraft:pt:Recursos de desenvolvimento Minecraft:ru:Для разработчиков Minecraft:zh:开发资源