Difference between revisions of "Pre-release protocol"

From wiki.vg
Jump to navigation Jump to search
(→‎Protocol History: pre6 released.)
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
This page documents the changes from the [[Protocol|last stable Minecraft release]] (currently 1.8.1) to the current pre-release (currently 1.9pre4)
+
This page documents the changes from the [[Protocol|last stable Minecraft release]] (currently 1.8.1) to the current pre-release (currently 1.0RC2)
  
 
== New packets ==
 
== New packets ==
Line 57: Line 57:
 
</code>
 
</code>
  
=== Experience (0x2B) ===
+
=== [[Protocol#Experience_.280x2B.29|Experience (0x2B)]] ===
  
Now float, short, short
+
{| class="wikitable"
 +
|- class="row0"
 +
! class="col0" | Packet ID
 +
! class="col1" | Field Name
 +
! class="col2" | Field Type
 +
! class="col3" | Example
 +
! class="col4" | Notes
 +
|- class="row1"
 +
| class="col0 centeralign" rowspan="3" | 0x2B
 +
| class="col1 centeralign" | Experience bar
 +
| class="col2 centeralign" | float
 +
| class="col3 centeralign" | <code>0.5960060358047485</code>
 +
| class="col4" | Used for drawing the experience bar - value is between 0 and 1.
 +
|- class="row2"
 +
| class="col0 centeralign" | Level
 +
| class="col1 centeralign" | short
 +
| class="col2 centeralign" | <code>8</code>
 +
| class="col4" |
 +
|- class="row3"
 +
| class="col0 centeralign" | Total experience
 +
| class="col1 centeralign" | short
 +
| class="col2 centeralign" | <code>130</code>
 +
| class="col3" |
 +
|- class="row4"
 +
! class="col0" | Total Size:
 +
| class="col1 rightalign" colspan="4" | 9 bytes
 +
|}
  
 
== Other changes ==
 
== Other changes ==
Line 70: Line 96:
  
 
== Protocol History ==
 
== 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 ===
 
=== 2011-11-11 ===
 
* Beta 1.9 pre6.
 
* Beta 1.9 pre6.
 
* Protocol version is now 22
 
* Protocol version is now 22
* Any protocol changes?
+
* NewState: Reason 4 = Enter scrolling text mode after slaying the dragon.
 +
* New entity: EnderCrystal (Spawned using the [[Protocol#Add_Object.2FVehicle_.280x17.29|Add Object/Vehicle (0x17)]] packet with type 51)
  
 
=== 2011-10-27 ===
 
=== 2011-10-27 ===

Revision as of 05:28, 15 November 2011

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

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)

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

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 and 1 respectively, has been seen.

2011-9-22

  • Beta 1.9 pre1.
  • Protocol version is now 18