From e53ef8b0ddd46b3a85e597e7da57139960304e35 Mon Sep 17 00:00:00 2001 From: mat Date: Sat, 7 May 2022 19:46:06 -0500 Subject: update advancements packet --- azalea-protocol/src/mc_buf/read.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'azalea-protocol/src/mc_buf/read.rs') diff --git a/azalea-protocol/src/mc_buf/read.rs b/azalea-protocol/src/mc_buf/read.rs index e67cfa3c..991bf53b 100755 --- a/azalea-protocol/src/mc_buf/read.rs +++ b/azalea-protocol/src/mc_buf/read.rs @@ -6,7 +6,7 @@ use azalea_core::{ }; use byteorder::{ReadBytesExt, WriteBytesExt, BE}; use serde::Deserialize; -use std::io::Read; +use std::{collections::HashMap, hash::Hash, io::Read}; use tokio::io::{AsyncRead, AsyncReadExt}; use uuid::Uuid; @@ -294,6 +294,17 @@ impl McBufReadable for Vec { } } +impl McBufReadable for HashMap { + default fn read_into(buf: &mut impl Read) -> Result { + let length = buf.read_varint()? as usize; + let mut contents = HashMap::with_capacity(length); + for _ in 0..length { + contents.insert(K::read_into(buf)?, V::read_into(buf)?); + } + Ok(contents) + } +} + impl McBufReadable for Vec { fn read_into(buf: &mut impl Read) -> Result { buf.read_byte_array() -- cgit v1.2.3