From f6a3f088ac1cd9526e6b93e03ea9929658478565 Mon Sep 17 00:00:00 2001 From: mat Date: Fri, 10 Dec 2021 16:16:59 +0000 Subject: it compiles --- minecraft-protocol/src/packets/mod.rs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'minecraft-protocol/src/packets/mod.rs') diff --git a/minecraft-protocol/src/packets/mod.rs b/minecraft-protocol/src/packets/mod.rs index 76f9128e..0d8b6883 100644 --- a/minecraft-protocol/src/packets/mod.rs +++ b/minecraft-protocol/src/packets/mod.rs @@ -16,11 +16,12 @@ pub enum ConnectionProtocol { Login = 2, } -pub enum Packet<'a> { +#[derive(Clone)] +pub enum Packet { // game // handshake - ClientIntentionPacket(handshake::client_intention_packet::ClientIntentionPacket<'a>), + ClientIntentionPacket(handshake::client_intention_packet::ClientIntentionPacket), // login @@ -34,7 +35,7 @@ pub enum Packet<'a> { } // TODO: do all this with macros so it's less repetitive -impl Packet<'_> { +impl Packet { fn get_inner_packet(&self) -> &dyn PacketTrait { match self { Packet::ClientIntentionPacket(packet) => packet, @@ -57,7 +58,7 @@ impl Packet<'_> { protocol: ConnectionProtocol, flow: PacketFlow, buf: &mut BufReader, - ) -> Result, String> { + ) -> Result { match protocol { ConnectionProtocol::Handshake => match id { 0x00 => Ok( @@ -96,11 +97,11 @@ impl Packet<'_> { #[async_trait] pub trait PacketTrait { /// Return a version of the packet that you can actually use for stuff - fn get(&self) -> Packet; + fn get(self) -> Packet; fn write(&self, buf: &mut Vec) -> (); async fn read( buf: &mut BufReader, - ) -> Result, String> + ) -> Result where Self: Sized; } -- cgit v1.2.3