refactor: bring azalea-hax crate in-tree

This commit is contained in:
Ryan 2025-03-18 17:14:24 -04:00
parent d1a64ee3a4
commit e3cdf4260e
Signed by: ErrorNoInternet
GPG Key ID: 2486BFB7B1E6A4A3
6 changed files with 46 additions and 13 deletions

9
Cargo.lock generated
View File

@ -593,14 +593,6 @@ dependencies = [
"uuid", "uuid",
] ]
[[package]]
name = "azalea-hax"
version = "0.1.0"
source = "git+https://github.com/azalea-rs/azalea-hax#2af9e0759aded7df01770b717f207b3c1083f942"
dependencies = [
"azalea",
]
[[package]] [[package]]
name = "azalea-inventory" name = "azalea-inventory"
version = "0.11.0+mc1.21.4" version = "0.11.0+mc1.21.4"
@ -1749,7 +1741,6 @@ version = "0.2.0"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"azalea", "azalea",
"azalea-hax",
"bevy_app", "bevy_app",
"bevy_ecs", "bevy_ecs",
"bevy_log", "bevy_log",

View File

@ -21,7 +21,6 @@ built = { git = "https://github.com/lukaslueg/built", features = ["git2"] }
[dependencies] [dependencies]
anyhow = "1" anyhow = "1"
azalea = { git = "https://github.com/azalea-rs/azalea" } azalea = { git = "https://github.com/azalea-rs/azalea" }
azalea-hax = { git = "https://github.com/azalea-rs/azalea-hax" }
bevy_app = "0" bevy_app = "0"
bevy_ecs = "0" bevy_ecs = "0"
bevy_log = "0" bevy_log = "0"

View File

@ -0,0 +1,20 @@
use azalea::{
Vec3,
movement::{KnockbackEvent, KnockbackType},
prelude::Component,
};
use bevy_ecs::{event::EventMutator, query::With, system::Query};
#[derive(Component)]
pub struct AntiKnockback;
pub fn anti_knockback(
mut events: EventMutator<KnockbackEvent>,
entity_query: Query<(), With<AntiKnockback>>,
) {
for event in events.read() {
if entity_query.get(event.entity).is_ok() {
event.knockback = KnockbackType::Add(Vec3::default());
}
}
}

21
src/hacks/mod.rs Normal file
View File

@ -0,0 +1,21 @@
#![allow(clippy::needless_pass_by_value)]
pub mod anti_knockback;
use anti_knockback::anti_knockback;
use azalea::{movement::handle_knockback, packet_handling::game::process_packet_events};
use bevy_app::{App, Plugin, PreUpdate};
use bevy_ecs::schedule::IntoSystemConfigs;
pub struct HacksPlugin;
impl Plugin for HacksPlugin {
fn build(&self, app: &mut App) {
app.add_systems(
PreUpdate,
anti_knockback
.after(process_packet_events)
.before(handle_knockback),
);
}
}

View File

@ -1,3 +1,5 @@
use crate::hacks::anti_knockback::AntiKnockback;
use super::Client; use super::Client;
use azalea::{ use azalea::{
ClientInformation, ClientInformation,
@ -5,7 +7,6 @@ use azalea::{
pathfinder::PathfinderDebugParticles, pathfinder::PathfinderDebugParticles,
protocol::common::client_information::ModelCustomization, protocol::common::client_information::ModelCustomization,
}; };
use azalea_hax::AntiKnockback;
use mlua::{Error, Lua, Result, Table, UserDataRef}; use mlua::{Error, Lua, Result, Table, UserDataRef};
pub fn air_supply(_lua: &Lua, client: &Client) -> Result<i32> { pub fn air_supply(_lua: &Lua, client: &Client) -> Result<i32> {

View File

@ -4,6 +4,7 @@ mod arguments;
mod build_info; mod build_info;
mod commands; mod commands;
mod events; mod events;
mod hacks;
mod http; mod http;
mod lua; mod lua;
mod particle; mod particle;
@ -17,7 +18,6 @@ use arguments::Arguments;
use azalea::{ use azalea::{
DefaultBotPlugins, DefaultPlugins, brigadier::prelude::CommandDispatcher, prelude::*, DefaultBotPlugins, DefaultPlugins, brigadier::prelude::CommandDispatcher, prelude::*,
}; };
use azalea_hax::HaxPlugin;
use bevy_app::PluginGroup; use bevy_app::PluginGroup;
use bevy_log::{ use bevy_log::{
LogPlugin, LogPlugin,
@ -27,6 +27,7 @@ use clap::Parser;
use commands::{CommandSource, register}; use commands::{CommandSource, register};
use futures::lock::Mutex; use futures::lock::Mutex;
use futures_locks::RwLock; use futures_locks::RwLock;
use hacks::HacksPlugin;
use log::debug; use log::debug;
use mlua::{Function, Lua, Table}; use mlua::{Function, Lua, Table};
use replay::{plugin::RecordPlugin, recorder::Recorder}; use replay::{plugin::RecordPlugin, recorder::Recorder};
@ -130,7 +131,7 @@ async fn main() -> anyhow::Result<()> {
let Err(error) = ClientBuilder::new_without_plugins() let Err(error) = ClientBuilder::new_without_plugins()
.add_plugins(DefaultBotPlugins) .add_plugins(DefaultBotPlugins)
.add_plugins(HaxPlugin) .add_plugins(HacksPlugin)
.add_plugins(default_plugins) .add_plugins(default_plugins)
.add_plugins(record_plugin) .add_plugins(record_plugin)
.set_handler(events::handle_event) .set_handler(events::handle_event)