Difference between revisions of "Pre-release protocol"

From wiki.vg
Jump to navigation Jump to search
 
(Updated to 1.4.6)
Line 1: Line 1:
This page documents the changes from the [[Protocol|last stable Minecraft release]] (currently 1.4.4, protocol 49) to the current pre-release (or weekly release).
+
This page documents the changes from the [[Protocol|last stable Minecraft release]] (currently 1.4.5, protocol 49) to the current pre-release (or weekly release). Note that this page contains bleeding-edge information that may not be completely or correctly documented.
  
 
== New Packets ==
 
== New Packets ==
Line 30: Line 30:
  
 
== Changed Data Types ==
 
== Changed Data Types ==
-None-
+
 
 +
=== Spawn Object/Vehicle (0x17) ===
 +
 
 +
''Server to Client''
 +
 
 +
{| 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="9" | 0x17
 +
| class="col1 centeralign" | EID
 +
| class="col2 centeralign" | int
 +
| class="col3 centeralign" | <code>62</code>
 +
| class="col4" | Entity ID of the Object
 +
|- class="row2"
 +
| class="col0 centeralign" | Type
 +
| class="col1 centeralign" | byte
 +
| class="col2 centeralign" | <code>11</code>
 +
| class="col3" | The type of object (see [[Entities#Objects]])
 +
|- class="row3"
 +
| class="col0 centeralign" | X
 +
| class="col1 centeralign" | int
 +
| class="col2 centeralign" | <code>16080</code>
 +
| class="col3" | The Absolute Integer X Position of the object
 +
|- class="row4"
 +
| class="col0 centeralign" | Y
 +
| class="col1 centeralign" | int
 +
| class="col2 centeralign" | <code>2299</code>
 +
| class="col3" | The Absolute Integer Y Position of the object
 +
|- class="row5"
 +
| class="col0 centeralign" | Z
 +
| class="col1 centeralign" | int
 +
| class="col2 centeralign" | <code>592</code>
 +
| class="col3" | The Absolute Integer Z Position of the object
 +
|- class="row5"
 +
| class="col0 centeralign" | '''Yaw'''
 +
| class="col1 centeralign" | '''byte'''
 +
| class="col2 centeralign" | '''<code>592</code>'''
 +
| class="col3" | '''The yaw in steps of 2p/256'''
 +
|- class="row5"
 +
| class="col0 centeralign" | '''Pitch'''
 +
| class="col1 centeralign" | '''byte'''
 +
| class="col2 centeralign" | '''<code>592</code>'''
 +
| class="col3" | '''The pitch in steps of 2p/256 '''
 +
|- class="row6"
 +
| class="col0 centeralign" | [[Object Data]]
 +
| class="col1 centeralign" |
 +
| class="col2 centeralign" |
 +
| class="col3" | [[Object Data]]
 +
|- class="row6"
 +
| class="col0" | Total Size:
 +
| class="col1 rightalign" colspan="4" | 22 or 28 bytes
 +
|}
 +
 
 +
=== Map Chunk Bulk (0x38) ===
 +
 
 +
''Server to Client''
 +
 
 +
{| 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=5 | 0x38
 +
| class="col1 centeralign" | Chunk Count
 +
| class="col2 centeralign" | short
 +
| class="col3 centeralign" |
 +
| class="col4" | The number of chunks in this packet
 +
|- class="row2"
 +
| class="col0 centeralign" | Chunk data length
 +
| class="col1 centeralign" | int
 +
| class="col2 centeralign" |
 +
| class="col3" | the size of the data field
 +
|- class="row2"
 +
| class="col0 centeralign" | '''Unknown use'''
 +
| class="col1 centeralign" | '''boolean'''
 +
| class="col2 centeralign" |
 +
| class="col3" | '''Has only been observed as true when sniffing a vanilla connection.'''
 +
|- class="row3"
 +
| class="col0 centeralign" | Data
 +
| class="col1 centeralign" | byte array
 +
| class="col2 centeralign" |
 +
| class="col3" | Compressed chunk data
 +
|- class="row4"
 +
| class="col0 centeralign" | meta information
 +
| class="col1 centeralign" | chunk bulk meta information
 +
| class="col2 centeralign" |
 +
| class="col3 centeralign" | Chunk count times the Meta information structure (See notes for details)
 +
|- class="row5"
 +
| class="col0" | Total Size:
 +
| class="col1 rightalign" colspan="4" | 7 + (Chunk data size) + 12 * (Chunk Count) bytes
 +
|}
  
 
== Removed Packets ==
 
== Removed Packets ==
-None-
+
 
 +
0x15 "Spawn Dropped Item" has been removed, and its purpose is now handled by 0x17 "Spawn Object/Vehicle". The entity type ID is 0x02. You can set the item type by sending an 0x18 "Entity Metadata" packet with a slot at index 10. [https://gist.github.com/4325656 Vanilla packet dump]
  
 
== Protocol History ==
 
== Protocol History ==
 +
 +
'''1.4.6 Pre-release'''
 +
 +
Protocol version is now 51. Spawn dropped item (0x15) removed, merged into spawn object (0x17). Map chunk bulk (0x38) adds a boolean field with unknown purpose.
 +
 
'''12w49a'''
 
'''12w49a'''
  
 
Protocol version is now 50. Packet 0x10 is sent both ways. Packet 0x17 has two new bytes, currently unknown.
 
Protocol version is now 50. Packet 0x10 is sent both ways. Packet 0x17 has two new bytes, currently unknown.

Revision as of 20:14, 17 December 2012

This page documents the changes from the last stable Minecraft release (currently 1.4.5, protocol 49) to the current pre-release (or weekly release). Note that this page contains bleeding-edge information that may not be completely or correctly documented.

New Packets

-None-

Changed Packets

Held Item Change (0x10)

Two-Way

Sent when the player changes the slot selection, Server sends it when you travel to a different dimension.

Packet ID Field Name Field Type Example Notes
0x10 Slot ID short 1 The slot which the player has selected (0-8)
Total Size: 3 bytes

Changed Data Types

Spawn Object/Vehicle (0x17)

Server to Client

Packet ID Field Name Field Type Example Notes
0x17 EID int 62 Entity ID of the Object
Type byte 11 The type of object (see Entities#Objects)
X int 16080 The Absolute Integer X Position of the object
Y int 2299 The Absolute Integer Y Position of the object
Z int 592 The Absolute Integer Z Position of the object
Yaw byte 592 The yaw in steps of 2p/256
Pitch byte 592 The pitch in steps of 2p/256
Object Data Object Data
Total Size: 22 or 28 bytes

Map Chunk Bulk (0x38)

Server to Client

Packet ID Field Name Field Type Example Notes
0x38 Chunk Count short The number of chunks in this packet
Chunk data length int the size of the data field
Unknown use boolean Has only been observed as true when sniffing a vanilla connection.
Data byte array Compressed chunk data
meta information chunk bulk meta information Chunk count times the Meta information structure (See notes for details)
Total Size: 7 + (Chunk data size) + 12 * (Chunk Count) bytes

Removed Packets

0x15 "Spawn Dropped Item" has been removed, and its purpose is now handled by 0x17 "Spawn Object/Vehicle". The entity type ID is 0x02. You can set the item type by sending an 0x18 "Entity Metadata" packet with a slot at index 10. Vanilla packet dump

Protocol History

1.4.6 Pre-release

Protocol version is now 51. Spawn dropped item (0x15) removed, merged into spawn object (0x17). Map chunk bulk (0x38) adds a boolean field with unknown purpose.

12w49a

Protocol version is now 50. Packet 0x10 is sent both ways. Packet 0x17 has two new bytes, currently unknown.