Skip to main content

azalea_protocol/packets/game/
c_light_update.rs

1use std::sync::Arc;
2
3use azalea_buf::AzBuf;
4use azalea_core::bitset::BitSet;
5use azalea_protocol_macros::ClientboundGamePacket;
6
7#[derive(AzBuf, ClientboundGamePacket, Clone, Debug, PartialEq)]
8pub struct ClientboundLightUpdate {
9    #[var]
10    pub x: i32,
11    #[var]
12    pub z: i32,
13    pub light_data: ClientboundLightUpdatePacketData,
14}
15
16#[derive(AzBuf, Clone, Debug, Default, PartialEq)]
17pub struct ClientboundLightUpdatePacketData {
18    pub sky_y_mask: BitSet,
19    pub block_y_mask: BitSet,
20    pub empty_sky_y_mask: BitSet,
21    pub empty_block_y_mask: BitSet,
22    pub sky_updates: Arc<Box<[Box<[u8]>]>>,
23    pub block_updates: Arc<Box<[Box<[u8]>]>>,
24}