diff --git a/src/commands.rs b/src/commands.rs index cd00c15..f800dd0 100644 --- a/src/commands.rs +++ b/src/commands.rs @@ -9,7 +9,7 @@ use azalea::{ use bevy_ecs::{entity::Entity, query::With}; use futures::lock::Mutex; -pub type Ctx<'a> = CommandContext>; +pub type Ctx = CommandContext>; pub struct CommandSource { pub client: Client, diff --git a/src/lua/client/movement.rs b/src/lua/client/movement.rs index ad6de42..06b9ee5 100644 --- a/src/lua/client/movement.rs +++ b/src/lua/client/movement.rs @@ -1,6 +1,7 @@ use super::{Client, Direction, Vec3}; use azalea::{ BlockPos, BotClientExt, LookAtEvent, SprintDirection, WalkDirection, + entity::Position, interact::HitResultComponent, pathfinder::{ ExecutingPath, GotoEvent, Pathfinder, PathfinderClientExt, @@ -187,7 +188,7 @@ pub fn pathfinder(lua: &Lua, client: &Client) -> Result { } pub fn position(_lua: &Lua, client: &Client) -> Result { - let p = client.position(); + let p = client.component::(); Ok(Vec3 { x: p.x, y: p.y, diff --git a/src/main.rs b/src/main.rs index c91d9ce..0bb76c9 100644 --- a/src/main.rs +++ b/src/main.rs @@ -14,6 +14,8 @@ use futures::lock::Mutex; use mlua::Lua; use std::{net::SocketAddr, path::PathBuf, sync::Arc}; +const DEFAULT_SCRIPT_PATH: &str = "errornowatcher.lua"; + #[derive(Default, Clone, Component)] pub struct State { lua: Lua, @@ -24,14 +26,22 @@ pub struct State { #[tokio::main] async fn main() -> anyhow::Result<()> { let args = arguments::Arguments::parse(); - let script_path = args.script.unwrap_or(PathBuf::from("errornowatcher.lua")); + let script_path = args.script.unwrap_or(PathBuf::from(DEFAULT_SCRIPT_PATH)); let lua = Lua::new(); - lua.load(std::fs::read_to_string(&script_path)?).exec()?; + lua.load( + std::fs::read_to_string(&script_path) + .expect(&(DEFAULT_SCRIPT_PATH.to_owned() + " should be in current directory")), + ) + .exec()?; let globals = lua.globals(); - let server = globals.get::("SERVER")?; - let username = globals.get::("USERNAME")?; + let server = globals + .get::("SERVER") + .expect("SERVER should be in lua globals"); + let username = globals + .get::("USERNAME") + .expect("USERNAME should be in lua globals"); globals.set("script_path", script_path)?; lua::register_functions(&lua, &globals)?;