---
title: Recipe Book Add
description: "Play 0x4A, server → client."
---

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

Adds or updates recipe entries in the client's recipe book. The server sends it on join and when the player unlocks recipes. Each entry carries a display, optional group and crafting requirements, and flags for notification and highlight; `replace` clears the current book first.

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

## Fields

| Field | Type | Notes |
|---|---|---|
| `entries` | Array |  |
| `replace` | Boolean |  |

## Send it

```ts
await client.sendPacket("RecipeBookAdd", {
  entries: /* Array */,
  replace: /* Boolean */,
});
```

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

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