diff options
| author | mat <git@matdoes.dev> | 2025-04-04 16:05:06 -0430 |
|---|---|---|
| committer | mat <git@matdoes.dev> | 2025-04-04 16:05:06 -0430 |
| commit | 5fd57fd630bea256639332f117848d6f1fcfd132 (patch) | |
| tree | 83e21595e69e24b3b1e8790dc630b79cf14a1777 /azalea/src | |
| parent | e99ae608b67ad3ff105666e619d04ca9385488e1 (diff) | |
| download | azalea-drasl-5fd57fd630bea256639332f117848d6f1fcfd132.tar.xz | |
don't require mut for functions in Client and add some more convenience functions
Diffstat (limited to 'azalea/src')
| -rw-r--r-- | azalea/src/bot.rs | 12 | ||||
| -rw-r--r-- | azalea/src/container.rs | 8 | ||||
| -rw-r--r-- | azalea/src/swarm/mod.rs | 2 |
3 files changed, 11 insertions, 11 deletions
diff --git a/azalea/src/bot.rs b/azalea/src/bot.rs index aae8af05..514cea1e 100644 --- a/azalea/src/bot.rs +++ b/azalea/src/bot.rs @@ -81,27 +81,27 @@ fn stop_jumping(mut query: Query<(&mut Jumping, &mut Bot)>) { pub trait BotClientExt { /// Queue a jump for the next tick. - fn jump(&mut self); + fn jump(&self); /// Turn the bot's head to look at the coordinate in the world. - fn look_at(&mut self, pos: Vec3); + fn look_at(&self, pos: Vec3); /// Get a receiver that will receive a message every tick. fn get_tick_broadcaster(&self) -> tokio::sync::broadcast::Receiver<()>; /// Mine a block. This won't turn the bot's head towards the block, so if /// that's necessary you'll have to do that yourself with [`look_at`]. /// /// [`look_at`]: crate::prelude::BotClientExt::look_at - fn mine(&mut self, position: BlockPos) -> impl Future<Output = ()> + Send; + fn mine(&self, position: BlockPos) -> impl Future<Output = ()> + Send; } impl BotClientExt for azalea_client::Client { - fn jump(&mut self) { + fn jump(&self) { let mut ecs = self.ecs.lock(); ecs.send_event(JumpEvent { entity: self.entity, }); } - fn look_at(&mut self, position: Vec3) { + fn look_at(&self, position: Vec3) { let mut ecs = self.ecs.lock(); ecs.send_event(LookAtEvent { entity: self.entity, @@ -133,7 +133,7 @@ impl BotClientExt for azalea_client::Client { tick_broadcast.subscribe() } - async fn mine(&mut self, position: BlockPos) { + async fn mine(&self, position: BlockPos) { self.start_mining(position); // vanilla sends an extra swing arm packet when we start mining self.ecs.lock().send_event(SwingArmEvent { diff --git a/azalea/src/container.rs b/azalea/src/container.rs index b5ed74cc..0ce0fc44 100644 --- a/azalea/src/container.rs +++ b/azalea/src/container.rs @@ -24,10 +24,10 @@ impl Plugin for ContainerPlugin { pub trait ContainerClientExt { fn open_container_at( - &mut self, + &self, pos: BlockPos, ) -> impl Future<Output = Option<ContainerHandle>> + Send; - fn open_inventory(&mut self) -> Option<ContainerHandle>; + fn open_inventory(&self) -> Option<ContainerHandle>; fn get_open_container(&self) -> Option<ContainerHandleRef>; } @@ -49,7 +49,7 @@ impl ContainerClientExt for Client { /// let container = bot.open_container_at(target_pos).await; /// # } /// ``` - async fn open_container_at(&mut self, pos: BlockPos) -> Option<ContainerHandle> { + async fn open_container_at(&self, pos: BlockPos) -> Option<ContainerHandle> { self.ecs .lock() .entity_mut(self.entity) @@ -83,7 +83,7 @@ impl ContainerClientExt for Client { /// If you just want to get the items in the player's inventory without /// sending any packets, use [`Client::menu`], [`Menu::player_slots_range`], /// and [`Menu::slots`]. - fn open_inventory(&mut self) -> Option<ContainerHandle> { + fn open_inventory(&self) -> Option<ContainerHandle> { let ecs = self.ecs.lock(); let inventory = ecs.get::<Inventory>(self.entity).expect("no inventory"); diff --git a/azalea/src/swarm/mod.rs b/azalea/src/swarm/mod.rs index 2062446a..eb56ae2d 100644 --- a/azalea/src/swarm/mod.rs +++ b/azalea/src/swarm/mod.rs @@ -627,7 +627,7 @@ impl Swarm { /// /// Returns an `Err` if the bot could not do a handshake successfully. pub async fn add<S: Component + Clone>( - &mut self, + &self, account: &Account, state: S, ) -> Result<Client, JoinError> { |
