Development resources

Map File Format
See these pages for information on Map Editing:

Map Editing (general)

Map Editing (hex)

Java Classes to Deserialize Maps

.dat Map Format

Map Format (NBT) 1 2

Java Class to read and write NBT structures

Blocks, items and data values

Packet Protocol
Every packet starts with a byte representing the Packet ID.

Color Codes
Messages sent from the server to the client can contain color codes, which allow coloring of text for various purposes. An ampersand followed by a hex digit in the message tells the client to switch colors while displaying text. Colour coding at the start of the message will only work if the player ID byte is less than 127. If it's 127 or higher, the game automatically adds &e before the message, making it yellow. However, colour codes after the first character still work. If you use an ID below 127, it doesn't add a colour code, so the ones you use will work.



Mobs

 * See also: Mobs

In multiplayer creative mode, all mobs are treated the same by the client. To create non-player mobs, simply send updates for them as you would a normal player. The client finds a mob's skin by its name, downloading from http://minecraft.net/skin/name.png and defaulting to the generic mob if it doesn't exist. To give your monsters a special skin, you would need to register and pay for an account with the monster's name.

You can also send fake names for actual players in order to force them to have a certain skin.