Development resources

Map File Format
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. Blocks, items and data values are common to all map types.

Map Formats

 * Classic Level Format used by the old Minecraft Classic: Survival, Creative, and Multiplayer.
 * Indev Level Format used by Minecraft Indev.
 * Alpha Level Format used by Minecraft Alpha (previously Infdev).
 * Beta Level Format used by Minecraft Beta (from Beta 1.3).
 * Anvil Level Format used by Minecraft (from 1.2)
 * Pocket Edition Level Format used by Minecraft Pocket Edition.

Notch's notes on NBT format files.
 * Note: As of Minecraft Weekly 12w07a, there is a new NBT tag with ID 11: an integer array tag. This tag is not described in the original NBT docs linked above.
 * An article has been made for this: NBT Format

Schematic files based on NBT format are used by a few 3rd party utilities to store sections of a map for later use.

Other Formats

 * Map Item Format

Libraries

 * Java Classes to read and write Classic Maps
 * Java Class to read and write NBT structures
 * C# library to load and edit worlds
 * C++ code for reading Minecraft files are part of c10t, a cartography tool
 * C library to read and write NBT structures
 * Perl library to read, write, and manipulate Minecraft files
 * Python library to read and write NBT structures
 * Python library to load and edit Alpha worlds
 * OpenCraft IO, JNBT, and Model libraries to handle everything
 * C# library for writing server software

Mod Creation Tools

 * Minecraft Coder Pack used to create and edit mods to both the Minecraft client and server
 * Techne - the modeler: used to create custom models for in game use, comes with library of standard models.
 * FMCModeler can be used to create custom models for in game use, can also create models from Java code (with some restrictions). Written in Flash. It appears to be abandoned, but it's still working when used with CustomRenderer.

Server Protocol
Classic Server Protocol used by the Minecraft Classic Creative Multiplayer server.

For info on the Minecraft Beta server protocol, see the Minecraft Coalition Wiki.

Programs
Development Resources Recursos de desarrollo Aide au développement Fejlesztési források Development Resources Для разработчиков 开发资源