aboutsummaryrefslogtreecommitdiff
path: root/azalea-protocol/src/packets/game/c_award_stats.rs
blob: 3a736d6875ab19da9b1bf504006ee05b21379134 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
use std::collections::HashMap;

use azalea_buf::AzBuf;
use azalea_protocol_macros::ClientboundGamePacket;
use azalea_registry::builtin::{BlockKind, CustomStat, EntityKind, ItemKind};

#[derive(AzBuf, ClientboundGamePacket, Clone, Debug, PartialEq)]
pub struct ClientboundAwardStats {
    #[var]
    pub stats: HashMap<Stat, i32>,
}

#[derive(AzBuf, Clone, Copy, Debug, Eq, Hash, PartialEq)]
pub enum Stat {
    Mined(BlockKind),
    Crafted(ItemKind),
    Used(ItemKind),
    Broken(ItemKind),
    PickedUp(ItemKind),
    Dropped(ItemKind),
    Killed(EntityKind),
    KilledBy(EntityKind),
    Custom(CustomStat),
}