From 54e00eb3df12262a0b31c11600acedf1544ac4fb Mon Sep 17 00:00:00 2001 From: EightFactorial Date: Sat, 14 Jan 2023 19:56:09 -0800 Subject: Add function to get message sender's UUID (#56) * Add uuid function for chat messages * Does this please you, clippy? --- azalea-client/Cargo.toml | 2 +- azalea-client/src/chat.rs | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/azalea-client/Cargo.toml b/azalea-client/Cargo.toml index 05425e9c..40653308 100644 --- a/azalea-client/Cargo.toml +++ b/azalea-client/Cargo.toml @@ -26,5 +26,5 @@ parking_lot = {version = "^0.12.1", features = ["deadlock_detection"]} regex = "1.7.0" thiserror = "^1.0.34" tokio = {version = "^1.23.1", features = ["sync"]} -typemap_rev = "0.2.0" +typemap_rev = "0.3.0" uuid = "^1.1.2" diff --git a/azalea-client/src/chat.rs b/azalea-client/src/chat.rs index fa88daf7..44ad8a71 100755 --- a/azalea-client/src/chat.rs +++ b/azalea-client/src/chat.rs @@ -12,6 +12,7 @@ use std::{ sync::Arc, time::{SystemTime, UNIX_EPOCH}, }; +use uuid::Uuid; /// A chat packet, either a system message or a chat message. #[derive(Debug, Clone, PartialEq)] @@ -72,6 +73,15 @@ impl ChatPacket { self.split_sender_and_content().0 } + /// Get the UUID of the sender of the message. If it's not a + /// player-sent chat message, this will be None. + pub fn uuid(&self) -> Option { + match self { + ChatPacket::System(_) => return None, + ChatPacket::Player(m) => return Some(m.sender), + } + } + /// Get the content part of the message as a string. This does not preserve /// formatting codes. If it's not a player-sent chat message or the sender /// couldn't be determined, this will contain the entire message. -- cgit v1.2.3