aboutsummaryrefslogtreecommitdiff
path: root/azalea-client/src/plugins/packet/game
diff options
context:
space:
mode:
authormat <git@matdoes.dev>2025-12-16 05:41:25 -0500
committermat <git@matdoes.dev>2025-12-16 05:41:25 -0500
commit188428950722ccaa9b163c12fca92133f18316ba (patch)
tree05143223204ef026ee672092f2ebbb3c17cea0d1 /azalea-client/src/plugins/packet/game
parent281a810c860a67e8e7957aaec876ea608602831c (diff)
downloadazalea-drasl-188428950722ccaa9b163c12fca92133f18316ba.tar.xz
implement cookie packets to fix betteranticheat support
Diffstat (limited to 'azalea-client/src/plugins/packet/game')
-rw-r--r--azalea-client/src/plugins/packet/game/mod.rs22
1 files changed, 20 insertions, 2 deletions
diff --git a/azalea-client/src/plugins/packet/game/mod.rs b/azalea-client/src/plugins/packet/game/mod.rs
index 89b33274..f39a9f8f 100644
--- a/azalea-client/src/plugins/packet/game/mod.rs
+++ b/azalea-client/src/plugins/packet/game/mod.rs
@@ -29,6 +29,7 @@ use crate::{
chat::{ChatPacket, ChatReceivedEvent},
chunks,
connection::RawConnection,
+ cookies::{RequestCookieEvent, StoreCookieEvent},
disconnect::DisconnectEvent,
interact::BlockStatePredictionHandler,
inventory::{ClientsideCloseContainerEvent, MenuOpenedEvent, SetContainerContentEvent},
@@ -1599,10 +1600,27 @@ impl GamePacketHandler<'_> {
pub fn ticking_state(&mut self, _p: &ClientboundTickingState) {}
pub fn ticking_step(&mut self, _p: &ClientboundTickingStep) {}
pub fn reset_score(&mut self, _p: &ClientboundResetScore) {}
- pub fn cookie_request(&mut self, _p: &ClientboundCookieRequest) {}
+ pub fn cookie_request(&mut self, p: &ClientboundCookieRequest) {
+ debug!("Got cookie request packet {p:?}");
+ as_system::<Commands>(self.ecs, |mut commands| {
+ commands.trigger(RequestCookieEvent {
+ entity: self.player,
+ key: p.key.clone(),
+ });
+ });
+ }
+ pub fn store_cookie(&mut self, p: &ClientboundStoreCookie) {
+ debug!("Got store cookie packet {p:?}");
+ as_system::<Commands>(self.ecs, |mut commands| {
+ commands.trigger(StoreCookieEvent {
+ entity: self.player,
+ key: p.key.clone(),
+ payload: p.payload.clone(),
+ });
+ });
+ }
pub fn debug_sample(&mut self, _p: &ClientboundDebugSample) {}
pub fn pong_response(&mut self, _p: &ClientboundPongResponse) {}
- pub fn store_cookie(&mut self, _p: &ClientboundStoreCookie) {}
pub fn transfer(&mut self, _p: &ClientboundTransfer) {}
pub fn move_minecart_along_track(&mut self, _p: &ClientboundMoveMinecartAlongTrack) {}
pub fn set_held_slot(&mut self, p: &ClientboundSetHeldSlot) {