---
title: Update Advancements
description: "Play 0x82, server → client."
---

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

Sends advancement definitions and progress. The server sends it on join and when advancements change. `reset` clears existing advancements first; `advancementMapping` adds definitions, `identifiers` removes them, and `progressMapping` sets criteria completion. `showAdvancements` controls whether toasts and the screen are shown.

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

## Fields

| Field | Type | Notes |
|---|---|---|
| `reset` | Boolean |  |
| `advancementMapping` | Array |  |
| `identifiers` | Array |  |
| `progressMapping` | Array |  |
| `showAdvancements` | Boolean |  |

## Send it

```ts
await client.sendPacket("UpdateAdvancements", {
  reset: /* Boolean */,
  advancementMapping: /* Array */,
  identifiers: /* Array */,
  progressMapping: /* Array */,
  showAdvancements: /* Boolean */,
});
```

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

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