feat(client): add looking_at field
This commit is contained in:
parent
083dd7f707
commit
d6abd3fd06
@ -10,6 +10,7 @@ use super::{
|
||||
use azalea::{
|
||||
Client as AzaleaClient,
|
||||
entity::metadata::{AirSupply, Score},
|
||||
interact::HitResultComponent,
|
||||
};
|
||||
use mlua::{Lua, Result, UserData, UserDataFields, UserDataMethods};
|
||||
|
||||
@ -49,6 +50,30 @@ impl UserData for Client {
|
||||
})
|
||||
});
|
||||
|
||||
f.add_field_method_get("looking_at", |lua, this| {
|
||||
let hr = this
|
||||
.inner
|
||||
.as_ref()
|
||||
.unwrap()
|
||||
.component::<HitResultComponent>();
|
||||
Ok(if hr.miss {
|
||||
None
|
||||
} else {
|
||||
let result = lua.create_table()?;
|
||||
result.set(
|
||||
"position",
|
||||
Vec3 {
|
||||
x: f64::from(hr.block_pos.x),
|
||||
y: f64::from(hr.block_pos.y),
|
||||
z: f64::from(hr.block_pos.z),
|
||||
},
|
||||
)?;
|
||||
result.set("inside", hr.inside)?;
|
||||
result.set("world_border", hr.world_border)?;
|
||||
Some(result)
|
||||
})
|
||||
});
|
||||
|
||||
f.add_field_method_get("position", |_, this| {
|
||||
let p = this.inner.as_ref().unwrap().position();
|
||||
Ok(Vec3 {
|
||||
|
Loading…
x
Reference in New Issue
Block a user