Skip to main content

azalea_protocol/packets/game/
c_animate.rs

1use azalea_buf::AzBuf;
2use azalea_protocol_macros::ClientboundGamePacket;
3use azalea_core::entity_id::MinecraftEntityId;
4
5#[derive(AzBuf, ClientboundGamePacket, Clone, Debug, PartialEq)]
6pub struct ClientboundAnimate {
7    #[var]
8    pub id: MinecraftEntityId,
9    pub action: AnimationAction,
10}
11
12// minecraft actually uses a u8 for this, but a varint still works and makes it
13// so i don't have to add a special handler
14#[derive(AzBuf, Clone, Copy, Debug, PartialEq)]
15pub enum AnimationAction {
16    SwingMainHand = 0,
17    Hurt = 1,
18    WakeUp = 2,
19    SwingOffHand = 3,
20    CriticalHit = 4,
21    MagicCriticalHit = 5,
22}