aboutsummaryrefslogtreecommitdiff
path: root/azalea-protocol/src/packets
diff options
context:
space:
mode:
authormat <github@matdoes.dev>2022-09-09 23:46:46 -0500
committermat <github@matdoes.dev>2022-09-09 23:46:46 -0500
commitdee991a7fc54b3e7e75f051b83901c282f18ae37 (patch)
tree4cba3c7708f5b3b122776b19687d148974aa0157 /azalea-protocol/src/packets
parent3389f19e601cf52d7920796effaca55f2f0fcf4a (diff)
downloadazalea-drasl-dee991a7fc54b3e7e75f051b83901c282f18ae37.tar.xz
fix errors in enums inconsistent w/ vanilla
Diffstat (limited to 'azalea-protocol/src/packets')
-rw-r--r--azalea-protocol/src/packets/game/clientbound_player_chat_packet.rs40
1 files changed, 7 insertions, 33 deletions
diff --git a/azalea-protocol/src/packets/game/clientbound_player_chat_packet.rs b/azalea-protocol/src/packets/game/clientbound_player_chat_packet.rs
index 5d3bdd23..1db3cba6 100644
--- a/azalea-protocol/src/packets/game/clientbound_player_chat_packet.rs
+++ b/azalea-protocol/src/packets/game/clientbound_player_chat_packet.rs
@@ -1,11 +1,8 @@
-use azalea_buf::{
- BufReadError, McBuf, McBufReadable, McBufVarReadable, McBufVarWritable, McBufWritable,
-};
+use azalea_buf::McBuf;
use azalea_chat::component::Component;
use azalea_core::BitSet;
use azalea_crypto::{MessageSignature, SignedMessageHeader};
use azalea_protocol_macros::ClientboundGamePacket;
-use std::io::{Read, Write};
use uuid::Uuid;
#[derive(Clone, Debug, McBuf, ClientboundGamePacket)]
@@ -82,48 +79,25 @@ pub struct ChatMessageContent {
pub decorated: Option<Component>,
}
-#[derive(Clone, Debug)]
+#[derive(Clone, Debug, McBuf)]
pub enum FilterMask {
PassThrough,
FullyFiltered,
PartiallyFiltered(BitSet),
}
-impl McBufReadable for FilterMask {
- fn read_from(buf: &mut impl Read) -> Result<Self, BufReadError> {
- let filter_mask = u32::var_read_from(buf)?;
- match filter_mask {
- 0 => Ok(FilterMask::PassThrough),
- 1 => Ok(FilterMask::FullyFiltered),
- 2 => Ok(FilterMask::PartiallyFiltered(BitSet::read_from(buf)?)),
- _ => Err(BufReadError::UnexpectedEnumVariant {
- id: filter_mask as i32,
- }),
- }
- }
-}
-impl McBufWritable for FilterMask {
- fn write_into(&self, buf: &mut impl Write) -> Result<(), std::io::Error> {
- match self {
- FilterMask::PassThrough => 0u32.var_write_into(buf)?,
- FilterMask::FullyFiltered => 1u32.var_write_into(buf)?,
- FilterMask::PartiallyFiltered(bits) => {
- 2u32.var_write_into(buf)?;
- bits.write_into(buf)?;
- }
- }
- Ok(())
- }
-}
-
#[cfg(test)]
mod tests {
use super::*;
+ use azalea_buf::McBufReadable;
#[test]
fn test_chat_type() {
let chat_type_enum = ChatType::read_from(&mut &[0x06][..]).unwrap();
assert_eq!(chat_type_enum, ChatType::EmoteCommand);
- assert!(ChatType::read_from(&mut &[0x07][..]).is_err());
+ assert_eq!(
+ ChatType::read_from(&mut &[0x07][..]).unwrap(),
+ ChatType::Chat
+ );
}
}