diff options
| author | mat <git@matdoes.dev> | 2025-06-02 06:55:38 -1030 |
|---|---|---|
| committer | mat <git@matdoes.dev> | 2025-06-02 06:55:38 -1030 |
| commit | 2c5f293210a09c99577a6999afd52357c898eaeb (patch) | |
| tree | 6611f914ba33dd3a9f8e9abe2e6221a0e280ca95 /azalea-client/src/plugins | |
| parent | 5adf67fe04f1f95ec7b6ac7008874e16ed3bf41b (diff) | |
| download | azalea-drasl-2c5f293210a09c99577a6999afd52357c898eaeb.tar.xz | |
add Event::ReceiveChunk and find_blocks_in_chunk function
Diffstat (limited to 'azalea-client/src/plugins')
| -rw-r--r-- | azalea-client/src/plugins/events.rs | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/azalea-client/src/plugins/events.rs b/azalea-client/src/plugins/events.rs index d9cbf912..36f48a05 100644 --- a/azalea-client/src/plugins/events.rs +++ b/azalea-client/src/plugins/events.rs @@ -4,7 +4,7 @@ use std::sync::Arc; use azalea_chat::FormattedText; -use azalea_core::tick::GameTick; +use azalea_core::{position::ChunkPos, tick::GameTick}; use azalea_entity::{Dead, InLoadedChunk}; use azalea_protocol::packets::game::c_player_combat_kill::ClientboundPlayerCombatKill; use azalea_world::{InstanceName, MinecraftEntityId}; @@ -15,6 +15,7 @@ use tokio::sync::mpsc; use crate::{ chat::{ChatPacket, ChatReceivedEvent}, + chunks::ReceiveChunkEvent, disconnect::DisconnectEvent, packet::game::{ AddPlayerEvent, DeathEvent, KeepAliveEvent, RemovePlayerEvent, UpdatePlayerEvent, @@ -118,6 +119,7 @@ pub enum Event { KeepAlive(u64), /// The client disconnected from the server. Disconnect(Option<FormattedText>), + ReceiveChunk(ChunkPos), } /// A component that contains an event sender for events that are only @@ -294,3 +296,17 @@ pub fn disconnect_listener( } } } + +pub fn receive_chunk_listener( + query: Query<&LocalPlayerEvents>, + mut events: EventReader<ReceiveChunkEvent>, +) { + for event in events.read() { + if let Ok(local_player_events) = query.get(event.entity) { + let _ = local_player_events.send(Event::ReceiveChunk(ChunkPos::new( + event.packet.x, + event.packet.z, + ))); + } + } +} |
