From 8bd97c6c96f2c3c1ef4edfc1ff9d59f9af664972 Mon Sep 17 00:00:00 2001 From: mat Date: Wed, 20 Apr 2022 16:28:31 +0000 Subject: add player abilities packet --- azalea-protocol/src/mc_buf/read.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (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 20b69238..e036643e 100644 --- a/azalea-protocol/src/mc_buf/read.rs +++ b/azalea-protocol/src/mc_buf/read.rs @@ -24,6 +24,7 @@ pub trait Readable { async fn read_long(&mut self) -> Result; async fn read_resource_location(&mut self) -> Result; async fn read_short(&mut self) -> Result; + async fn read_float(&mut self) -> Result; } #[async_trait] @@ -189,6 +190,13 @@ where Err(_) => Err("Error reading short".to_string()), } } + + async fn read_float(&mut self) -> Result { + match AsyncReadExt::read_f32(self).await { + Ok(r) => Ok(r), + Err(_) => Err("Error reading float".to_string()), + } + } } #[async_trait] @@ -362,6 +370,17 @@ impl McBufReadable for i8 { } } +// f32 +#[async_trait] +impl McBufReadable for f32 { + async fn read_into(buf: &mut R) -> Result + where + R: AsyncRead + std::marker::Unpin + std::marker::Send, + { + buf.read_float().await + } +} + // GameType #[async_trait] impl McBufReadable for GameType { -- cgit v1.2.3