---
title: Update Attributes
description: "Play 0x83, server → client."
---

`play` · `0x83` · **clientbound** (server → client)

Sets an entity's attributes (max health, movement speed, etc.) with base values and modifiers. The server sends it when attributes change. Each modifier has a UUID or ID, amount and operation; the client recomputes the effective values.

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

## Fields

| Field | Type | Notes |
|---|---|---|
| `entityId` | VarInt |  |
| `properties` | Array |  |

## Send it

```ts
await client.sendPacket("UpdateAttributes", {
  entityId: /* VarInt */,
  properties: /* Array */,
});
```

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

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