---
title: Block Entity Tag Query
description: "Play 0x02, client → server."
---

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

Requests the NBT of the block entity at `location`. Only honoured for operators (permission level 2+). The server replies with `TagQuery` using the same `transactionId`; the client uses this for Ctrl+pick-block in creative mode.

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

## Fields

| Field | Type | Notes |
|---|---|---|
| `transactionId` | VarInt |  |
| `location` | Position | also `position` |

## Send it

```ts
await client.sendPacket("BlockEntityTagQuery", {
  transactionId: /* VarInt */,
  location: /* Position */,
});
```

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

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