Difference between revisions of "Pre-release protocol"

From wiki.vg
Jump to navigation Jump to search
 
(Reset, added information about undocumented 1.21-pre2)
Tag: Replaced
 
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.0RC2)
+
There is currently a pre-release version available: 1.21-pre2, but it has not yet been documented. For the latest stable Minecraft release, see the [[Protocol|Protocol]] page. For previous pre-release pages, see the [[Protocol version numbers|Protocol version numbers]] page.
  
== New packets ==
+
One who wishes to commandeer the merging of this into [[Protocol]] when an update is made must be sure to respect any changes that may have occurred to the respective packets there.
  
=== Enchant Item (0x6C) ===
+
== Contents ==
  
'''Client to Server only'''
+
<div style="float:right;">__TOC__</div>
  
{| class="wikitable"
+
=== Data types ===
|- 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=2 | 0x6C
 
| class="col1 centeralign" | Window ID
 
| class="col2 centeralign" | byte
 
| class="col3 centeralign" | 1
 
| class="col4" | The ID sent by [[Protocol#Open_window_.280x64.29|0x64]]
 
|- class="row2"
 
| class="col1 centeralign" | Enchantment
 
| class="col2 centeralign" | byte
 
| class="col3 centeralign" | 0
 
| class="col4" | The position of the enchantment on the enchantment table window, starting with 0 as the topmost one.
 
|- class="row3"
 
! class="col0" | Total Size:
 
| class="col1 rightalign" colspan="4" | 3 bytes
 
|}
 
  
== Changed packets ==
+
No changes so far.
  
=== "Slot" type change ===
+
=== Packets ===
  
Four packets changed:
+
No changes so far.
  
* [[Protocol#Player_Block_Placement_.280x0F.29|0x0F player block placement]]
+
[[Category:Minecraft Modern]]
* [[Protocol#Window_click_.280x66.29|0x66 window click]]
 
* [[Protocol#Set_slot_.280x67.29|0x67 set slot]]
 
* [[Protocol#Window_items_.280x68.29|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 <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
 
 
 
As of 1.9pre3, the format of the NBT is as follows
 
 
 
<code>
 
  COMPOUND
 
    LIST: 'ench'
 
      SHORT: 'id'
 
      SHORT: 'lvl'
 
    END
 
  END
 
</code>
 
 
 
=== [[Protocol#Experience_.280x2B.29|Experience (0x2B)]] ===
 
 
 
{| 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 ==
 
 
 
Protocol version is 20, as of 1.9pre4
 
 
 
[[Protocol#Mob_Types|New mobs]]: Blaze, Magma Cube, Ender Dragon, Snowman, Villager
 
 
 
Notchian server features two new protocols: [[Rcon|RCON]] (server class: o.java) and [[Query|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 [[Protocol#Add_Object.2FVehicle_.280x17.29|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 ===
 
* <div class="li">Beta 1.9 pre4.</div>
 
* Protocol version is now 20
 
* Packet 0x2B ([[#Experience_.280x2B.29|Experience]]) changed: now (float, short, short)
 
* 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.
 
* Notchian server now features an [[Rcon|RCON]] server (server class: o.java)
 
* Notchian server now features "G4S" server [http://pear.php.net/package/Net_GameServerQuery]
 
 
 
=== 2011-9-29 ===
 
* <div class="li">Beta 1.9 pre2.</div>
 
* Protocol version is now 19
 
* Four packets changed:
 
** [[Protocol#Player_Block_Placement_.280x0F.29|0x0F player block placement]]
 
** [[Protocol#Window_click_.280x66.29|0x66 window click]]
 
** [[Protocol#Set_slot_.280x67.29|0x67 set slot]]
 
** [[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.
 
* 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
 
* The format of the NBT is as follows
 
<code>
 
  COMPOUND
 
    LIST: 'ench'
 
      SHORT: 'id'
 
      SHORT: 'lvl'
 
    END
 
  END
 
</code>
 
* So far only this format, with 'id' and 'lvl' set to <code>2</code> and <code>1</code> respectively, has been seen.
 
 
 
=== 2011-9-22 ===
 
* <div class="li">Beta 1.9 pre1.</div>
 
* Protocol version is now 18
 

Latest revision as of 09:24, 6 June 2024

There is currently a pre-release version available: 1.21-pre2, but it has not yet been documented. For the latest stable Minecraft release, see the Protocol page. For previous pre-release pages, see the Protocol version numbers page.

One who wishes to commandeer the merging of this into Protocol when an update is made must be sure to respect any changes that may have occurred to the respective packets there.

Contents

Data types

No changes so far.

Packets

No changes so far.