Skip to content

Commit c5ca16b

Browse files
committed
repare valence_advancement + check pass
1 parent 3a3ca8c commit c5ca16b

File tree

3 files changed

+29
-28
lines changed

3 files changed

+29
-28
lines changed

crates/valence_advancement/src/lib.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,7 @@ use valence_core::protocol::raw::RawBytes;
2121
use valence_core::protocol::var_int::VarInt;
2222
use valence_core::protocol::Encode;
2323
use valence_core::text::Text;
24-
use valence_packet::packets::play::{
25-
advancement_update_s2c as packet, AdvancementUpdateS2c, SelectAdvancementTabS2c,
26-
};
24+
use valence_packet::packets::play::{advancement_update_s2c as packet, SelectAdvancementTabS2c};
2725
use valence_packet::protocol::encode::WritePacket;
2826
use valence_packet::protocol::{packet_id, Packet, PacketSide, PacketState};
2927

@@ -224,7 +222,7 @@ impl<'w, 's, 'a> Encode for AdvancementUpdateEncodeS2c<'w, 's, 'a> {
224222
reset,
225223
} = &self.client_update;
226224

227-
let mut pkt = AdvancementUpdateS2c {
225+
let mut pkt = packet::GenericAdvancementUpdateS2c {
228226
reset: *reset,
229227
advancement_mapping: vec![],
230228
identifiers: vec![],

crates/valence_entity/src/lib.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,7 @@ pub struct PacketByteRange(pub Range<usize>);
413413
/// Cache for all the tracked data of an entity. Used for the
414414
/// [`EntityTrackerUpdateS2c`][packet] packet.
415415
///
416-
/// [packet]: valence_packet::entity::EntityTrackerUpdateS2c
416+
/// [packet]: valence_packet::packets::play::EntityTrackerUpdateS2c
417417
#[derive(Component, Default, Debug)]
418418
pub struct TrackedData {
419419
init_data: Vec<u8>,
@@ -428,7 +428,7 @@ impl TrackedData {
428428
/// [`EntityTrackerUpdateS2c`][packet] packet. This is used when the entity
429429
/// enters the view of a client.
430430
///
431-
/// [packet]: valence_packet::entity::EntityTrackerUpdateS2c
431+
/// [packet]: valence_packet::packets::play::EntityTrackerUpdateS2c
432432
pub fn init_data(&self) -> Option<&[u8]> {
433433
if self.init_data.len() > 1 {
434434
Some(&self.init_data)
@@ -441,7 +441,7 @@ impl TrackedData {
441441
/// [`EntityTrackerUpdateS2c`][packet] packet. This is used when tracked
442442
/// data is changed and the client is already in view of the entity.
443443
///
444-
/// [packet]: valence_packet::entity::EntityTrackerUpdateS2c
444+
/// [packet]: valence_packet::packets::play::EntityTrackerUpdateS2c
445445
pub fn update_data(&self) -> Option<&[u8]> {
446446
if self.update_data.len() > 1 {
447447
Some(&self.update_data)

crates/valence_packet/src/packets/play/advancement_update_s2c.rs

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,29 @@
11
use super::*;
22

3+
pub type AdvancementUpdateS2c<'a> =
4+
GenericAdvancementUpdateS2c<'a, (Ident<Cow<'a, str>>, Advancement<'a, Option<ItemStack>>)>;
5+
36
#[derive(Clone, Debug, Encode, Decode, Packet)]
47
#[packet(id = packet_id::ADVANCEMENT_UPDATE_S2C)]
5-
pub struct AdvancementUpdateS2c<'a> {
8+
pub struct GenericAdvancementUpdateS2c<'a, AM: 'a> {
69
pub reset: bool,
7-
pub advancement_mapping: Vec<(Ident<Cow<'a, str>>, Advancement<'a, Option<ItemStack>>)>,
10+
pub advancement_mapping: Vec<AM>,
811
pub identifiers: Vec<Ident<Cow<'a, str>>>,
912
pub progress_mapping: Vec<(Ident<Cow<'a, str>>, Vec<AdvancementCriteria<'a>>)>,
1013
}
1114

15+
#[derive(Clone, PartialEq, Debug, Encode, Decode)]
16+
pub struct Advancement<'a, I> {
17+
pub parent_id: Option<Ident<Cow<'a, str>>>,
18+
pub display_data: Option<AdvancementDisplay<'a, I>>,
19+
pub criteria: Vec<(Ident<Cow<'a, str>>, ())>,
20+
pub requirements: Vec<AdvancementRequirements<'a>>,
21+
pub sends_telemetry_data: bool,
22+
}
23+
1224
#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode)]
13-
pub struct AdvancementCriteria<'a> {
14-
pub criterion_identifier: Ident<Cow<'a, str>>,
15-
/// If present, the criteria has been achieved at the
16-
/// time wrapped; time represented as millis since epoch
17-
pub criterion_progress: Option<i64>,
25+
pub struct AdvancementRequirements<'a> {
26+
pub requirement: Vec<&'a str>,
1827
}
1928

2029
#[derive(Clone, PartialEq, Debug)]
@@ -29,6 +38,14 @@ pub struct AdvancementDisplay<'a, I> {
2938
pub y_coord: f32,
3039
}
3140

41+
#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode)]
42+
pub struct AdvancementCriteria<'a> {
43+
pub criterion_identifier: Ident<Cow<'a, str>>,
44+
/// If present, the criteria has been achieved at the
45+
/// time wrapped; time represented as millis since epoch
46+
pub criterion_progress: Option<i64>,
47+
}
48+
3249
impl<I: Encode> Encode for AdvancementDisplay<'_, I> {
3350
fn encode(&self, mut w: impl Write) -> anyhow::Result<()> {
3451
self.title.encode(&mut w)?;
@@ -78,17 +95,3 @@ impl<'a, I: Decode<'a>> Decode<'a> for AdvancementDisplay<'a, I> {
7895
})
7996
}
8097
}
81-
82-
#[derive(Clone, PartialEq, Debug, Encode, Decode)]
83-
pub struct Advancement<'a, I> {
84-
pub parent_id: Option<Ident<Cow<'a, str>>>,
85-
pub display_data: Option<AdvancementDisplay<'a, I>>,
86-
pub criteria: Vec<(Ident<Cow<'a, str>>, ())>,
87-
pub requirements: Vec<AdvancementRequirements<'a>>,
88-
pub sends_telemetry_data: bool,
89-
}
90-
91-
#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode)]
92-
pub struct AdvancementRequirements<'a> {
93-
pub requirement: Vec<&'a str>,
94-
}

0 commit comments

Comments
 (0)