diff options
Diffstat (limited to 'minecraft-protocol/src/packets')
4 files changed, 27 insertions, 1 deletions
diff --git a/minecraft-protocol/src/packets/client_intention_packet.rs b/minecraft-protocol/src/packets/client_intention_packet.rs index 90574038..a35e65dc 100644 --- a/minecraft-protocol/src/packets/client_intention_packet.rs +++ b/minecraft-protocol/src/packets/client_intention_packet.rs @@ -26,4 +26,6 @@ impl<'a> Packet for ClientIntentionPacket<'a> { mc_buf::write_short(buf, self.port); mc_buf::write_varint(buf, self.intention.clone() as u32); } + + fn parse<T: tokio::io::AsyncRead + std::marker::Unpin>(&self, buf: T) -> () {} } diff --git a/minecraft-protocol/src/packets/clientbound_status_response_packet.rs b/minecraft-protocol/src/packets/clientbound_status_response_packet.rs new file mode 100644 index 00000000..8baa2a4d --- /dev/null +++ b/minecraft-protocol/src/packets/clientbound_status_response_packet.rs @@ -0,0 +1,21 @@ +use std::hash::Hash; + +use super::Packet; + +#[derive(Hash)] +pub struct ServerboundStatusRequestPacket { + status: ServerStatus, +} + +// implement "Packet" for "ClientIntentionPacket" +impl Packet for ServerboundStatusRequestPacket { + fn get_id(&self) -> u32 { + 0x00 + } + + // implement "from_reader" for "ClientIntentionPacket" + fn write(&self, _buf: &mut Vec<u8>) {} + fn parse<T: tokio::io::AsyncRead + std::marker::Unpin>(&self, buf: T) -> () { + // this.status = GsonHelper.fromJson(GSON, friendlyByteBuf.readUtf(32767), ServerStatus.class); + } +} diff --git a/minecraft-protocol/src/packets/mod.rs b/minecraft-protocol/src/packets/mod.rs index 6a053124..8d943be0 100644 --- a/minecraft-protocol/src/packets/mod.rs +++ b/minecraft-protocol/src/packets/mod.rs @@ -2,6 +2,7 @@ mod client_intention_packet; pub use client_intention_packet::ClientIntentionPacket; mod serverbound_status_request_packet; pub use serverbound_status_request_packet::ServerboundStatusRequestPacket; +use tokio::io::AsyncRead; #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum ConnectionProtocol { @@ -15,5 +16,6 @@ pub trait Packet { /// Get the id of the packet, this is always a byte. fn get_id(&self) -> u32; - fn write(&self, friendly_byte_buf: &mut Vec<u8>) -> (); + fn write(&self, buf: &mut Vec<u8>) -> (); + fn parse<T: AsyncRead + std::marker::Unpin>(&self, buf: T) -> (); } diff --git a/minecraft-protocol/src/packets/serverbound_status_request_packet.rs b/minecraft-protocol/src/packets/serverbound_status_request_packet.rs index 94b7bbee..ab9001f4 100644 --- a/minecraft-protocol/src/packets/serverbound_status_request_packet.rs +++ b/minecraft-protocol/src/packets/serverbound_status_request_packet.rs @@ -13,4 +13,5 @@ impl Packet for ServerboundStatusRequestPacket { // implement "from_reader" for "ClientIntentionPacket" fn write(&self, _buf: &mut Vec<u8>) {} + fn parse<T: tokio::io::AsyncRead + std::marker::Unpin>(&self, buf: T) -> () {} } |
