aboutsummaryrefslogtreecommitdiff
path: root/azalea-protocol
diff options
context:
space:
mode:
authormat <github@matdoes.dev>2021-12-18 10:04:10 -0600
committermat <github@matdoes.dev>2021-12-18 10:04:10 -0600
commit8e3ba097b48543a85f2cf487d5db90add3f28bac (patch)
treeeb691675842ecaec0a8a561deb8cf5e2951c9d81 /azalea-protocol
parent498077e09f372ecd5c4f32f20363d7011f09e70a (diff)
downloadazalea-drasl-8e3ba097b48543a85f2cf487d5db90add3f28bac.tar.xz
start adding clientbound_login_packet
Diffstat (limited to 'azalea-protocol')
-rw-r--r--azalea-protocol/src/packets/game/clientbound_login_packet.rs (renamed from azalea-protocol/src/packets/game/ClientboundLoginPacket.rs)18
-rw-r--r--azalea-protocol/src/packets/game/mod.rs12
-rw-r--r--azalea-protocol/src/packets/login/clientbound_custom_query_packet.rs1
-rw-r--r--azalea-protocol/src/packets/login/mod.rs7
4 files changed, 20 insertions, 18 deletions
diff --git a/azalea-protocol/src/packets/game/ClientboundLoginPacket.rs b/azalea-protocol/src/packets/game/clientbound_login_packet.rs
index ec869faa..fc701d9d 100644
--- a/azalea-protocol/src/packets/game/ClientboundLoginPacket.rs
+++ b/azalea-protocol/src/packets/game/clientbound_login_packet.rs
@@ -1,12 +1,11 @@
use super::GamePacket;
use crate::mc_buf::{Readable, Writable};
-use azalea_core::resource_location::ResourceLocation;
+use azalea_core::{game_type::GameType, resource_location::ResourceLocation};
use std::hash::Hash;
-use tokio::io::BufReader;
#[derive(Hash, Clone, Debug)]
pub struct ClientboundLoginPacket {
- // private final int playerId;
+ // private final int playerId;
// private final boolean hardcore;
// private final GameType gameType;
// @Nullable
@@ -23,7 +22,12 @@ pub struct ClientboundLoginPacket {
// private final boolean showDeathScreen;
// private final boolean isDebug;
// private final boolean isFlat;
-
+ pub player_id: i32,
+ pub hardcore: bool,
+ pub game_type: GameType,
+ pub previous_game_type: Option<GameType>,
+ pub levels: Vec<ResourceLocation>,
+ pub registry_holder: azalea_core::registry::RegistryAccess,
}
impl ClientboundLoginPacket {
@@ -32,9 +36,9 @@ impl ClientboundLoginPacket {
}
pub fn write(&self, buf: &mut Vec<u8>) {
- buf.write_varint(self.transaction_id as i32).unwrap();
- buf.write_utf(self.identifier.to_string().as_str()).unwrap();
- buf.write_bytes(&self.data).unwrap();
+ buf.write_int(self.player_id);
+ buf.write_bool(self.hardcore);
+ // buf.write_byte(self.game_type.
}
pub async fn read<T: tokio::io::AsyncRead + std::marker::Unpin + std::marker::Send>(
diff --git a/azalea-protocol/src/packets/game/mod.rs b/azalea-protocol/src/packets/game/mod.rs
index 0391a6b1..73f66c33 100644
--- a/azalea-protocol/src/packets/game/mod.rs
+++ b/azalea-protocol/src/packets/game/mod.rs
@@ -1,9 +1,9 @@
-use async_trait::async_trait;
-use tokio::io::BufReader;
-
-use crate::connect::PacketFlow;
+pub mod clientbound_login_packet;
use super::ProtocolPacket;
+use crate::connect::PacketFlow;
+use async_trait::async_trait;
+use tokio::io::BufReader;
#[derive(Clone, Debug)]
pub enum GamePacket
@@ -13,7 +13,9 @@ where
#[async_trait]
impl ProtocolPacket for GamePacket {
fn id(&self) -> u32 {
- 0x00
+ match self {
+ GamePacket::ClientboundLoginPacket(_packet) => 0x00,
+ }
}
fn write(&self, _buf: &mut Vec<u8>) {}
diff --git a/azalea-protocol/src/packets/login/clientbound_custom_query_packet.rs b/azalea-protocol/src/packets/login/clientbound_custom_query_packet.rs
index ed9820ef..2bc1fc1e 100644
--- a/azalea-protocol/src/packets/login/clientbound_custom_query_packet.rs
+++ b/azalea-protocol/src/packets/login/clientbound_custom_query_packet.rs
@@ -2,7 +2,6 @@ use super::LoginPacket;
use crate::mc_buf::{Readable, Writable};
use azalea_core::resource_location::ResourceLocation;
use std::hash::Hash;
-use tokio::io::BufReader;
#[derive(Hash, Clone, Debug)]
pub struct ClientboundCustomQueryPacket {
diff --git a/azalea-protocol/src/packets/login/mod.rs b/azalea-protocol/src/packets/login/mod.rs
index 377a285a..65d94bed 100644
--- a/azalea-protocol/src/packets/login/mod.rs
+++ b/azalea-protocol/src/packets/login/mod.rs
@@ -4,12 +4,9 @@ pub mod clientbound_hello_packet;
pub mod clientbound_login_compression_packet;
pub mod serverbound_hello_packet;
-use async_trait::async_trait;
-use tokio::io::BufReader;
-
-use crate::connect::PacketFlow;
-
use super::ProtocolPacket;
+use crate::connect::PacketFlow;
+use async_trait::async_trait;
#[derive(Clone, Debug)]
pub enum LoginPacket