aboutsummaryrefslogtreecommitdiff
path: root/azalea-client/src/plugins/packet/game/mod.rs
diff options
context:
space:
mode:
authormat <git@matdoes.dev>2025-02-23 08:47:17 +0000
committermat <git@matdoes.dev>2025-02-23 08:47:17 +0000
commitdd557c8f293dbef3e2e881bcb1a85a7697a1ebbb (patch)
tree9878084875ac8ca7259db26b2c16776f212802a3 /azalea-client/src/plugins/packet/game/mod.rs
parente21e1b97bf9337e9f4747cd1b545b1b3a03e2ce7 (diff)
downloadazalea-drasl-dd557c8f293dbef3e2e881bcb1a85a7697a1ebbb.tar.xz
fix memory leak in simulation tests (lol)
also, change some vecs into boxed slices, and add RelativeEntityUpdate::new
Diffstat (limited to 'azalea-client/src/plugins/packet/game/mod.rs')
-rw-r--r--azalea-client/src/plugins/packet/game/mod.rs70
1 files changed, 35 insertions, 35 deletions
diff --git a/azalea-client/src/plugins/packet/game/mod.rs b/azalea-client/src/plugins/packet/game/mod.rs
index 98f76d13..5f3e125f 100644
--- a/azalea-client/src/plugins/packet/game/mod.rs
+++ b/azalea-client/src/plugins/packet/game/mod.rs
@@ -752,9 +752,9 @@ impl GamePacketHandler<'_> {
// we use RelativeEntityUpdate because it makes sure changes aren't made
// multiple times
- commands.entity(entity).queue(RelativeEntityUpdate {
- partial_world: instance_holder.partial_instance.clone(),
- update: Box::new(move |entity| {
+ commands.entity(entity).queue(RelativeEntityUpdate::new(
+ instance_holder.partial_instance.clone(),
+ move |entity| {
let entity_id = entity.id();
entity.world_scope(|world| {
let mut commands_system_state = SystemState::<Commands>::new(world);
@@ -767,8 +767,8 @@ impl GamePacketHandler<'_> {
}
commands_system_state.apply(world);
});
- }),
- });
+ },
+ ));
});
}
@@ -805,14 +805,14 @@ impl GamePacketHandler<'_> {
z: p.delta.za as f64 / 8000.,
});
- commands.entity(entity).queue(RelativeEntityUpdate {
- partial_world: instance_holder.partial_instance.clone(),
- update: Box::new(move |entity_mut| {
+ commands.entity(entity).queue(RelativeEntityUpdate::new(
+ instance_holder.partial_instance.clone(),
+ move |entity_mut| {
entity_mut.world_scope(|world| {
world.send_event(KnockbackEvent { entity, knockback })
});
- }),
- });
+ },
+ ));
},
);
}
@@ -868,9 +868,9 @@ impl GamePacketHandler<'_> {
x_rot: (p.change.look_direction.x_rot as i32 * 360) as f32 / 256.,
y_rot: (p.change.look_direction.y_rot as i32 * 360) as f32 / 256.,
};
- commands.entity(entity).queue(RelativeEntityUpdate {
- partial_world: instance_holder.partial_instance.clone(),
- update: Box::new(move |entity| {
+ commands.entity(entity).queue(RelativeEntityUpdate::new(
+ instance_holder.partial_instance.clone(),
+ move |entity| {
let mut position = entity.get_mut::<Position>().unwrap();
if new_pos != **position {
**position = new_pos;
@@ -883,8 +883,8 @@ impl GamePacketHandler<'_> {
// old_pos is set to the current position when we're teleported
let mut physics = entity.get_mut::<Physics>().unwrap();
physics.set_old_pos(&position);
- }),
- });
+ },
+ ));
},
);
}
@@ -913,9 +913,9 @@ impl GamePacketHandler<'_> {
let new_delta = p.delta.clone();
let new_on_ground = p.on_ground;
- commands.entity(entity).queue(RelativeEntityUpdate {
- partial_world: instance_holder.partial_instance.clone(),
- update: Box::new(move |entity_mut| {
+ commands.entity(entity).queue(RelativeEntityUpdate::new(
+ instance_holder.partial_instance.clone(),
+ move |entity_mut| {
let mut physics = entity_mut.get_mut::<Physics>().unwrap();
let new_pos = physics.vec_delta_codec.decode(
new_delta.xa as i64,
@@ -929,8 +929,8 @@ impl GamePacketHandler<'_> {
if new_pos != **position {
**position = new_pos;
}
- }),
- });
+ },
+ ));
},
);
}
@@ -962,9 +962,9 @@ impl GamePacketHandler<'_> {
let new_on_ground = p.on_ground;
- commands.entity(entity).queue(RelativeEntityUpdate {
- partial_world: instance_holder.partial_instance.clone(),
- update: Box::new(move |entity_mut| {
+ commands.entity(entity).queue(RelativeEntityUpdate::new(
+ instance_holder.partial_instance.clone(),
+ move |entity_mut| {
let mut physics = entity_mut.get_mut::<Physics>().unwrap();
let new_pos = physics.vec_delta_codec.decode(
new_delta.xa as i64,
@@ -983,8 +983,8 @@ impl GamePacketHandler<'_> {
if new_look_direction != *look_direction {
*look_direction = new_look_direction;
}
- }),
- });
+ },
+ ));
},
);
}
@@ -1003,9 +1003,9 @@ impl GamePacketHandler<'_> {
};
let new_on_ground = p.on_ground;
- commands.entity(entity).queue(RelativeEntityUpdate {
- partial_world: instance_holder.partial_instance.clone(),
- update: Box::new(move |entity_mut| {
+ commands.entity(entity).queue(RelativeEntityUpdate::new(
+ instance_holder.partial_instance.clone(),
+ move |entity_mut| {
let mut physics = entity_mut.get_mut::<Physics>().unwrap();
physics.set_on_ground(new_on_ground);
@@ -1013,8 +1013,8 @@ impl GamePacketHandler<'_> {
if new_look_direction != *look_direction {
*look_direction = new_look_direction;
}
- }),
- });
+ },
+ ));
} else {
warn!(
"Got move entity rot packet for unknown entity id {}",
@@ -1507,9 +1507,9 @@ impl GamePacketHandler<'_> {
let new_on_ground = p.on_ground;
let new_look_direction = p.values.look_direction;
- commands.entity(entity).queue(RelativeEntityUpdate {
- partial_world: instance_holder.partial_instance.clone(),
- update: Box::new(move |entity_mut| {
+ commands.entity(entity).queue(RelativeEntityUpdate::new(
+ instance_holder.partial_instance.clone(),
+ move |entity_mut| {
let is_local_entity = entity_mut.get::<LocalEntity>().is_some();
let mut physics = entity_mut.get_mut::<Physics>().unwrap();
@@ -1530,8 +1530,8 @@ impl GamePacketHandler<'_> {
let mut look_direction = entity_mut.get_mut::<LookDirection>().unwrap();
*look_direction = new_look_direction;
- }),
- });
+ },
+ ));
},
);
}