aboutsummaryrefslogtreecommitdiff
path: root/azalea-protocol/src/packets/mod.rs
diff options
context:
space:
mode:
authormat <github@matdoes.dev>2022-06-25 14:25:56 -0500
committermat <github@matdoes.dev>2022-06-25 14:25:56 -0500
commitc46eb556e2e7964f0709572a0151c181752c3182 (patch)
treeda65427d74aaa66e002385989faee04c7bac6cbd /azalea-protocol/src/packets/mod.rs
parent8755f18c2b0c11a51a81f60b5501d9d57d0c370e (diff)
parent77980f0018eca3a192994021b76ad5d05bff88ea (diff)
downloadazalea-drasl-c46eb556e2e7964f0709572a0151c181752c3182.tar.xz
Merge branch 'main' into 1.19.1
Diffstat (limited to 'azalea-protocol/src/packets/mod.rs')
-rw-r--r--[-rwxr-xr-x]azalea-protocol/src/packets/mod.rs27
1 files changed, 17 insertions, 10 deletions
diff --git a/azalea-protocol/src/packets/mod.rs b/azalea-protocol/src/packets/mod.rs
index a8915290..499b0062 100755..100644
--- a/azalea-protocol/src/packets/mod.rs
+++ b/azalea-protocol/src/packets/mod.rs
@@ -3,18 +3,13 @@ pub mod handshake;
pub mod login;
pub mod status;
+use crate::connect::PacketFlow;
+use azalea_buf::{McBufWritable, Readable, Writable};
use std::io::{Read, Write};
-use crate::{
- connect::PacketFlow,
- mc_buf::{McBufReadable, McBufWritable, Readable, Writable},
-};
-use num_derive::FromPrimitive;
-use num_traits::FromPrimitive;
-
pub const PROTOCOL_VERSION: u32 = 1073741918;
-#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, FromPrimitive)]
+#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum ConnectionProtocol {
Handshake = -1,
Game = 0,
@@ -22,6 +17,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),
@@ -43,8 +50,8 @@ where
fn write(&self, buf: &mut impl Write) -> Result<(), std::io::Error>;
}
-impl crate::mc_buf::McBufReadable for ConnectionProtocol {
- fn read_into(buf: &mut impl Read) -> Result<Self, String> {
+impl azalea_buf::McBufReadable for ConnectionProtocol {
+ fn read_from(buf: &mut impl Read) -> Result<Self, String> {
ConnectionProtocol::from_i32(buf.read_varint()?)
.ok_or_else(|| "Invalid intention".to_string())
}