From f12b3602d8948a335b0699d3dd431dabb05f025c Mon Sep 17 00:00:00 2001 From: ZlordHUN <137647604+ZlordHUN@users.noreply.github.com> Date: Sat, 15 Aug 2026 10:13:01 +0200 Subject: [PATCH] fix(bedrock): stop bedrock players from flying after eating (#2928) --- crates/pumpkin/src/entity/living.rs | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/crates/pumpkin/src/entity/living.rs b/crates/pumpkin/src/entity/living.rs index cebf56667..3e22961ff 100644 --- a/crates/pumpkin/src/entity/living.rs +++ b/crates/pumpkin/src/entity/living.rs @@ -295,12 +295,23 @@ impl LivingEntity { self.livings_flags.store(b, Ordering::Relaxed); let bedrock_meta = (flag == Self::USING_ITEM_FLAG).then(|| { + let index = + pumpkin_protocol::bedrock::client::set_actor_data::entity_data_flag::USING_ITEM; + let mask = 1i64 << index; + if value { + self.entity.bedrock_flags.fetch_or(mask, Ordering::Relaxed); + } else { + self.entity + .bedrock_flags + .fetch_and(!mask, Ordering::Relaxed); + } + let mut meta = pumpkin_protocol::bedrock::client::set_actor_data::EntityMetadata::new(); - meta.set_flag( + meta.set( pumpkin_protocol::bedrock::client::set_actor_data::entity_data_key::FLAGS, - pumpkin_protocol::bedrock::client::set_actor_data::entity_data_flag::USING_ITEM - as u8, - value, + pumpkin_protocol::bedrock::client::set_actor_data::MetadataValue::Long( + self.entity.bedrock_flags.load(Ordering::Relaxed), + ), ); meta });