aboutsummaryrefslogtreecommitdiff
path: root/azalea/src/client_impl
diff options
context:
space:
mode:
authormat <git@matdoes.dev>2026-03-30 10:02:22 +0600
committermat <git@matdoes.dev>2026-05-07 08:05:58 -1200
commit4af9762854aad30b7fdc40640618e465197f2148 (patch)
treeb3f00274ed277ed4a1fb6363b1f11e9f430c7535 /azalea/src/client_impl
parentddef37118448b639ff56b86ae339e8913cb4ed11 (diff)
downloadazalea-drasl-4af9762854aad30b7fdc40640618e465197f2148.tar.xz
rename PhysicsState to ClientMovementState and add utility functions for it
Diffstat (limited to 'azalea/src/client_impl')
-rw-r--r--azalea/src/client_impl/entity_query.rs4
-rw-r--r--azalea/src/client_impl/movement.rs15
2 files changed, 15 insertions, 4 deletions
diff --git a/azalea/src/client_impl/entity_query.rs b/azalea/src/client_impl/entity_query.rs
index 27c3aa9a..df942ef2 100644
--- a/azalea/src/client_impl/entity_query.rs
+++ b/azalea/src/client_impl/entity_query.rs
@@ -9,7 +9,9 @@ use bevy_ecs::{
query::{QueryData, QueryEntityError, QueryFilter, QueryItem, ROQueryItem},
world::World,
};
-use parking_lot::{MappedRwLockReadGuard, RwLock, RwLockReadGuard};
+use parking_lot::{
+ MappedRwLockReadGuard, MappedRwLockWriteGuard, RwLock, RwLockReadGuard, RwLockWriteGuard,
+};
use crate::{Client, entity_ref::EntityRef};
diff --git a/azalea/src/client_impl/movement.rs b/azalea/src/client_impl/movement.rs
index 905f8b75..9645f09e 100644
--- a/azalea/src/client_impl/movement.rs
+++ b/azalea/src/client_impl/movement.rs
@@ -1,7 +1,8 @@
use azalea_client::{
- PhysicsState, SprintDirection, StartSprintEvent, StartWalkEvent, WalkDirection,
+ ClientMovementState, SprintDirection, StartSprintEvent, StartWalkEvent, WalkDirection,
};
use azalea_entity::{Jumping, LookDirection};
+use parking_lot::MappedRwLockReadGuard;
use crate::Client;
@@ -23,14 +24,14 @@ impl Client {
}
pub fn set_crouching(&self, crouching: bool) {
- self.query_self::<&mut PhysicsState, _>(|mut p| p.trying_to_crouch = crouching);
+ self.query_self::<&mut ClientMovementState, _>(|mut p| p.trying_to_crouch = crouching);
}
/// Whether the client is currently trying to sneak.
///
/// You may want to check the [`Pose`](azalea_entity::Pose) instead.
pub fn crouching(&self) -> bool {
- self.query_self::<&PhysicsState, _>(|p| p.trying_to_crouch)
+ self.query_self::<&ClientMovementState, _>(|p| p.trying_to_crouch)
}
/// Sets the direction the client is looking.
@@ -77,6 +78,14 @@ impl Client {
});
}
+ /// Returns the [`ClientMovementState`] data for this client.
+ ///
+ /// This includes the direction that we're walking/sprinting in, and whether
+ /// we're trying to sprint or crouch.
+ pub fn movement_state(&self) -> ClientMovementState {
+ self.component::<ClientMovementState>().clone()
+ }
+
/// Start sprinting in the given direction.
///
/// To stop moving, call [`bot.walk(WalkDirection::None)`](Self::walk).