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

Notch's notes on NBT format files and the old Indev format.

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

Libraries

 * Java Classes to read and write Classic Maps
 * Java Class to read and write NBT structures
 * C library to read and write NBT structures
 * 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

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

For info on the protocol for Minecraft Alpha, see the TkTech wiki page as well as the authentication protocol here.

Additional reverse engineering is being done by the OpenCraft team. The current dissection is available at the gitorious repository