---
title: Block Destruction
description: "Play 0x05, server → client."
---

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

Shows block breaking progress cracks at `location` for the entity with `entityId`. The server sends it while a player mines a block; `destroyStage` is 0-9 for crack stages, and any other value removes the animation. The client renders the crack overlay on the block.

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

## Fields

| Field | Type | Notes |
|---|---|---|
| `entityId` | VarInt |  |
| `location` | Position | also `position` |
| `destroyStage` | Byte |  |

## Send it

```ts
await client.sendPacket("BlockDestruction", {
  entityId: /* VarInt */,
  location: /* Position */,
  destroyStage: /* Byte */,
});
```

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

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