Difference between revisions of "Pre-release protocol"
(Updated to 1.4.6) |
|||
Line 1: | Line 1: | ||
− | This page documents the changes from the [[Protocol|last stable Minecraft release]] (currently 1.4. | + | 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 == | ||
− | - | + | |
+ | === 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 == | ||
− | + | ||
+ | 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.
Contents
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.