ID 0x0C · 12Server → ClientPlayer
Spawns another player's entity in the world, with game mode, held item, metadata, abilities and riding links.
add-player.bin
struct AddPlayer {
uuid.UUID Uuid;
string Name;
ActorRuntimeID RuntimeId;
string PlatformOnlineId;
Vec3 Pos;
Vec3 Velocity;
Vec2 Rot;
float32 (LE) YHeadRot;
SerializedNetworkItemStackDescriptor CarriedItem;
GameType PlayerGameType;
SynchedActorData.CopyableDataList Unpack;
PropertySyncData SynchedProperties;
SerializedAbilitiesData AbilitiesData;
varuint32 [] · ActorLink[] Links;
string DeviceId;
int32 (LE) BuildPlatform;
}Structure
| Field | Type | Description |
|---|
| Uuid | uuid.UUID | |
| Name | string | |
| Runtime Id | ActorRuntimeID | |
| Platform Online Id | string | |
| Pos | Vec3 | |
| Velocity | Vec3 | |
| Rot | Vec2 | |
| Y Head Rot | float32 (LE) | |
| Carried Item | SerializedNetworkItemStackDescriptor | |
| Player Game Type | GameType | |
| Unpack | SynchedActorData.CopyableDataList | |
| Synched Properties | PropertySyncData | |
| Abilities Data | SerializedAbilitiesData | |
| Links | varuint32 count + ActorLink[] | Length-prefixed sequence. |
| Device Id | string | |
| Build Platform | int32 (LE) | |
Structure of Vec3
| Field | Type | Description |
|---|
| X | float32 (LE) | |
| Y | float32 (LE) | |
| Z | float32 (LE) | |
Structure of Vec2
| Field | Type | Description |
|---|
| X | float32 (LE) | |
| Y | float32 (LE) | |
Structure of SerializedNetworkItemStackDescriptor
cerealizer<NetworkItemStackDescriptor>::SerializedData. ItemStackNetIdVariant's
| Field | Type | Description |
|---|
| Id | int16 (LE) | |
| Stack Size | uint16 (LE) | |
| Aux Value | varuint32 | |
| Net Id Variant | optional byte + varint32 | Presence flag on the wire; value omitted when absent. |
| Block Runtime Id | varuint32 | |
| User Data Buffer | byte[] | |
Structure of CopyableDataList
| Field | Type | Description |
|---|
| Data | varuint32 count + DataItemEntry[] | Length-prefixed sequence. |
Structure of ActorLink
| Field | Type | Description |
|---|
| A | ActorUniqueID | |
| B | ActorUniqueID | |
| Type | ActorLinkType | |
| Immediate | bool | |
| Passenger Initiated | bool | |
| Vehicle Angular Velocity | float32 (LE) | |
Structure of DataItemEntry
| Field | Type | Description |
|---|
| Id | varuint32 | |
| Payload | tagged case index (0=DataItemBytePayload, 1=DataItemShortPayload, 2=DataItemIntPayload, 3=DataItemFloatPayload, 4=DataItemStringPayload, 5=DataItemCompoundTagPayload, 6=DataItemPosPayload, 7=DataItemInt64Payload, 8=DataItemVec3Payload) | Variant: an index selects the payload type — see the tables below. |
Structure of DataItemBytePayload
| Field | Type | Description |
|---|
| Type | constant DataItemType.BYTE | Fixed tag written on the wire. |
| Value | int8 (LE) | |
Structure of DataItemShortPayload
| Field | Type | Description |
|---|
| Type | constant DataItemType.SHORT | Fixed tag written on the wire. |
| Value | int16 (LE) | |
Structure of DataItemIntPayload
| Field | Type | Description |
|---|
| Type | constant DataItemType.INT | Fixed tag written on the wire. |
| Value | varint32 | |
Structure of DataItemFloatPayload
| Field | Type | Description |
|---|
| Type | constant DataItemType.FLOAT | Fixed tag written on the wire. |
| Value | float32 (LE) | |
Structure of DataItemStringPayload
| Field | Type | Description |
|---|
| Type | constant DataItemType.STRING | Fixed tag written on the wire. |
| Value | string | |
Structure of DataItemCompoundTagPayload
| Field | Type | Description |
|---|
| Type | constant DataItemType.COMPOUND_TAG | Fixed tag written on the wire. |
| Value | CompoundTag | |
Structure of DataItemPosPayload
| Field | Type | Description |
|---|
| Type | constant DataItemType.POS | Fixed tag written on the wire. |
| Value | BlockPos | |
Structure of DataItemInt64Payload
| Field | Type | Description |
|---|
| Type | constant DataItemType.INT64 | Fixed tag written on the wire. |
| Value | varint64 | |
Structure of DataItemVec3Payload
| Field | Type | Description |
|---|
| Type | constant DataItemType.VEC3 | Fixed tag written on the wire. |
| Value | Vec3 | |
Notes
- The player must already be in the PlayerList or the skin will not show.