diff options
Diffstat (limited to 'azalea-protocol/src/packets/mod.rs')
| -rwxr-xr-x | azalea-protocol/src/packets/mod.rs | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/azalea-protocol/src/packets/mod.rs b/azalea-protocol/src/packets/mod.rs index 1cc79b79..73a3a842 100755 --- a/azalea-protocol/src/packets/mod.rs +++ b/azalea-protocol/src/packets/mod.rs @@ -9,12 +9,10 @@ use crate::{ connect::PacketFlow, mc_buf::{McBufReadable, McBufWritable, Readable, Writable}, }; -use num_derive::FromPrimitive; -use num_traits::FromPrimitive; pub const PROTOCOL_VERSION: u32 = 759; -#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, FromPrimitive)] +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] pub enum ConnectionProtocol { Handshake = -1, Game = 0, @@ -22,6 +20,18 @@ pub enum ConnectionProtocol { Login = 2, } +impl ConnectionProtocol { + pub fn from_i32(i: i32) -> Option<Self> { + match i { + -1 => Some(ConnectionProtocol::Handshake), + 0 => Some(ConnectionProtocol::Game), + 1 => Some(ConnectionProtocol::Status), + 2 => Some(ConnectionProtocol::Login), + _ => None, + } + } +} + #[derive(Clone, Debug)] pub enum Packet { Game(game::GamePacket), |
