From adfbb97af815b8e626771a4a96a85d87220a485f Mon Sep 17 00:00:00 2001 From: Shayne Hartford Date: Mon, 27 Feb 2023 00:18:02 -0500 Subject: [PATCH 1/4] Add `set_state` and `set_swarm_state` (#76) * Add set_state and set_swarm_state * Add [must_use], Remove set_state, and change state to swarm_state * Forgot the other must_use * I'm not good at this --- azalea/src/lib.rs | 6 ++++++ azalea/src/swarm/mod.rs | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/azalea/src/lib.rs b/azalea/src/lib.rs index 4e21fbbd..827c3904 100644 --- a/azalea/src/lib.rs +++ b/azalea/src/lib.rs @@ -106,6 +106,12 @@ where self.handler = Some(handler); self } + /// Set the client state instead of initializing defaults. + #[must_use] + pub fn set_state(mut self, state: S) -> Self { + self.state = state; + self + } /// Add a plugin to the client. #[must_use] pub fn add_plugin(mut self, plugin: T) -> Self { diff --git a/azalea/src/swarm/mod.rs b/azalea/src/swarm/mod.rs index 9edaa305..c0d9cb56 100644 --- a/azalea/src/swarm/mod.rs +++ b/azalea/src/swarm/mod.rs @@ -199,6 +199,12 @@ where self.swarm_handler = Some(handler); self } + /// Set the swarm state instead of initializing defaults. + #[must_use] + pub fn set_swarm_state(mut self, swarm_state: SS) -> Self { + self.swarm_state = swarm_state; + self + } /// Add a plugin to the swarm. #[must_use] From ec5f05c3458eee4d572f3a6a935f5ed8030ba819 Mon Sep 17 00:00:00 2001 From: Shayne Hartford Date: Mon, 27 Feb 2023 10:45:04 -0500 Subject: [PATCH 2/4] Change Windows env from USERPROFILE to APPDATA (#77) --- azalea-client/src/get_mc_dir.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azalea-client/src/get_mc_dir.rs b/azalea-client/src/get_mc_dir.rs index 440550a7..df2a81aa 100755 --- a/azalea-client/src/get_mc_dir.rs +++ b/azalea-client/src/get_mc_dir.rs @@ -23,7 +23,7 @@ pub fn minecraft_dir() -> Option { pub fn home_env_var() -> &'static str { #[cfg(target_os = "windows")] { - "USERPROFILE" + "APPDATA" } #[cfg(target_os = "macos")] { From b4c62d09872c9e9898585e86f8dc64ebd94edc1c Mon Sep 17 00:00:00 2001 From: mat <27899617+mat-1@users.noreply.github.com> Date: Mon, 27 Feb 2023 20:56:38 -0600 Subject: [PATCH 3/4] also run action on prs --- .github/workflows/check.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index f6c4c5d9..6188f070 100755 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -1,4 +1,6 @@ -on: push +on: + push: + pull_request: name: Clippy check jobs: clippy_check: From 91d97adb4f03acf2d53dedb598f5496e2c4d9063 Mon Sep 17 00:00:00 2001 From: Shayne Hartford Date: Mon, 27 Feb 2023 22:44:45 -0500 Subject: [PATCH 4/4] Remove invalid characters and truncate messages and commands to 256 (#78) * Remove invalid characters and truncate messages and commands to 256 * Remove duplicated use statements * Remove to_owned and use matches! macro --- azalea-client/src/chat.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/azalea-client/src/chat.rs b/azalea-client/src/chat.rs index 202cf47c..e127f0d7 100755 --- a/azalea-client/src/chat.rs +++ b/azalea-client/src/chat.rs @@ -149,6 +149,7 @@ impl Client { entity: self.entity, content: content.to_string(), }); + self.run_schedule_sender.send(()).unwrap(); } } @@ -228,9 +229,15 @@ fn handle_send_chat_kind_event( mut send_packet_events: EventWriter, ) { for event in events.iter() { + let content = event + .content + .chars() + .filter(|c| !matches!(c, '\x00'..='\x1F' | '\x7F' | 'ยง')) + .take(256) + .collect::(); let packet = match event.kind { ChatPacketKind::Message => ServerboundChatPacket { - message: event.content.clone(), + message: content, timestamp: SystemTime::now() .duration_since(UNIX_EPOCH) .expect("Time shouldn't be before epoch") @@ -245,7 +252,7 @@ fn handle_send_chat_kind_event( ChatPacketKind::Command => { // TODO: chat signing ServerboundChatCommandPacket { - command: event.content.clone(), + command: content, timestamp: SystemTime::now() .duration_since(UNIX_EPOCH) .expect("Time shouldn't be before epoch")