← Back to Index

PlayerSkinPacket (93)

Used when the player changes their skin
Sent from the client to server, then processed and broadcasted to all clients. This is used by third-party(3P) servers to send custom geometry.
Field Name Type Field Index Description
UUID (Required) mce::UUID 0 The player's UUID

mce::UUID

Field Name Type Field Index Description
Most Significant Bits (Required) uint64 0
Least Significant Bits (Required) uint64 1
Serialized Skin (Required) SerializedSkin 1 The player's serialized skin

SerializedSkin

Field Name Type Field Index Description
ID (Required) string 0
PlayFabID (Required) string 1
ResourcePatch (Required) string 2
ImageData (Required) SkinImage 3

SkinImage

Field Name Type Field Index Description
Width (Required) uint32 0
Height (Required) uint32 1
ImageBytes (Required) array<uint8> 2
AnimatedImageData (Required) array<AnimatedImageData> 4

AnimatedImageData (Array Item)

Field Name Type Field Index Description
SkinImage (Required) SkinImage 0

SkinImage

Field Name Type Field Index Description
Width (Required) uint32 0
Height (Required) uint32 1
ImageBytes (Required) array<uint8> 2
AnimatedTextureType (Required) varuint32 1
Enum Values:
Index Value
0 Face
1 Body32x32
2 Body128x128
Frames (Required) float 2
AnimationExpression (Required) varuint32 3
Enum Values:
Index Value
0 Linear
1 Blinking
CapeImageData (Required) SkinImage 5

SkinImage

Field Name Type Field Index Description
Width (Required) uint32 0
Height (Required) uint32 1
ImageBytes (Required) array<uint8> 2
GeometryData (Required) Json::Value 6
GeometryDataMinEngineVersion (Required) MinEngineVersion 7
AnimationData (Required) string 8
CapeID (Required) string 9
FullID (Required) string 10
ArmSize (Required) uint8 11
Enum Values:
Index Value
0 Slim
1 Wide
SkinColor (Required) Color 12

Color

Field Name Type Field Index Description
Color (Required) int32 0
PersonaPieces (Required) array<SerializedPersonaPieceHandle> 13

SerializedPersonaPieceHandle (Array Item)

Field Name Type Field Index Description
PieceId (Required) string 0
PieceType (Required) uint32 1
Enum Values:
Index Value
0 Skeleton
1 Body
2 Skin
3 Bottom
4 Feet
5 Dress
6 Top
7 High_Pants
8 Hands
9 Outerwear
10 FacialHair
11 Mouth
12 Eyes
13 Hair
14 Hood
15 Back
16 FaceAccessory
17 Head
18 Legs
19 LeftLeg
20 RightLeg
21 Arms
22 LeftArm
23 RightArm
24 Capes
25 ClassicSkin
26 Emote
PackId (Required) mce::UUID 2

mce::UUID

Field Name Type Field Index Description
Most Significant Bits (Required) uint64 0
Least Significant Bits (Required) uint64 1
IsDefaultPiece (Required) boolean 3
ProductId (Required) string 4
PieceTintColors (Required) object<string, TintMapColor> 14

Map Entry

Field Name Type Field Index Description
key string
Enum Values:
Index Value
0 Skeleton
1 Body
2 Skin
3 Bottom
4 Feet
5 Dress
6 Top
7 High_Pants
8 Hands
9 Outerwear
10 FacialHair
11 Mouth
12 Eyes
13 Hair
14 Hood
15 Back
16 FaceAccessory
17 Head
18 Legs
19 LeftLeg
20 RightLeg
21 Arms
22 LeftArm
23 RightArm
24 Capes
25 ClassicSkin
26 Emote
value TintMapColor

TintMapColor

Field Name Type Field Index Description
Colors (Required) array<Color> 0

Color (Array Item)

Field Name Type Field Index Description
Color (Required) int32 0
IsPremium (Required) boolean 15
IsPersona (Required) boolean 16
IsPersonaCapeOnClassicSkin (Required) boolean 17
IsPrimaryUser (Required) boolean 18
OverridesPlayerAppearance (Required) boolean 19
TrustedSkinFlag (Required) string 20
Enum Values:
Index Value
0 Unset
1 False
2 True
Localized New Skin Name (Required) string 2 The player's localized new skin name
Localized Old Skin Name (Required) string 3 The player's localized old skin name