diff options
| author | mat <github@matdoes.dev> | 2021-12-10 16:16:59 +0000 |
|---|---|---|
| committer | mat <github@matdoes.dev> | 2021-12-10 16:16:59 +0000 |
| commit | f6a3f088ac1cd9526e6b93e03ea9929658478565 (patch) | |
| tree | cbed70ca68f6009a7efe4c958e730ec9229ee4cf /minecraft-protocol/src/packets/mod.rs | |
| parent | be762fc5d37ba48386996afb4c5ba0c94aaf5883 (diff) | |
| download | azalea-drasl-f6a3f088ac1cd9526e6b93e03ea9929658478565.tar.xz | |
it compiles
Diffstat (limited to 'minecraft-protocol/src/packets/mod.rs')
| -rw-r--r-- | minecraft-protocol/src/packets/mod.rs | 13 |
1 files changed, 7 insertions, 6 deletions
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<T>, - ) -> Result<Packet<'_>, String> { + ) -> Result<Packet, String> { 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<u8>) -> (); async fn read<T: AsyncRead + std::marker::Unpin + std::marker::Send>( buf: &mut BufReader<T>, - ) -> Result<Packet<'_>, String> + ) -> Result<Packet, String> where Self: Sized; } |
