diff options
| author | mat <github@matdoes.dev> | 2021-12-10 00:54:58 -0600 |
|---|---|---|
| committer | mat <github@matdoes.dev> | 2021-12-10 00:54:58 -0600 |
| commit | be762fc5d37ba48386996afb4c5ba0c94aaf5883 (patch) | |
| tree | a7c96227c51e291e4e59eab7a66c6bc223973e06 /minecraft-protocol/src/packets/status/clientbound_status_response_packet.rs | |
| parent | f64750afdd9b18379f706df66c32806b6d21bbe8 (diff) | |
| download | azalea-drasl-be762fc5d37ba48386996afb4c5ba0c94aaf5883.tar.xz | |
rust is driving me insane
Diffstat (limited to 'minecraft-protocol/src/packets/status/clientbound_status_response_packet.rs')
| -rw-r--r-- | minecraft-protocol/src/packets/status/clientbound_status_response_packet.rs | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/minecraft-protocol/src/packets/status/clientbound_status_response_packet.rs b/minecraft-protocol/src/packets/status/clientbound_status_response_packet.rs index ada86667..38747cc8 100644 --- a/minecraft-protocol/src/packets/status/clientbound_status_response_packet.rs +++ b/minecraft-protocol/src/packets/status/clientbound_status_response_packet.rs @@ -1,28 +1,31 @@ use async_trait::async_trait; use std::hash::Hash; +use tokio::io::BufReader; use crate::{ mc_buf, packets::{Packet, PacketTrait}, }; -#[derive(Hash)] -pub struct ClientboundStatusRequestPacket { +#[derive(Hash, Clone)] +pub struct ClientboundStatusResponsePacket { status: String, } -impl PacketTrait for ClientboundStatusRequestPacket { +#[async_trait] +impl PacketTrait for ClientboundStatusResponsePacket { fn get(&self) -> Packet { - Packet::ClientboundStatusRequestPacket(self) + Packet::ClientboundStatusResponsePacket(self.clone()) } fn write(&self, _buf: &mut Vec<u8>) {} - fn parse<T: tokio::io::AsyncRead + std::marker::Unpin>( - buf: &mut T, + async fn read<T: tokio::io::AsyncRead + std::marker::Unpin + std::marker::Send>( + buf: &mut BufReader<T>, ) -> Result<Packet<'_>, String> { - let status = mc_buf::read_utf(&mut buf).await?; + let status = mc_buf::read_utf(buf).await?; // this.status = GsonHelper.fromJson(GSON, friendlyByteBuf.readUtf(32767), ServerStatus.class); - Ok(ClientboundStatusRequestPacket { status }.get()) + let packet = ClientboundStatusResponsePacket { status }.get(); + Ok(packet) } } |
