aboutsummaryrefslogtreecommitdiff
path: root/azalea-protocol/src/packets/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'azalea-protocol/src/packets/mod.rs')
-rwxr-xr-xazalea-protocol/src/packets/mod.rs16
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),