aboutsummaryrefslogtreecommitdiff
path: root/azalea-client/src/movement.rs
diff options
context:
space:
mode:
authormat <github@matdoes.dev>2022-06-25 16:23:40 -0500
committermat <github@matdoes.dev>2022-06-25 16:23:40 -0500
commit460bdfb8bbaf0969df6451a00fc3de214728aec0 (patch)
treebc88105b401bcfc27922e70227a89a8f1ac0259a /azalea-client/src/movement.rs
parent77980f0018eca3a192994021b76ad5d05bff88ea (diff)
downloadazalea-drasl-460bdfb8bbaf0969df6451a00fc3de214728aec0.tar.xz
merge ClientState and Client
Diffstat (limited to 'azalea-client/src/movement.rs')
-rw-r--r--azalea-client/src/movement.rs19
1 files changed, 8 insertions, 11 deletions
diff --git a/azalea-client/src/movement.rs b/azalea-client/src/movement.rs
index f74d48df..7ab4ddc2 100644
--- a/azalea-client/src/movement.rs
+++ b/azalea-client/src/movement.rs
@@ -5,24 +5,21 @@ use azalea_protocol::packets::game::serverbound_move_player_packet_pos_rot::Serv
impl Client {
/// Set the client's position to the given coordinates.
pub async fn move_to(&mut self, new_pos: EntityPos) -> Result<(), String> {
- println!("obtaining lock on state");
- let mut state_lock = self.state.lock().unwrap();
- println!("obtained lock on state");
+ let mut dimension_lock = self.dimension.lock().unwrap();
+ let dimension = dimension_lock.as_mut().unwrap();
- let world = state_lock.world.as_ref().unwrap();
+ let mut player_lock = self.player.lock().unwrap();
- let player = &state_lock.player;
- let player_id = if let Some(player) = player.entity(world) {
- player.id
+ let player_id = if let Some(player_lock) = player_lock.entity(dimension) {
+ player_lock.id
} else {
return Err("Player entity not found".to_string());
};
- let world = state_lock.world.as_mut().unwrap();
- world.move_entity(player_id, new_pos)?;
- drop(state_lock);
+ dimension.move_entity(player_id, new_pos)?;
+ drop(dimension_lock);
+ drop(player_lock);
- println!("obtaining lock on conn");
self.conn
.lock()
.await