aboutsummaryrefslogtreecommitdiff
path: root/azalea-client/src/plugins/packet
diff options
context:
space:
mode:
authormat <git@matdoes.dev>2026-03-06 11:12:07 +0500
committermat <git@matdoes.dev>2026-03-06 11:12:07 +0500
commit8dc511bb1b77da67d5428e8bafeab92ad3bfabf4 (patch)
treeb155417c3470412bc9dcf2f39f8440f71c805335 /azalea-client/src/plugins/packet
parent62eb3ec38cca04ac09156bb2693a9f8ca82b3da6 (diff)
downloadazalea-drasl-8dc511bb1b77da67d5428e8bafeab92ad3bfabf4.tar.xz
fix various regressions from optimization attempts
Diffstat (limited to 'azalea-client/src/plugins/packet')
-rw-r--r--azalea-client/src/plugins/packet/game/mod.rs22
1 files changed, 10 insertions, 12 deletions
diff --git a/azalea-client/src/plugins/packet/game/mod.rs b/azalea-client/src/plugins/packet/game/mod.rs
index 7b2fa8b7..8c573ade 100644
--- a/azalea-client/src/plugins/packet/game/mod.rs
+++ b/azalea-client/src/plugins/packet/game/mod.rs
@@ -1549,26 +1549,18 @@ impl GamePacketHandler<'_> {
pub fn entity_position_sync(&mut self, p: &ClientboundEntityPositionSync) {
as_system::<(
Commands,
+ Query<(&EntityIdIndex, &WorldHolder)>,
Query<(
- &EntityIdIndex,
- &WorldHolder,
- Option<&LocalEntity>,
&mut Physics,
&mut Position,
&mut LookDirection,
+ Option<&LocalEntity>,
)>,
EntityUpdateQuery,
)>(
self.ecs,
- |(mut commands, mut query, entity_update_query)| {
- let (
- entity_id_index,
- world_holder,
- local_entity,
- mut physics,
- mut position,
- mut look_direction,
- ) = query.get_mut(self.player).unwrap();
+ |(mut commands, mut query, mut entity_query, entity_update_query)| {
+ let (entity_id_index, world_holder) = query.get_mut(self.player).unwrap();
let Some(entity) = entity_id_index.get_by_minecraft_entity(p.id) else {
debug!("Got teleport entity packet for unknown entity id {}", p.id);
@@ -1587,6 +1579,12 @@ impl GamePacketHandler<'_> {
) {
return;
}
+
+ let Ok((mut physics, mut position, mut look_direction, local_entity)) =
+ entity_query.get_mut(entity)
+ else {
+ return;
+ };
let is_local_entity = local_entity.is_some();
physics.vec_delta_codec.set_base(new_position);