---
title: Waypoint
description: "Play 0x8A, server → client."
---

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

Tracks, updates, or removes a locator bar waypoint for an entity or position. The operation selects track, untrack or update; the waypoint is identified by UUID or string ID and carries icon style and color plus position data (vec3i, chunk coordinates, or azimuth). The client shows it on the locator bar.

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

## Fields

| Field | Type | Notes |
|---|---|---|
| `operation` | VarInt | Enum: `0` track, `1` untrack, `2` update. |
| `waypoint` | Struct |  |

## Send it

```ts
await client.sendPacket("Waypoint", {
  operation: /* VarInt */,
  waypoint: /* Struct */,
});
```

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

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