steel_protocol/packets/game/
c_update_advancement.rs1use steel_macros::{ClientPacket, WriteTo};
2use steel_registry::advancement::AdvancementProgressData;
3use steel_registry::advancement::registry::AdvancementNodeRef;
4use steel_registry::packets::play::C_UPDATE_ADVANCEMENTS;
5use steel_utils::Identifier;
6
7#[derive(ClientPacket, WriteTo, Clone, Debug)]
9#[packet_id(Play = C_UPDATE_ADVANCEMENTS)]
10pub struct CUpdateAdvancements {
11 pub reset: bool,
13 pub added: Vec<AdvancementNodeRef>,
14 pub removed: Vec<Identifier>,
15 pub progress: Vec<AdvancementProgressData>,
16 pub show_advancements: bool,
17}
18
19impl CUpdateAdvancements {
20 #[must_use]
22 pub const fn new(
23 reset: bool,
24 added: Vec<AdvancementNodeRef>,
25 progress: Vec<AdvancementProgressData>,
26 removed: Vec<Identifier>,
27 show_advancements: bool,
28 ) -> Self {
29 Self {
30 reset,
31 added,
32 removed,
33 progress,
34 show_advancements,
35 }
36 }
37}