aboutsummaryrefslogtreecommitdiff
path: root/azalea-client/src/plugins/interact
diff options
context:
space:
mode:
Diffstat (limited to 'azalea-client/src/plugins/interact')
-rw-r--r--azalea-client/src/plugins/interact/mod.rs19
-rw-r--r--azalea-client/src/plugins/interact/pick.rs9
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;