From 505adfb92c44db44a89effa4d38ebb863c2c60d0 Mon Sep 17 00:00:00 2001 From: Kyler <59854022+KylerOlsen@users.noreply.github.com> Date: Fri, 31 May 2024 17:24:34 -0600 Subject: [PATCH] Added ProtocolConnection::forward_play function --- src/mc_types.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/mc_types.rs b/src/mc_types.rs index c5bf232..e07541b 100644 --- a/src/mc_types.rs +++ b/src/mc_types.rs @@ -13,6 +13,7 @@ use rand::Rng; use crate::login; use crate::encrypt; +use crate::play::Play; pub type Result = std::result::Result>; @@ -235,6 +236,18 @@ impl<'a> ProtocolConnection<'a> { None => Err(Box::new(PacketError::EncryptionError)) } } + + pub async fn forward_play( + &mut self, + other: &mut ProtocolConnection<'_>, + ) -> Result<()> { + loop { + let packet = Play::read(self).await?; + match packet { + Play::PlayPacket(packet) => packet.write(other).await?, + }; + } + } } #[async_trait]