Pre-release protocol: Difference between revisions

From wiki.vg
Jump to navigation Jump to search
imported>Barneygale
→‎Protocol History: pre6 released.
imported>Barneygale
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