Pre-release protocol: Difference between revisions
imported>Md 5 |
imported>SirCmpwn 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.
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.