diff options
| author | mat <27899617+mat-1@users.noreply.github.com> | 2023-05-03 20:57:27 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-05-03 20:57:27 -0500 |
| commit | 634cb8d72c6608512aedba19e5cd669104bc35ea (patch) | |
| tree | f8e76ce9eb43403d29cc0cbcf9a4f51522419dc2 /azalea/src/bot.rs | |
| parent | 1fb4418f2c9cbd004c64c2f23d2d0352ee12c0e5 (diff) | |
| download | azalea-drasl-634cb8d72c6608512aedba19e5cd669104bc35ea.tar.xz | |
Inventory (#48)
* start adding azalea-inventory
* design more of how inventories are defined
* start working on az-inv-macros
* inventory macro works
* start adding inventory codegen
* update some deps
* add inventory codegen
* manually write inventory menus
* put the inventories in Client
* start on containersetcontent
* inventory menu should hopefully work
* checks in containersetcontent
* format a comment
* move some variant matches
* inventory.rs
* inventory stuff
* more inventory stuff
* inventory/container tracking works
* start adding interact function
* sequence number
* start adding HitResultComponent
* implement traverse_blocks
* start adding clip
* add clip function
* update_hit_result_component
* start trying to fix
* fix
* make some stuff simpler
* clippy
* lever
* chest
* container handle
* fix ambiguity
* fix some doc tests
* move some container stuff from az-client to azalea
* clicking container
* start implementing simulate_click
* keep working on simulate click
* implement more of simulate_click
this is really boring
* inventory fixes
* start implementing shift clicking
* fix panic in azalea-chat i hope
* shift clicking implemented
* more inventory stuff
* fix items not showing in containers sometimes
* fix test
* fix all warnings
* remove a println
---------
Co-authored-by: mat <git@matdoes.dev>
Diffstat (limited to 'azalea/src/bot.rs')
| -rw-r--r-- | azalea/src/bot.rs | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/azalea/src/bot.rs b/azalea/src/bot.rs index a45ae28d..e5ea4c28 100644 --- a/azalea/src/bot.rs +++ b/azalea/src/bot.rs @@ -1,4 +1,5 @@ use crate::app::{App, CoreSchedule, IntoSystemAppConfig, Plugin, PluginGroup, PluginGroupBuilder}; +use crate::container::ContainerPlugin; use crate::ecs::{ component::Component, entity::Entity, @@ -9,7 +10,8 @@ use crate::ecs::{ }; use azalea_core::Vec3; use azalea_physics::{force_jump_listener, PhysicsSet}; -use azalea_world::entity::{metadata::Player, set_rotation, Jumping, Local, Physics, Position}; +use azalea_world::entity::{clamp_look_direction, EyeHeight, LookDirection}; +use azalea_world::entity::{metadata::Player, Jumping, Local, Position}; use std::f64::consts::PI; use crate::pathfinder::PathfinderPlugin; @@ -22,7 +24,9 @@ impl Plugin for BotPlugin { .add_event::<JumpEvent>() .add_systems(( insert_bot, - look_at_listener.before(force_jump_listener), + look_at_listener + .before(force_jump_listener) + .before(clamp_look_direction), jump_listener, stop_jumping .in_schedule(CoreSchedule::FixedUpdate) @@ -99,12 +103,13 @@ pub struct LookAtEvent { } fn look_at_listener( mut events: EventReader<LookAtEvent>, - mut query: Query<(&Position, &mut Physics)>, + mut query: Query<(&Position, &EyeHeight, &mut LookDirection)>, ) { for event in events.iter() { - if let Ok((position, mut physics)) = query.get_mut(event.entity) { - let (y_rot, x_rot) = direction_looking_at(position, &event.position); - set_rotation(&mut physics, y_rot, x_rot); + if let Ok((position, eye_height, mut look_direction)) = query.get_mut(event.entity) { + let (y_rot, x_rot) = + direction_looking_at(&position.up(eye_height.into()), &event.position); + (look_direction.y_rot, look_direction.x_rot) = (y_rot, x_rot); } } } @@ -129,5 +134,6 @@ impl PluginGroup for DefaultBotPlugins { PluginGroupBuilder::start::<Self>() .add(BotPlugin) .add(PathfinderPlugin) + .add(ContainerPlugin) } } |
