---
title: Client Information
description: "Play 0x0E, client → server."
---

`play` · `0x0E` · **serverbound** (client → server)

Same as the configuration `ClientInformation`: sent when the player changes locale, view distance, chat settings, skin parts, main hand, text filtering, server listing, or particle status while in game. The server updates its stored settings and adjusts chunk range and skin metadata.

Sent by the client, read by the server. Listen for it with `client.on("ClientInformation", (data) => …)` on the receiving side.

## Fields

| Field | Type | Notes |
|---|---|---|
| `locale` | String |  |
| `viewDistance` | Byte |  |
| `chatFlags` | VarInt |  |
| `chatColors` | Boolean |  |
| `skinParts` | UByte |  |
| `mainHand` | VarInt |  |
| `enableTextFiltering` | Boolean |  |
| `enableServerListing` | Boolean |  |
| `particleStatus` | VarInt | Enum: `0` all, `1` decreased, `2` minimal. |

## Send it

```ts
await client.sendPacket("ClientInformation", {
  locale: /* String */,
  viewDistance: /* Byte */,
  chatFlags: /* VarInt */,
  chatColors: /* Boolean */,
  skinParts: /* UByte */,
  mainHand: /* VarInt */,
  enableTextFiltering: /* Boolean */,
  enableServerListing: /* Boolean */,
  particleStatus: /* VarInt */,
});
```

Field aliases listed under Notes are accepted as alternative keys when writing.

Source: [`src/Core/Versions/776/Packets/play/serverbound/ClientInformation.ts`](https://github.com/GDLev/mc-protocol/blob/master/src/Core/Versions/776/Packets/play/serverbound/ClientInformation.ts)
