Pre-release protocol
This page documents the changes from the last stable Minecraft release (currently 1.8.1) to the current pre-release (currently 1.0RC2)
Contents
New packets
Enchant Item (0x6C)
Client to Server only
Packet ID | Field Name | Field Type | Example | Notes |
---|---|---|---|---|
0x6C | Window ID | byte | 1 | The ID sent by 0x64 |
Enchantment | byte | 0 | The position of the enchantment on the enchantment table window, starting with 0 as the topmost one. | |
Total Size: | 3 bytes |
Changed packets
"Slot" type change
Four packets changed:
- 0x0F player block placement
- 0x66 window click
- 0x67 set slot
- 0x68 window items
- 0x6B Create Inventory
This change affects the "slot" datatype. This type consists of at least a short (item_id). If this id isn't -1
, a byte (count) and a short (uses) follow.
From 1.9pre2 onward, additional data is sent but only for certain item_ids. This means the protocol is no longer context free. The additional data is at least a short. If this short isn't -1, a byte[] array follows, containing gzipped NBT data
As of 1.9pre3, the format of the NBT is as follows
COMPOUND
LIST: 'ench'
SHORT: 'id'
SHORT: 'lvl'
END
END
Experience (0x2B)
Packet ID | Field Name | Field Type | Example | Notes |
---|---|---|---|---|
0x2B | Experience bar | float | 0.5960060358047485
|
Used for drawing the experience bar - value is between 0 and 1. |
Level | short | 8
|
||
Total experience | short | 130
|
||
Total Size: | 9 bytes |
Update progress bar (0x69)
Now used to list available enchantments in the enchantment table. The "progress bar" field is the index - 0, 1 or 2. The "value" field gives the enchantment's level.
This field should probably be renamed to "Window property change" or something.
Other changes
Protocol version is 20, as of 1.9pre4
New mobs: Blaze, Magma Cube, Ender Dragon, Snowman, Villager
Notchian server features two new protocols: RCON (server class: o.java) and Query (server class: su.java)
Protocol History
2011-11-13
- 1.0rc2
- Protocol version is not changed
- Client gives invalid server key when authentication hash is 8 bytes and the first byte is > 0x80
- Bow has extra metadata as slot item.
2011-11-11
- Beta 1.9 pre6.
- Protocol version is now 22
- NewState: Reason 4 = Enter scrolling text mode after slaying the dragon.
- New entity: EnderCrystal (Spawned using the Add Object/Vehicle (0x17) packet with type 51)
2011-10-27
- Beta 1.9 pre5.
- Protocol version is now 21
- Packet 0x6B (Create Inventory) changed: uses Slot datatype.
2011-10-13
- Beta 1.9 pre4.
- Protocol version is now 20
- Packet 0x2B (Experience) changed: now (float, short, short)
- New packet 0x6C (Enchant item) added: (byte, byte)
- Flint and steel no longer enchantable (see 1.9pre3 changes). Might be others, too.
- Notchian server now features an RCON server (server class: o.java)
- Notchian server now features "G4S" server [1]
2011-9-29
- Beta 1.9 pre2.
- Protocol version is now 19
- Four packets changed:
- The change affects the "slot" datatype. This type consists of at least a short (item_id). If this id isn't
-1
, a byte (count) and a short (uses) follow. - From 1.9pre2 onward, additional data is sent but only for certain item_ids. This means the protocol is no longer context free. The additional data is at least a short. If this short isn't -1, a byte[] array follows, containing gzipped NBT data
- The format of the NBT is as follows
COMPOUND
LIST: 'ench'
SHORT: 'id'
SHORT: 'lvl'
END
END
- So far only this format, with 'id' and 'lvl' set to
2
and1
respectively, has been seen.
2011-9-22
- Beta 1.9 pre1.
- Protocol version is now 18