Pre-release protocol
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
Particle (0x3F)
Server to Client
This displays the named particle
Packet ID | Field Name | Field Type | Example | Notes |
0x3F | Particle name | string | hugeexplosion
|
The name of the particle to create |
X | float | 0 | X position of the particle | |
Y | float | 0 | Y position of the particle | |
Z | float | 0 | Z position of the particle | |
Offset X | float | 0 | This is added to the X position after being multiplied by random.nextGaussian() | |
Offset Y | float | 0 | This is added to the Y position after being multiplied by random.nextGaussian() | |
Offset Z | float | 0 | This is added to the Z position after being multiplied by random.nextGaussian() | |
Particle speed | float | 0 | The speed of each particle | |
Number of particles | int | 0 | The number of particles to create | |
Total Size: | 34 bytes + length of string |
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 | byte | 0 | 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
13w09c: Protocol version is now 60.
13w09b: Protocol version is now 59.
13w06a: Protocol version is now 57 58 (Changed after bug fix, version is still 13w06a).
13w05b: Protocol version is now 57.
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.
13w01a: Protocol version is now 52. Added boolean to 0x64 (Open Window) to determine whether or not to use the provided window title.