---
title: Bundle Item Selected
description: "Play 0x03, client → server."
---

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

Sent when the player scrolls to select an item inside a bundle in slot `slotId` of the open container. `selectedItemIndex` is the item to bring to the front, or -1 to clear the selection. The server updates the bundle's selected item component.

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

## Fields

| Field | Type | Notes |
|---|---|---|
| `slotId` | VarInt |  |
| `selectedItemIndex` | VarInt |  |

## Send it

```ts
await client.sendPacket("BundleItemSelected", {
  slotId: /* VarInt */,
  selectedItemIndex: /* VarInt */,
});
```

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

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