diff options
| author | mat <27899617+mat-1@users.noreply.github.com> | 2023-09-21 11:16:29 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-09-21 11:16:29 -0500 |
| commit | 7b3e2e4bf793466a351510c7fbbd08234e93bb0e (patch) | |
| tree | 7177a919de9982d9e3c7f36a76d2025696f465b6 /azalea-client/src/interact.rs | |
| parent | 83cce236145cdab1872a472a70943b669a880965 (diff) | |
| download | azalea-drasl-7b3e2e4bf793466a351510c7fbbd08234e93bb0e.tar.xz | |
1.20.2 (#99)
* add configuration state
* start updating to 23w31a
* implement a bit more of 23w31a
* chunk batching
* start adding configuration state
* ioasfhjgsd
* almost works
* configuration state mostly implemented
* handle other packets in configuration state and fix keepalive
* cleanup, fix warnings
* 23w32a
* fix some doctests
* 23w33a
* 23w35a
* 1.20.2-pre2
* fix system conflicts
* 1.20.2-pre4
* make tests compile
* tests pass
* 1.20.2-rc2
* 1.20.2
* Revert "1.20.2"
This reverts commit dd152fd265332ead333c919e585ded6d609d7468.
* didn't mean to commit that code
---------
Co-authored-by: mat <git@matdoes.dev>
Diffstat (limited to 'azalea-client/src/interact.rs')
| -rw-r--r-- | azalea-client/src/interact.rs | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/azalea-client/src/interact.rs b/azalea-client/src/interact.rs index b28baca5..dc1306e3 100644 --- a/azalea-client/src/interact.rs +++ b/azalea-client/src/interact.rs @@ -27,10 +27,13 @@ use derive_more::{Deref, DerefMut}; use log::warn; use crate::{ - client::{PermissionLevel, PlayerAbilities}, + attack::handle_attack_event, inventory::{InventoryComponent, InventorySet}, - local_player::{handle_send_packet_event, LocalGameMode, SendPacketEvent}, - Client, LocalPlayer, + local_player::{ + handle_send_packet_event, LocalGameMode, PermissionLevel, PlayerAbilities, SendPacketEvent, + }, + respawn::perform_respawn, + Client, }; /// A plugin that allows clients to interact with blocks in the world. @@ -48,6 +51,9 @@ impl Plugin for InteractPlugin { handle_swing_arm_event, ) .before(handle_send_packet_event) + .after(InventorySet) + .after(perform_respawn) + .after(handle_attack_event) .chain(), update_modifiers_for_held_item .after(InventorySet) @@ -100,16 +106,12 @@ pub struct HitResultComponent(BlockHitResult); pub fn handle_block_interact_event( mut events: EventReader<BlockInteractEvent>, - mut query: Query<( - &LocalPlayer, - &mut CurrentSequenceNumber, - &HitResultComponent, - )>, + mut query: Query<(Entity, &mut CurrentSequenceNumber, &HitResultComponent)>, + mut send_packet_events: EventWriter<SendPacketEvent>, ) { for event in events.iter() { - let Ok((local_player, mut sequence_number, hit_result)) = query.get_mut(event.entity) - else { - warn!("Sent BlockInteractEvent for entity that isn't LocalPlayer"); + let Ok((entity, mut sequence_number, hit_result)) = query.get_mut(event.entity) else { + warn!("Sent BlockInteractEvent for entity that doesn't have the required components"); continue; }; @@ -141,14 +143,15 @@ pub fn handle_block_interact_event( } }; - local_player.write_packet( - ServerboundUseItemOnPacket { + send_packet_events.send(SendPacketEvent { + entity, + packet: ServerboundUseItemOnPacket { hand: InteractionHand::MainHand, block_hit, sequence: sequence_number.0, } .get(), - ) + }) } } |
