---
title: Set Beacon
description: "Play 0x34, client → server."
---

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

Sent when the player confirms effects in the beacon GUI. `primary_effect` and `secondary_effect` are optional mob effect ids. The server checks the payment item and pyramid level, then applies the effects to the beacon block entity.

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

## Fields

| Field | Type | Notes |
|---|---|---|
| `primary_effect` | Optional | also `primaryEffect` |
| `secondary_effect` | Optional | also `secondaryEffect` |

## Send it

```ts
await client.sendPacket("SetBeacon", {
  primary_effect: /* Optional */,
  secondary_effect: /* Optional */,
});
```

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

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