diff options
Diffstat (limited to 'azalea-client/src/plugins/interact')
| -rw-r--r-- | azalea-client/src/plugins/interact/mod.rs | 19 | ||||
| -rw-r--r-- | azalea-client/src/plugins/interact/pick.rs | 9 |
2 files changed, 18 insertions, 10 deletions
diff --git a/azalea-client/src/plugins/interact/mod.rs b/azalea-client/src/plugins/interact/mod.rs index 634d492c..0275ca97 100644 --- a/azalea-client/src/plugins/interact/mod.rs +++ b/azalea-client/src/plugins/interact/mod.rs @@ -11,7 +11,7 @@ use azalea_core::{ tick::GameTick, }; use azalea_entity::{ - Attributes, LocalEntity, LookDirection, + Attributes, Crouching, LocalEntity, LookDirection, PlayerAbilities, attributes::{ creative_block_interaction_range_modifier, creative_entity_interaction_range_modifier, }, @@ -36,7 +36,7 @@ use crate::{ attack::handle_attack_event, interact::pick::{HitResultComponent, update_hit_result_component}, inventory::{Inventory, InventorySet}, - local_player::{LocalGameMode, PermissionLevel, PlayerAbilities}, + local_player::{LocalGameMode, PermissionLevel}, movement::MoveEventsSet, packet::game::SendPacketEvent, respawn::perform_respawn, @@ -250,12 +250,20 @@ pub fn handle_start_use_item_queued( &mut BlockStatePredictionHandler, &HitResultComponent, &LookDirection, + &Crouching, Option<&Mining>, )>, entity_id_query: Query<&MinecraftEntityId>, ) { - for (entity, start_use_item, mut prediction_handler, hit_result, look_direction, mining) in - query + for ( + entity, + start_use_item, + mut prediction_handler, + hit_result, + look_direction, + crouching, + mining, + ) in query { commands.entity(entity).remove::<StartUseItemQueued>(); @@ -332,8 +340,7 @@ pub fn handle_start_use_item_queued( location: r.location, hand: InteractionHand::MainHand, }, - // TODO: sneaking - using_secondary_action: false, + using_secondary_action: **crouching, }, )); } diff --git a/azalea-client/src/plugins/interact/pick.rs b/azalea-client/src/plugins/interact/pick.rs index cebbf905..a0a75910 100644 --- a/azalea-client/src/plugins/interact/pick.rs +++ b/azalea-client/src/plugins/interact/pick.rs @@ -5,7 +5,8 @@ use azalea_core::{ position::Vec3, }; use azalea_entity::{ - Attributes, Dead, EyeHeight, LocalEntity, LookDirection, Physics, Position, + Attributes, Dead, LocalEntity, LookDirection, Physics, Position, + dimensions::EntityDimensions, metadata::{ArmorStandMarker, Marker}, view_vector, }; @@ -31,7 +32,7 @@ pub fn update_hit_result_component( Entity, Option<&mut HitResultComponent>, &Position, - &EyeHeight, + &EntityDimensions, &LookDirection, &InstanceName, &Physics, @@ -47,7 +48,7 @@ pub fn update_hit_result_component( entity, hit_result_ref, position, - eye_height, + dimensions, look_direction, world_name, physics, @@ -57,7 +58,7 @@ pub fn update_hit_result_component( let block_pick_range = attributes.block_interaction_range.calculate(); let entity_pick_range = attributes.entity_interaction_range.calculate(); - let eye_position = position.up(eye_height.into()); + let eye_position = position.up(dimensions.eye_height.into()); let Some(world_lock) = instance_container.get(world_name) else { continue; |
