diff options
| author | mat <github@matdoes.dev> | 2021-12-14 23:03:26 -0600 |
|---|---|---|
| committer | mat <github@matdoes.dev> | 2021-12-14 23:03:26 -0600 |
| commit | 0d6e4179e6cc16594a4be3ecd62d89411115f319 (patch) | |
| tree | 019284386b7a2540efe440e0c2f3aad27801a5a6 /minecraft-protocol/src/packets/status/clientbound_status_response_packet.rs | |
| parent | c96ae8fce4e53ea9fad111ac7f479f2fa33ef859 (diff) | |
| download | azalea-drasl-0d6e4179e6cc16594a4be3ecd62d89411115f319.tar.xz | |
progress, ?
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 | 22 |
1 files changed, 10 insertions, 12 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 30b1403c..f19ab024 100644 --- a/minecraft-protocol/src/packets/status/clientbound_status_response_packet.rs +++ b/minecraft-protocol/src/packets/status/clientbound_status_response_packet.rs @@ -4,10 +4,7 @@ use serde::{Deserialize, Deserializer}; use serde_json::Value; use tokio::io::BufReader; -use crate::{ - mc_buf, - packets::{Packet, PacketTrait}, -}; +use crate::{mc_buf, packets::Packet}; use super::StatusPacket; @@ -39,23 +36,24 @@ pub struct ClientboundStatusResponsePacket { pub version: Version, } -#[async_trait] -impl PacketTrait for ClientboundStatusResponsePacket { - fn get(self) -> StatusPacket { +impl ClientboundStatusResponsePacket { + pub fn get(self) -> StatusPacket { StatusPacket::ClientboundStatusResponsePacket(self) } - fn write(&self, _buf: &mut Vec<u8>) {} + pub fn write(&self, _buf: &mut Vec<u8>) {} - async fn read<T: tokio::io::AsyncRead + std::marker::Unpin + std::marker::Send>( + pub async fn read<T: tokio::io::AsyncRead + std::marker::Unpin + std::marker::Send>( buf: &mut BufReader<T>, - ) -> Result<Packet, String> { + ) -> Result<StatusPacket, String> { let status_string = mc_buf::read_utf(buf).await?; let status_json: Value = serde_json::from_str(status_string.as_str()).expect("Server status isn't valid JSON"); - Ok(ClientboundStatusResponsePacket::deserialize(status_json) + let packet = ClientboundStatusResponsePacket::deserialize(status_json) .map_err(|e| e.to_string())? - .get()) + .get(); + + Ok(packet) } } |
