Light Update
Play 0x30, server → client.
play · 0x30 · clientbound (server → client)
Updates the sky and block light data for the chunk at chunkX, chunkZ. The bit masks say which sections have data or are fully empty, and the arrays hold the 2048-byte nibble arrays per section. The client replaces the light data for those sections and rerenders them.
Sent by the server, read by the client. Listen for it with client.on("LightUpdate", (data) => …) on the receiving side.
Fields
| Field | Type | Notes |
|---|---|---|
chunkX |
VarInt | |
chunkZ |
VarInt | |
skyLightMask |
Array | |
blockLightMask |
Array | |
emptySkyLightMask |
Array | |
emptyBlockLightMask |
Array | |
skyLight |
Array | |
blockLight |
Array |
Send it
await client.sendPacket("LightUpdate", {
chunkX: /* VarInt */,
chunkZ: /* VarInt */,
skyLightMask: /* Array */,
blockLightMask: /* Array */,
emptySkyLightMask: /* Array */,
emptyBlockLightMask: /* Array */,
skyLight: /* Array */,
blockLight: /* Array */,
});
Field aliases listed under Notes are accepted as alternative keys when writing.
Source: src/Core/Versions/776/Packets/play/clientbound/LightUpdate.ts