azalea_protocol/packets/game/
c_animate.rs

1use azalea_buf::AzBuf;
2use azalea_protocol_macros::ClientboundGamePacket;
3use azalea_world::MinecraftEntityId;
4
5#[derive(Clone, Debug, AzBuf, ClientboundGamePacket)]
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(Clone, Debug, Copy, AzBuf)]
15pub enum AnimationAction {
16    SwingMainHand = 0,
17    Hurt = 1,
18    WakeUp = 2,
19    SwingOffHand = 3,
20    CriticalHit = 4,
21    MagicCriticalHit = 5,
22}