diff options
| author | mat <27899617+mat-1@users.noreply.github.com> | 2026-03-24 11:15:56 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-24 11:15:56 -0500 |
| commit | eeaf1435e81d9cbd8daa0efa22029c1f259a64b5 (patch) | |
| tree | 3486e26d5409708370e4e259d240fb77c6e1e439 /azalea-protocol/src/packets/game/s_interact.rs | |
| parent | 41a9ae6aaff77646c08c64ac1334a8cc6081c24f (diff) | |
| download | azalea-drasl-eeaf1435e81d9cbd8daa0efa22029c1f259a64b5.tar.xz | |
26.1 (#316)
* start updating to 26.1
* start updating to 26.1-snapshot-6
* 26.1-snapshot-6
* 26.1-snapshot-10
* 26.1-rc-1
* fix tests
* 26.1-rc-2 and sort default components
* 26.1
* update changelog
Diffstat (limited to 'azalea-protocol/src/packets/game/s_interact.rs')
| -rw-r--r-- | azalea-protocol/src/packets/game/s_interact.rs | 71 |
1 files changed, 5 insertions, 66 deletions
diff --git a/azalea-protocol/src/packets/game/s_interact.rs b/azalea-protocol/src/packets/game/s_interact.rs index bd04e09d..2f0494ae 100644 --- a/azalea-protocol/src/packets/game/s_interact.rs +++ b/azalea-protocol/src/packets/game/s_interact.rs @@ -1,78 +1,17 @@ -use std::io::{self, Cursor, Write}; - -use azalea_buf::{AzBuf, AzBufVar}; -use azalea_core::{ - entity_id::MinecraftEntityId, - position::{Vec3, Vec3f32}, -}; +use azalea_buf::AzBuf; +use azalea_core::{delta::LpVec3, entity_id::MinecraftEntityId}; use azalea_protocol_macros::ServerboundGamePacket; -use crate::packets::BufReadError; - #[derive(AzBuf, Clone, Debug, PartialEq, ServerboundGamePacket)] pub struct ServerboundInteract { #[var] pub entity_id: MinecraftEntityId, - pub action: ActionType, - /// Whether the player is sneaking + pub hand: InteractionHand, + pub location: LpVec3, + /// Whether the player is sneaking. pub using_secondary_action: bool, } -#[derive(Clone, Copy, Debug, PartialEq)] -pub enum ActionType { - Interact { - hand: InteractionHand, - }, - Attack, - InteractAt { - location: Vec3, - hand: InteractionHand, - }, -} - -impl AzBuf for ActionType { - fn azalea_read(buf: &mut Cursor<&[u8]>) -> Result<Self, BufReadError> { - let action_type = u32::azalea_read_var(buf)?; - match action_type { - 0 => { - let hand = InteractionHand::azalea_read(buf)?; - Ok(ActionType::Interact { hand }) - } - 1 => Ok(ActionType::Attack), - 2 => { - let pos = Vec3f32::azalea_read(buf)?; - let hand = InteractionHand::azalea_read(buf)?; - Ok(ActionType::InteractAt { - location: Vec3::from(pos), - hand, - }) - } - _ => Err(BufReadError::UnexpectedEnumVariant { - id: action_type as i32, - }), - } - } - fn azalea_write(&self, buf: &mut impl Write) -> io::Result<()> { - match self { - ActionType::Interact { hand } => { - 0u32.azalea_write_var(buf)?; - hand.azalea_write(buf)?; - } - ActionType::Attack => { - 1u32.azalea_write_var(buf)?; - } - ActionType::InteractAt { location, hand } => { - 2u32.azalea_write_var(buf)?; - (location.x as f32).azalea_write(buf)?; - (location.y as f32).azalea_write(buf)?; - (location.z as f32).azalea_write(buf)?; - hand.azalea_write(buf)?; - } - } - Ok(()) - } -} - #[derive(AzBuf, Clone, Copy, Debug, Default, PartialEq)] pub enum InteractionHand { #[default] |
