aboutsummaryrefslogtreecommitdiff
path: root/azalea-protocol/src/packets/game/clientbound_animate_packet.rs
blob: 84a20381ccf9f4c53975d3886b7ff2f1280c1060 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use packet_macros::{GamePacket, McBufReadable, McBufWritable};

#[derive(Clone, Debug, GamePacket)]
pub struct ClientboundAnimatePacket {
    #[var]
    pub id: u32,
    pub action: AnimationAction,
}

// minecraft actually uses a u8 for this, but a varint still works and makes it
// so i don't have to add a special handler
#[derive(Clone, Debug, Copy, McBufReadable, McBufWritable)]
pub enum AnimationAction {
    SwingMainHand = 0,
    Hurt = 1,
    WakeUp = 2,
    SwingOffHand = 3,
    CriticalHit = 4,
    MagicCriticalHit = 5,
}