mirror of
https://github.com/mat-1/azalea.git
synced 2025-08-02 06:16:04 +00:00
implement for Vec<u8>
This commit is contained in:
parent
bb57273f48
commit
bb566aa541
4 changed files with 18 additions and 8 deletions
|
@ -29,9 +29,6 @@ fn as_packet_derive(
|
|||
quote! { buf.write_utf(&self.#field_name)?; }
|
||||
} else if path.is_ident("ResourceLocation") {
|
||||
quote! { buf.write_resource_location(&self.#field_name)?; }
|
||||
// i don't know how to do this in a way that isn't terrible
|
||||
} else if path.to_token_stream().to_string() == "Vec < u8 >" {
|
||||
quote! { buf.write_bytes(&self.#field_name)?; }
|
||||
} else if path.is_ident("u32") {
|
||||
if f.attrs.iter().any(|attr| attr.path.is_ident("varint")) {
|
||||
quote! { buf.write_varint(self.#field_name as i32)?; }
|
||||
|
@ -49,7 +46,7 @@ fn as_packet_derive(
|
|||
}
|
||||
} else {
|
||||
quote! {
|
||||
crate::mc_buf::McBufVarintWritable::write_into(&self.#field_name, buf)?;
|
||||
crate::mc_buf::McBufWritable::write_into(&self.#field_name, buf)?;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -77,8 +74,6 @@ fn as_packet_derive(
|
|||
quote! { let #field_name = buf.read_utf().await?; }
|
||||
} else if path.is_ident("ResourceLocation") {
|
||||
quote! { let #field_name = buf.read_resource_location().await?; }
|
||||
} else if path.to_token_stream().to_string() == "Vec < u8 >" {
|
||||
quote! { let #field_name = buf.read_bytes().await?; }
|
||||
} else if path.is_ident("u32") {
|
||||
if f.attrs.iter().any(|a| a.path.is_ident("varint")) {
|
||||
quote! { let #field_name = buf.read_varint().await? as u32; }
|
||||
|
|
|
@ -228,3 +228,13 @@ impl McBufVarintReadable for i32 {
|
|||
buf.read_varint().await
|
||||
}
|
||||
}
|
||||
|
||||
#[async_trait]
|
||||
impl McBufReadable for Vec<u8> {
|
||||
async fn read_into<R>(buf: &mut R) -> Result<Self, String>
|
||||
where
|
||||
R: AsyncRead + std::marker::Unpin + std::marker::Send,
|
||||
{
|
||||
buf.read_bytes().await
|
||||
}
|
||||
}
|
||||
|
|
|
@ -178,3 +178,9 @@ impl McBufVarintWritable for i32 {
|
|||
buf.write_varint(*self)
|
||||
}
|
||||
}
|
||||
|
||||
impl McBufWritable for Vec<u8> {
|
||||
fn write_into(&self, buf: &mut Vec<u8>) -> Result<(), std::io::Error> {
|
||||
buf.write_bytes(self)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
// i don't know the actual name of this packet, i couldn't find it in the source code!
|
||||
// i don't know the actual name of this packet, i couldn't find it in the source code
|
||||
|
||||
use crate::mc_buf::{Readable, Writable};
|
||||
use packet_macros::GamePacket;
|
||||
|
||||
#[derive(Clone, Debug, GamePacket)]
|
||||
|
|
Loading…
Add table
Reference in a new issue