Difference between revisions of "Pre-release protocol"

From wiki.vg
Jump to navigation Jump to search
(New mobs)
(Fixed links)
Line 19: Line 19:
 
| class="col2 centeralign" | byte
 
| class="col2 centeralign" | byte
 
| class="col3 centeralign" | 1
 
| class="col3 centeralign" | 1
| class="col4" | The ID sent by [[#Open_window_.280x64.29|0x64]]
+
| class="col4" | The ID sent by [[Protocol#Open_window_.280x64.29|0x64]]
 
|- class="row2"
 
|- class="row2"
 
| class="col1 centeralign" | Enchantment
 
| class="col1 centeralign" | Enchantment
Line 76: Line 76:
 
* Protocol version is now 20
 
* Protocol version is now 20
 
* Packet 0x2B ([[#Experience_.280x2B.29|Experience]]) changed: now (float, short, short)
 
* Packet 0x2B ([[#Experience_.280x2B.29|Experience]]) changed: now (float, short, short)
* New packet 0x6C ([[#Unknown_.280x6C.29|Unknown]]) added: (byte, byte)
+
* New packet 0x6C ([[#Enchant_Item_.280x6C.29|Enchant item]]) added: (byte, byte)
 
* Flint and steel no longer enchantable (see 1.9pre3 changes). Might be others, too.
 
* Flint and steel no longer enchantable (see 1.9pre3 changes). Might be others, too.
 
* Notchian server now features an [[Rcon|RCON]] server (server class: o.java)
 
* Notchian server now features an [[Rcon|RCON]] server (server class: o.java)
Line 85: Line 85:
 
* Protocol version is now 19
 
* Protocol version is now 19
 
* Four packets changed:
 
* Four packets changed:
** [[#Player_Block_Placement_.280x0F.29|0x0F player block placement]]
+
** [[Protocol#Player_Block_Placement_.280x0F.29|0x0F player block placement]]
** [[#Window_click_.280x66.29|0x66 window click]]
+
** [[Protocol#Window_click_.280x66.29|0x66 window click]]
** [[#Set_slot_.280x67.29|0x67 set slot]]
+
** [[Protocol#Set_slot_.280x67.29|0x67 set slot]]
** [[#Window_items_.280x68.29|0x68 window items]]
+
** [[Protocol#Window_items_.280x68.29|0x68 window items]]
 
* The change affects the "slot" datatype. This type consists of at least a short (item_id). If this id isn't <code>-1</code>, a byte (count) and a short (uses) follow.
 
* The change affects the "slot" datatype. This type consists of at least a short (item_id). If this id isn't <code>-1</code>, a byte (count) and a short (uses) follow.
 
* From 1.9pre2 onward, additional data is sent but only for [https://gist.github.com/1268479 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
 
* From 1.9pre2 onward, additional data is sent but only for [https://gist.github.com/1268479 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

Revision as of 10:14, 18 October 2011

This page documents the changes from the last stable Minecraft release (currently 1.8.1) to the current pre-release (currently 1.9pre4)

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:

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)

Now float, short, short

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 G4S [1]

Protocol History

Provided below is a changelog of the server protocol starting on 2010-08-20. The wiki history feature may also be used to investigate changes.

2011-10-13

  • Beta 1.9 pre4-release.
  • 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 [2]

2011-9-29

  • Beta 1.9 pre2-release.
  • 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 and 1 respectively, has been seen.

2011-9-22

  • Beta 1.9 pre-release.
  • Protocol version is now 18