From 48b5d121718c98c3280e0945508324fc4527beec Mon Sep 17 00:00:00 2001 From: mat Date: Thu, 26 Oct 2023 23:13:26 -0500 Subject: [PATCH] remove some unnecessary code and improve docs for Menu --- azalea-buf/src/read.rs | 12 ++++++------ azalea-buf/src/write.rs | 12 ++++++------ azalea-client/src/lib.rs | 1 - azalea-inventory/src/operations.rs | 3 +++ azalea/src/container.rs | 4 ++++ 5 files changed, 19 insertions(+), 13 deletions(-) diff --git a/azalea-buf/src/read.rs b/azalea-buf/src/read.rs index 7c996f20..8b37ff6a 100755 --- a/azalea-buf/src/read.rs +++ b/azalea-buf/src/read.rs @@ -175,7 +175,7 @@ impl McBufReadable for Vec { let length = u32::var_read_from(buf)? as usize; // we don't set the capacity here so we can't get exploited into // allocating a bunch - let mut contents = vec![]; + let mut contents = Vec::new(); for _ in 0..length { contents.push(T::read_from(buf)?); } @@ -184,7 +184,7 @@ impl McBufReadable for Vec { } impl McBufReadable for HashMap { - default fn read_from(buf: &mut Cursor<&[u8]>) -> Result { + fn read_from(buf: &mut Cursor<&[u8]>) -> Result { let length = i32::var_read_from(buf)? as usize; let mut contents = HashMap::new(); for _ in 0..length { @@ -197,7 +197,7 @@ impl McBufReadable impl McBufVarReadable for HashMap { - default fn var_read_from(buf: &mut Cursor<&[u8]>) -> Result { + fn var_read_from(buf: &mut Cursor<&[u8]>) -> Result { let length = i32::var_read_from(buf)? as usize; let mut contents = HashMap::new(); for _ in 0..length { @@ -308,7 +308,7 @@ impl McBufReadable for f64 { } impl McBufReadable for Option { - default fn read_from(buf: &mut Cursor<&[u8]>) -> Result { + fn read_from(buf: &mut Cursor<&[u8]>) -> Result { let present = bool::read_from(buf)?; Ok(if present { Some(T::read_from(buf)?) @@ -319,7 +319,7 @@ impl McBufReadable for Option { } impl McBufVarReadable for Option { - default fn var_read_from(buf: &mut Cursor<&[u8]>) -> Result { + fn var_read_from(buf: &mut Cursor<&[u8]>) -> Result { let present = bool::read_from(buf)?; Ok(if present { Some(T::var_read_from(buf)?) @@ -331,7 +331,7 @@ impl McBufVarReadable for Option { // [String; 4] impl McBufReadable for [T; N] { - default fn read_from(buf: &mut Cursor<&[u8]>) -> Result { + fn read_from(buf: &mut Cursor<&[u8]>) -> Result { let mut contents = Vec::with_capacity(N); for _ in 0..N { contents.push(T::read_from(buf)?); diff --git a/azalea-buf/src/write.rs b/azalea-buf/src/write.rs index 161f8645..f48bf2ec 100755 --- a/azalea-buf/src/write.rs +++ b/azalea-buf/src/write.rs @@ -64,7 +64,7 @@ impl McBufWritable for Vec { } impl McBufWritable for [T] { - default fn write_into(&self, buf: &mut impl Write) -> Result<(), std::io::Error> { + fn write_into(&self, buf: &mut impl Write) -> Result<(), std::io::Error> { (self.len() as u32).var_write_into(buf)?; for item in self { T::write_into(item, buf)?; @@ -74,7 +74,7 @@ impl McBufWritable for [T] { } impl McBufWritable for HashMap { - default fn write_into(&self, buf: &mut impl Write) -> Result<(), std::io::Error> { + fn write_into(&self, buf: &mut impl Write) -> Result<(), std::io::Error> { u32::var_write_into(&(self.len() as u32), buf)?; for (key, value) in self { key.write_into(buf)?; @@ -86,7 +86,7 @@ impl McBufWritable for HashMap { } impl McBufVarWritable for HashMap { - default fn var_write_into(&self, buf: &mut impl Write) -> Result<(), std::io::Error> { + fn var_write_into(&self, buf: &mut impl Write) -> Result<(), std::io::Error> { u32::var_write_into(&(self.len() as u32), buf)?; for (key, value) in self { key.write_into(buf)?; @@ -225,7 +225,7 @@ impl McBufWritable for f64 { } impl McBufWritable for Option { - default fn write_into(&self, buf: &mut impl Write) -> Result<(), std::io::Error> { + fn write_into(&self, buf: &mut impl Write) -> Result<(), std::io::Error> { if let Some(s) = self { true.write_into(buf)?; s.write_into(buf)?; @@ -237,7 +237,7 @@ impl McBufWritable for Option { } impl McBufVarWritable for Option { - default fn var_write_into(&self, buf: &mut impl Write) -> Result<(), std::io::Error> { + fn var_write_into(&self, buf: &mut impl Write) -> Result<(), std::io::Error> { if let Some(s) = self { true.write_into(buf)?; s.var_write_into(buf)?; @@ -250,7 +250,7 @@ impl McBufVarWritable for Option { // [T; N] impl McBufWritable for [T; N] { - default fn write_into(&self, buf: &mut impl Write) -> Result<(), std::io::Error> { + fn write_into(&self, buf: &mut impl Write) -> Result<(), std::io::Error> { for i in self { i.write_into(buf)?; } diff --git a/azalea-client/src/lib.rs b/azalea-client/src/lib.rs index 25c75bcf..a7231ffc 100644 --- a/azalea-client/src/lib.rs +++ b/azalea-client/src/lib.rs @@ -8,7 +8,6 @@ #![allow(incomplete_features)] #![feature(trait_upcasting)] #![feature(error_generic_member_access)] -#![feature(type_alias_impl_trait)] mod account; pub mod attack; diff --git a/azalea-inventory/src/operations.rs b/azalea-inventory/src/operations.rs index 8d81b18e..29d61bd8 100644 --- a/azalea-inventory/src/operations.rs +++ b/azalea-inventory/src/operations.rs @@ -263,6 +263,9 @@ pub enum ClickType { impl Menu { /// Shift-click a slot in this menu. + /// + /// Keep in mind that this doesn't send any packets to the server, it just + /// mutates this specific `Menu`. pub fn quick_move_stack(&mut self, slot_index: usize) -> ItemSlot { let slot = self.slot(slot_index); if slot.is_none() { diff --git a/azalea/src/container.rs b/azalea/src/container.rs index 221b80b9..f5ac710e 100644 --- a/azalea/src/container.rs +++ b/azalea/src/container.rs @@ -137,6 +137,10 @@ impl ContainerHandle { /// Returns the menu of the container. If the container is closed, this /// will return `None`. + /// + /// Note that any modifications you make to the `Menu` you're given will not + /// actually cause any packets to be sent. If you're trying to modify your + /// inventory, use [`Self::open_inventory`] instead pub fn menu(&self) -> Option { let ecs = self.client.ecs.lock(); let inventory = ecs