Difference between revisions of "Pre-release protocol"
Thinkofdeath (talk | contribs) (Added new team packet (Needs testing). Added new display position(0xD0).) |
Thinkofdeath (talk | contribs) m (Updated 0xD1 notes and description) |
||
Line 109: | Line 109: | ||
''Server to Client'' | ''Server to Client'' | ||
− | + | Creates and updates teams. | |
{| class="wikitable" | {| class="wikitable" | ||
Line 123: | Line 123: | ||
| class="col2 centeralign" | string | | class="col2 centeralign" | string | ||
| class="col3 centeralign" | mcdevs | | class="col3 centeralign" | mcdevs | ||
− | | class="col4" | An unique name for the team. ( | + | | class="col4" | An unique name for the team. (Shared with scoreboard). |
|- class="row2" | |- class="row2" | ||
| class="col0 centeralign" | Mode | | class="col0 centeralign" | Mode | ||
Line 140: | Line 140: | ||
| class="col2 centeralign" | string | | class="col2 centeralign" | string | ||
| class="col3 centeralign" | McDevs | | class="col3 centeralign" | McDevs | ||
− | | class="col4" | Only if Mode = 0 or 2. | + | | class="col4" | Only if Mode = 0 or 2. |
|- class="row3" | |- class="row3" | ||
− | | class="col1 centeralign" | Team Prefix | + | | class="col1 centeralign" | Team Prefix |
| class="col2 centeralign" | string | | class="col2 centeralign" | string | ||
| class="col3 centeralign" | | | class="col3 centeralign" | | ||
− | | class="col4" | Only if Mode = 0 or 2. | + | | class="col4" | Only if Mode = 0 or 2. Displayed before the players' name that are part of this team. |
|- class="row4" | |- class="row4" | ||
− | | class="col1 centeralign" | Team Suffix | + | | class="col1 centeralign" | Team Suffix |
| class="col2 centeralign" | string | | class="col2 centeralign" | string | ||
| class="col3 centeralign" | | | class="col3 centeralign" | | ||
− | | class="col4" | Only if Mode = 0 or 2. | + | | class="col4" | Only if Mode = 0 or 2. Displayed after the players' name that are part of this team. |
|- class="row5" | |- class="row5" | ||
− | | class="col1 centeralign" | Friendly fire | + | | class="col1 centeralign" | Friendly fire |
| class="col2 centeralign" | bool | | class="col2 centeralign" | bool | ||
| class="col3 centeralign" | false | | class="col3 centeralign" | false | ||
Line 160: | Line 160: | ||
| class="col2 centeralign" | short | | class="col2 centeralign" | short | ||
| class="col3 centeralign" | 0 | | class="col3 centeralign" | 0 | ||
− | | class="col4" | Only if Mode = 0 or 3 or 4. | + | | class="col4" | Only if Mode = 0 or 3 or 4. Number of players in the array |
|- class="row7" | |- class="row7" | ||
| class="col1 centeralign" | Players | | class="col1 centeralign" | Players | ||
| class="col2 centeralign" | Array of strings | | class="col2 centeralign" | Array of strings | ||
| class="col3 centeralign" | | | class="col3 centeralign" | | ||
− | | class="col4" | Only if Mode = 0 or 3 or 4. | + | | class="col4" | Only if Mode = 0 or 3 or 4. Players to be added/remove from the team. |
|- class="row8" | |- class="row8" | ||
| class="col0" | Total Size: | | class="col0" | Total Size: |
Revision as of 07:59, 31 January 2013
This page documents the changes from the last stable Minecraft release (currently 1.4.6, protocol 51) 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
Create Scoreboard (0xCE)
Server to Client
This is sent to the client when it should create a new scoreboard or remove one.
Packet ID | Field Name | Field Type | Example | Notes |
0xCE | Scoreboard Name | string | deaths
|
An unique name for the scoreboard. |
Scoreboard Display Text | string | Deaths
|
The text to be displayed for the score. | |
Create/Remove | byte | 0 | 0 to create the scoreboard. 1 to remove the scoreboard . | |
Total Size: | 5 bytes + length of string |
Update Score (0xCF)
Server to Client
This is sent to the client when it should update a scoreboard item.
Packet ID | Field Name | Field Type | Example | Notes |
0xCF | Item Name | string | Bob
|
An unique name to be displayed in the list. |
Update/Remove | byte | 0 | 0 to create/update an item. 1 to remove an item. | |
Score Name | string | deaths
|
The unique name for the scoreboard to be updated. Only sent to Update/Remove equals 0. | |
Value | integer | 5 | The score to be displayed next to the entry. Only sent to Update/Remove equals 0. | |
Total Size: | 9 bytes + length of strings |
Display Scoreboard (0xD0)
Server to Client
This is sent to the client when it should display a scoreboard.
Packet ID | Field Name | Field Type | Example | Notes |
0xD0 | Position | byte | 1 | The position of the scoreboard. 0 = list, 1 = sidebar, 2 = belowName. |
Score Name | string | deaths
|
The unique name for the scoreboard to be displayed. | |
Total Size: | 3 bytes + length of string |
Teams (0xD1)
Server to Client
Creates and updates teams.
Packet ID | Field Name | Field Type | Example | Notes |
0xD1 | Team Name | string | mcdevs | An unique name for the team. (Shared with scoreboard). |
Mode | byte | 0 | If 0 then the team is created.
If 1 then the team is removed. If 2 the team team information is updated. If 3 then new players are added to the team. If 4 then players are removed from the team. | |
Team Display Name | string | McDevs | Only if Mode = 0 or 2. | |
Team Prefix | string | Only if Mode = 0 or 2. Displayed before the players' name that are part of this team. | ||
Team Suffix | string | Only if Mode = 0 or 2. Displayed after the players' name that are part of this team. | ||
Friendly fire | bool | false | Only if Mode = 0 or 2. | |
Player count | short | 0 | Only if Mode = 0 or 3 or 4. Number of players in the array | |
Players | Array of strings | Only if Mode = 0 or 3 or 4. Players to be added/remove from the team. | ||
Total Size: | Variable |
Changed Packets
Open Window (0x64)
Server to Client
This is sent to the client when it should open an inventory, such as a chest, workbench, or furnace. This message is not sent anywhere for clients opening their own inventory.
Packet ID | Field Name | Field Type | Example | Notes |
0x64 | Window id | byte | 123 | A unique id number for the window to be displayed. Notchian server implementation is a counter, starting at 1. |
Inventory Type | byte | 2 | The window type to use for display. Check below | |
Window title | string | Chest
|
The title of the window. | |
Number of Slots | byte | 3 | Number of slots in the window (excluding the number of slots in the player inventory). | |
Use provided window title | boolean | 1 | If false, the client will look up a string like "window.minecart". If true, the client uses what the server provides. | |
Total Size: | 6 bytes + length of string |
Changed Data Types
Entity Metadata
Mobs
Index 5, string: Mob Name
The name to be displayed on the nameplate above the entity (If Show nameplate = 1).
Index 6, byte: Show nameplate
Set to 1 to show the nameplate, otherwise it is not displayed.
Minecart
Index 20, int: Block id & metadata
The id and metadata of the block to be shown in the minecart (If Show block = 1).
The block id can be obtained by: value & 0xFFFF.
The block metadata can be obtained by: value >> 16.
Index 21, int: Block position
The position (Y axis) of the block in the minecart. (Default: 6)
Index 22, byte: Show block
Set to 1 to show the block in the minecart, otherwise the block is not displayed.
Removed Packets
-None-
Protocol History
13w05a: Protocol version is now 56. New packets for teams.
13w04a: Protocol version is now 55. New packets for scoreboards.
13w03a: Protocol version is now 54.
13w02a: Protocol version is now 53. All Minecart entities use object type 10, and send the block within seperately. Minecarts now send their type as object data in 0x17. Added boolean to 0x64 (Open Window) to determine whether or not to use the provided window title.