Pre-release protocol

From wiki.vg
Revision as of 18:50, 10 August 2016 by Momothereal (talk | contribs) (ZombieHorse and SkeletonHorse, Skeleton types entities)
Jump to navigation Jump to search

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

One who wishes to commandeer the merging of this into Protocol when an update is made must be sure to respect any changes that may have occurred to the respective packets there.

Contents

Data types

No changes so far.

Packets

No changes so far.

ID Packet name Documentation
Handshaking serverbound
0x00 Handshake Current Pre
Play clientbound
0x03 Spawn Mob Current Pre
0x48 Collect Item Current Pre

New/modified data types

Entity Metadata

AbstractSkeleton

Extends Monster.

Index Type Meaning
12 Boolean Is swinging arms

Skeleton

Extends AbstractSkeleton.

Wither Skeleton

Extends AbstractSkeleton.

Stray

Extends AbstractSkeleton.

Zombie

Extends Monster.

Index Type Meaning
12 Boolean Is baby
13 VarInt Zombie type (0 for zombie, profession+1 for villagers, 6 for Husk)
14 Boolean Is converting
15 14 Boolean Are hands held up

Zombie Villager

Extends Zombie.

Index Type Meaning
15 Boolean Is converting
16 VarInt Profession

AbstractHorse

Extends Animal.

Index Type Meaning
13 Byte Bit mask Meaning
0x01 Unused
0x02 Is Tame
0x04 Is saddled
0x08 Has Chest
0x10 Is Bred (not used on the Notchian server; controlled via the unused Bred NBT flag)
0x20 Is eating
0x40 Is rearing (on hind legs)
0x80 Is mouth open
14 OptUUID Owner

Horse

Extends AbstractHorse.

Index Type Meaning
15 VarInt Variant (Color & Style)
16 VarInt Armor

ZombieHorse

Extends AbstractHorse.

SkeletonHorse

Extends AbstractHorse.

ChestedHorse

Extends AbstractHorse.

Index Type Meaning
15 Boolean Has Chest

Donkey

Extends ChestedHorse.

Mule

Extends ChestedHorse.

Handshaking

Clientbound

No changes so far.

Serverbound

Handshake

This causes the server to switch into the target state.

Packet ID State Bound To Field Name Field Type Notes
0x00 Handshaking Server Protocol Version VarInt See protocol version numbers (currently 210 301)
Server Address String Hostname or IP, e.g. localhost or 127.0.0.1, that was used to connect. The Notchian server does not use this information.
Server Port Unsigned Short Default is 25565. The Notchian server does not use this information.
Next State VarInt Enum 1 for status, 2 for login

Play

Clientbound

Spawn Mob

Sent by the server when a mob entity is spawned.

Packet ID State Bound To Field Name Field Type Notes
0x03 Play Client Entity ID VarInt
Entity UUID UUID
Type Unsigned Byte VarInt The type of mob. See Entities#Mobs
X Double
Y Double
Z Double
Yaw Angle
Pitch Angle
Head Pitch Angle
Velocity X Short Same units as Entity Velocity
Velocity Y Short Same units as Entity Velocity
Velocity Z Short Same units as Entity Velocity
Metadata Entity Metadata

Collect Item

Sent by the server when someone picks up an item lying on the ground — its sole purpose appears to be the animation of the item flying towards you. It doesn't destroy the entity in the client memory, and it doesn't add it to your inventory. The server only checks for items to be picked up after each Player Position (and Player Position And Look) packet sent by the client.

Packet ID State Bound To Field Name Field Type Notes
0x48 Play Client Collected Entity ID VarInt
Collector Entity ID VarInt
Pickup Item Count VarInt Seems to be 1 for XP orbs, otherwise the number of items in the stack.

Serverbound

No changes so far.

Status

Clientbound

No changes so far.

Serverbound

No changes so far.

Login

Clientbound

No changes so far.

Serverbound

No changes so far.