fix(client): clone client in async mut functions

This commit is contained in:
Ryan 2025-02-16 23:54:04 -05:00
parent 8547ea04ab
commit fc5ff582c6
Signed by: ErrorNoInternet
GPG Key ID: 2486BFB7B1E6A4A3
2 changed files with 4 additions and 4 deletions

View File

@ -1,6 +1,6 @@
use super::{Client, Vec3}; use super::{Client, Vec3};
use azalea::{BlockPos, BotClientExt, world::MinecraftEntityId}; use azalea::{BlockPos, BotClientExt, world::MinecraftEntityId};
use mlua::{Lua, Result, UserDataRefMut}; use mlua::{Lua, Result, UserDataRef};
pub fn attack(_lua: &Lua, client: &mut Client, entity_id: u32) -> Result<()> { pub fn attack(_lua: &Lua, client: &mut Client, entity_id: u32) -> Result<()> {
client client
@ -21,11 +21,11 @@ pub fn block_interact(_lua: &Lua, client: &mut Client, position: Vec3) -> Result
Ok(()) Ok(())
} }
pub async fn mine(_lua: Lua, mut client: UserDataRefMut<Client>, position: Vec3) -> Result<()> { pub async fn mine(_lua: Lua, client: UserDataRef<Client>, position: Vec3) -> Result<()> {
#[allow(clippy::cast_possible_truncation)] #[allow(clippy::cast_possible_truncation)]
client client
.inner .inner
.as_mut() .clone()
.unwrap() .unwrap()
.mine(BlockPos::new( .mine(BlockPos::new(
position.x as i32, position.x as i32,

View File

@ -30,8 +30,8 @@ impl UserData for Client {
} }
fn add_methods<M: UserDataMethods<Self>>(m: &mut M) { fn add_methods<M: UserDataMethods<Self>>(m: &mut M) {
m.add_async_method("mine", interaction::mine);
m.add_async_method("set_client_information", state::set_client_information); m.add_async_method("set_client_information", state::set_client_information);
m.add_async_method_mut("mine", interaction::mine);
m.add_method("chat", chat); m.add_method("chat", chat);
m.add_method("find_blocks", world::find_blocks); m.add_method("find_blocks", world::find_blocks);
m.add_method("find_entities", world::find_entities); m.add_method("find_entities", world::find_entities);