aboutsummaryrefslogtreecommitdiff
path: root/azalea-protocol
diff options
context:
space:
mode:
Diffstat (limited to 'azalea-protocol')
-rw-r--r--azalea-protocol/examples/handshake_proxy.rs3
-rwxr-xr-xazalea-protocol/src/connect.rs30
-rw-r--r--azalea-protocol/src/lib.rs5
-rw-r--r--azalea-protocol/src/packets/configuration/clientbound_update_tags_packet.rs7
-rw-r--r--azalea-protocol/src/packets/configuration/serverbound_client_information_packet.rs3
-rwxr-xr-xazalea-protocol/src/packets/game/clientbound_award_stats_packet.rs3
-rwxr-xr-xazalea-protocol/src/packets/game/clientbound_boss_event_packet.rs5
-rwxr-xr-xazalea-protocol/src/packets/game/clientbound_command_suggestions_packet.rs6
-rwxr-xr-xazalea-protocol/src/packets/game/clientbound_commands_packet.rs3
-rwxr-xr-xazalea-protocol/src/packets/game/clientbound_delete_chat_packet.rs3
-rw-r--r--azalea-protocol/src/packets/game/clientbound_disguised_chat_packet.rs3
-rwxr-xr-xazalea-protocol/src/packets/game/clientbound_login_packet.rs4
-rwxr-xr-xazalea-protocol/src/packets/game/clientbound_open_book_packet.rs3
-rwxr-xr-xazalea-protocol/src/packets/game/clientbound_player_abilities_packet.rs3
-rw-r--r--azalea-protocol/src/packets/game/clientbound_player_chat_packet.rs3
-rw-r--r--azalea-protocol/src/packets/game/clientbound_player_info_update_packet.rs9
-rwxr-xr-xazalea-protocol/src/packets/game/clientbound_set_equipment_packet.rs3
-rwxr-xr-xazalea-protocol/src/packets/game/clientbound_set_player_team_packet.rs3
-rwxr-xr-xazalea-protocol/src/packets/game/clientbound_stop_sound_packet.rs3
-rwxr-xr-xazalea-protocol/src/packets/game/clientbound_update_advancements_packet.rs8
-rwxr-xr-xazalea-protocol/src/packets/game/clientbound_update_tags_packet.rs7
-rwxr-xr-xazalea-protocol/src/packets/game/serverbound_chat_command_signed_packet.rs3
-rwxr-xr-xazalea-protocol/src/packets/game/serverbound_container_click_packet.rs3
-rwxr-xr-xazalea-protocol/src/packets/game/serverbound_interact_packet.rs6
-rwxr-xr-xazalea-protocol/src/packets/game/serverbound_player_abilities_packet.rs6
-rwxr-xr-xazalea-protocol/src/packets/game/serverbound_seen_advancements_packet.rs6
-rwxr-xr-xazalea-protocol/src/packets/game/serverbound_set_command_block_packet.rs6
-rwxr-xr-xazalea-protocol/src/packets/game/serverbound_set_jigsaw_block_packet.rs10
-rwxr-xr-xazalea-protocol/src/packets/game/serverbound_set_structure_block_packet.rs6
-rwxr-xr-xazalea-protocol/src/packets/game/serverbound_swing_packet.rs3
-rwxr-xr-xazalea-protocol/src/packets/game/serverbound_use_item_on_packet.rs6
-rwxr-xr-xazalea-protocol/src/packets/game/serverbound_use_item_packet.rs3
-rwxr-xr-xazalea-protocol/src/packets/handshaking/client_intention_packet.rs6
-rwxr-xr-xazalea-protocol/src/packets/login/clientbound_custom_query_packet.rs3
-rwxr-xr-xazalea-protocol/src/packets/login/clientbound_login_compression_packet.rs3
-rw-r--r--azalea-protocol/src/packets/login/serverbound_custom_query_answer_packet.rs3
-rwxr-xr-xazalea-protocol/src/packets/login/serverbound_hello_packet.rs3
-rwxr-xr-xazalea-protocol/src/packets/mod.rs6
-rwxr-xr-xazalea-protocol/src/packets/status/clientbound_status_response_packet.rs3
-rwxr-xr-xazalea-protocol/src/read.rs14
-rwxr-xr-xazalea-protocol/src/resolver.rs6
-rwxr-xr-xazalea-protocol/src/write.rs6
42 files changed, 142 insertions, 86 deletions
diff --git a/azalea-protocol/examples/handshake_proxy.rs b/azalea-protocol/examples/handshake_proxy.rs
index 442db386..8e675c58 100644
--- a/azalea-protocol/examples/handshake_proxy.rs
+++ b/azalea-protocol/examples/handshake_proxy.rs
@@ -1,6 +1,8 @@
//! A "simple" server that gets login information and proxies connections.
//! After login all connections are encrypted and Azalea cannot read them.
+use std::error::Error;
+
use azalea_protocol::{
connect::Connection,
packets::{
@@ -22,7 +24,6 @@ use azalea_protocol::{
};
use futures::FutureExt;
use once_cell::sync::Lazy;
-use std::error::Error;
use tokio::{
io::{self, AsyncWriteExt},
net::{TcpListener, TcpStream},
diff --git a/azalea-protocol/src/connect.rs b/azalea-protocol/src/connect.rs
index 20a6f403..0a449bfd 100755
--- a/azalea-protocol/src/connect.rs
+++ b/azalea-protocol/src/connect.rs
@@ -1,5 +1,21 @@
//! Connect to remote servers/clients.
+use std::fmt::Debug;
+use std::io::Cursor;
+use std::marker::PhantomData;
+use std::net::SocketAddr;
+
+use azalea_auth::game_profile::GameProfile;
+use azalea_auth::sessionserver::{ClientSessionServerError, ServerSessionServerError};
+use azalea_crypto::{Aes128CfbDec, Aes128CfbEnc};
+use bytes::BytesMut;
+use thiserror::Error;
+use tokio::io::{AsyncWriteExt, BufStream};
+use tokio::net::tcp::{OwnedReadHalf, OwnedWriteHalf, ReuniteError};
+use tokio::net::TcpStream;
+use tracing::{error, info};
+use uuid::Uuid;
+
use crate::packets::configuration::{
ClientboundConfigurationPacket, ServerboundConfigurationPacket,
};
@@ -11,20 +27,6 @@ use crate::packets::status::{ClientboundStatusPacket, ServerboundStatusPacket};
use crate::packets::ProtocolPacket;
use crate::read::{deserialize_packet, read_raw_packet, try_read_raw_packet, ReadPacketError};
use crate::write::{serialize_packet, write_raw_packet};
-use azalea_auth::game_profile::GameProfile;
-use azalea_auth::sessionserver::{ClientSessionServerError, ServerSessionServerError};
-use azalea_crypto::{Aes128CfbDec, Aes128CfbEnc};
-use bytes::BytesMut;
-use std::fmt::Debug;
-use std::io::Cursor;
-use std::marker::PhantomData;
-use std::net::SocketAddr;
-use thiserror::Error;
-use tokio::io::{AsyncWriteExt, BufStream};
-use tokio::net::tcp::{OwnedReadHalf, OwnedWriteHalf, ReuniteError};
-use tokio::net::TcpStream;
-use tracing::{error, info};
-use uuid::Uuid;
pub struct RawReadConnection {
pub read_stream: OwnedReadHalf,
diff --git a/azalea-protocol/src/lib.rs b/azalea-protocol/src/lib.rs
index 8683233e..0b2db1cf 100644
--- a/azalea-protocol/src/lib.rs
+++ b/azalea-protocol/src/lib.rs
@@ -103,6 +103,9 @@ impl serde::Serialize for ServerAddress {
mod tests {
use std::io::Cursor;
+ use bytes::BytesMut;
+ use uuid::Uuid;
+
use crate::{
packets::{
game::serverbound_chat_packet::{LastSeenMessagesUpdate, ServerboundChatPacket},
@@ -111,8 +114,6 @@ mod tests {
read::{compression_decoder, read_packet},
write::{compression_encoder, serialize_packet, write_packet},
};
- use bytes::BytesMut;
- use uuid::Uuid;
#[tokio::test]
async fn test_hello_packet() {
diff --git a/azalea-protocol/src/packets/configuration/clientbound_update_tags_packet.rs b/azalea-protocol/src/packets/configuration/clientbound_update_tags_packet.rs
index 8ef42a76..10f66e23 100644
--- a/azalea-protocol/src/packets/configuration/clientbound_update_tags_packet.rs
+++ b/azalea-protocol/src/packets/configuration/clientbound_update_tags_packet.rs
@@ -1,10 +1,11 @@
+use std::io::Cursor;
+use std::ops::Deref;
+use std::{collections::HashMap, io::Write};
+
use azalea_buf::{BufReadError, McBuf, McBufVarReadable, McBufVarWritable};
use azalea_buf::{McBufReadable, McBufWritable};
use azalea_core::resource_location::ResourceLocation;
use azalea_protocol_macros::ClientboundConfigurationPacket;
-use std::io::Cursor;
-use std::ops::Deref;
-use std::{collections::HashMap, io::Write};
#[derive(Clone, Debug, McBuf, ClientboundConfigurationPacket)]
pub struct ClientboundUpdateTagsPacket {
diff --git a/azalea-protocol/src/packets/configuration/serverbound_client_information_packet.rs b/azalea-protocol/src/packets/configuration/serverbound_client_information_packet.rs
index d00c30ec..b5fd6a35 100644
--- a/azalea-protocol/src/packets/configuration/serverbound_client_information_packet.rs
+++ b/azalea-protocol/src/packets/configuration/serverbound_client_information_packet.rs
@@ -146,9 +146,10 @@ impl McBufWritable for ModelCustomization {
#[cfg(test)]
mod tests {
- use super::*;
use std::io::Cursor;
+ use super::*;
+
#[test]
fn test_client_information_packet() {
{
diff --git a/azalea-protocol/src/packets/game/clientbound_award_stats_packet.rs b/azalea-protocol/src/packets/game/clientbound_award_stats_packet.rs
index aaec1849..32e2c8aa 100755
--- a/azalea-protocol/src/packets/game/clientbound_award_stats_packet.rs
+++ b/azalea-protocol/src/packets/game/clientbound_award_stats_packet.rs
@@ -1,6 +1,7 @@
+use std::collections::HashMap;
+
use azalea_buf::McBuf;
use azalea_protocol_macros::ClientboundGamePacket;
-use std::collections::HashMap;
#[derive(Clone, Debug, McBuf, ClientboundGamePacket)]
pub struct ClientboundAwardStatsPacket {
diff --git a/azalea-protocol/src/packets/game/clientbound_boss_event_packet.rs b/azalea-protocol/src/packets/game/clientbound_boss_event_packet.rs
index 16fb6f61..65240edf 100755
--- a/azalea-protocol/src/packets/game/clientbound_boss_event_packet.rs
+++ b/azalea-protocol/src/packets/game/clientbound_boss_event_packet.rs
@@ -1,11 +1,12 @@
+use std::io::Cursor;
+use std::io::Write;
+
use azalea_buf::{
BufReadError, McBuf, McBufReadable, McBufVarReadable, McBufVarWritable, McBufWritable,
};
use azalea_chat::FormattedText;
use azalea_core::bitset::FixedBitSet;
use azalea_protocol_macros::ClientboundGamePacket;
-use std::io::Cursor;
-use std::io::Write;
use uuid::Uuid;
#[derive(Clone, Debug, McBuf, ClientboundGamePacket)]
diff --git a/azalea-protocol/src/packets/game/clientbound_command_suggestions_packet.rs b/azalea-protocol/src/packets/game/clientbound_command_suggestions_packet.rs
index 13887331..c9752ee9 100755
--- a/azalea-protocol/src/packets/game/clientbound_command_suggestions_packet.rs
+++ b/azalea-protocol/src/packets/game/clientbound_command_suggestions_packet.rs
@@ -11,10 +11,12 @@ pub struct ClientboundCommandSuggestionsPacket {
#[cfg(test)]
mod tests {
- use super::*;
+ use std::io::Cursor;
+
use azalea_brigadier::{context::StringRange, suggestion::Suggestion};
use azalea_buf::{McBufReadable, McBufWritable};
- use std::io::Cursor;
+
+ use super::*;
#[test]
fn test_suggestions() {
diff --git a/azalea-protocol/src/packets/game/clientbound_commands_packet.rs b/azalea-protocol/src/packets/game/clientbound_commands_packet.rs
index 822f62df..10055e37 100755
--- a/azalea-protocol/src/packets/game/clientbound_commands_packet.rs
+++ b/azalea-protocol/src/packets/game/clientbound_commands_packet.rs
@@ -1,9 +1,10 @@
+use std::io::{Cursor, Write};
+
use azalea_buf::{
BufReadError, McBuf, McBufReadable, McBufVarReadable, McBufVarWritable, McBufWritable,
};
use azalea_core::{bitset::FixedBitSet, resource_location::ResourceLocation};
use azalea_protocol_macros::ClientboundGamePacket;
-use std::io::{Cursor, Write};
use tracing::warn;
#[derive(Clone, Debug, McBuf, ClientboundGamePacket)]
diff --git a/azalea-protocol/src/packets/game/clientbound_delete_chat_packet.rs b/azalea-protocol/src/packets/game/clientbound_delete_chat_packet.rs
index b8377afe..eef9b561 100755
--- a/azalea-protocol/src/packets/game/clientbound_delete_chat_packet.rs
+++ b/azalea-protocol/src/packets/game/clientbound_delete_chat_packet.rs
@@ -1,7 +1,8 @@
-use super::clientbound_player_chat_packet::PackedMessageSignature;
use azalea_buf::McBuf;
use azalea_protocol_macros::ClientboundGamePacket;
+use super::clientbound_player_chat_packet::PackedMessageSignature;
+
#[derive(Clone, Debug, McBuf, ClientboundGamePacket)]
pub struct ClientboundDeleteChatPacket {
pub signature: PackedMessageSignature,
diff --git a/azalea-protocol/src/packets/game/clientbound_disguised_chat_packet.rs b/azalea-protocol/src/packets/game/clientbound_disguised_chat_packet.rs
index e1ccff7e..24e1a992 100644
--- a/azalea-protocol/src/packets/game/clientbound_disguised_chat_packet.rs
+++ b/azalea-protocol/src/packets/game/clientbound_disguised_chat_packet.rs
@@ -1,4 +1,3 @@
-use super::clientbound_player_chat_packet::ChatTypeBound;
use azalea_buf::McBuf;
use azalea_chat::{
translatable_component::{StringOrComponent, TranslatableComponent},
@@ -6,6 +5,8 @@ use azalea_chat::{
};
use azalea_protocol_macros::ClientboundGamePacket;
+use super::clientbound_player_chat_packet::ChatTypeBound;
+
// A disguised chat packet is basically the same as a normal
// [`ClientboundPlayerChatPacket`], except that it doesn't have any of the chat
// signing things. Vanilla servers use this when messages are sent from the
diff --git a/azalea-protocol/src/packets/game/clientbound_login_packet.rs b/azalea-protocol/src/packets/game/clientbound_login_packet.rs
index 20ed30f0..234439d5 100755
--- a/azalea-protocol/src/packets/game/clientbound_login_packet.rs
+++ b/azalea-protocol/src/packets/game/clientbound_login_packet.rs
@@ -1,9 +1,9 @@
-use crate::packets::common::CommonPlayerSpawnInfo;
-
use azalea_buf::McBuf;
use azalea_core::resource_location::ResourceLocation;
use azalea_protocol_macros::ClientboundGamePacket;
+use crate::packets::common::CommonPlayerSpawnInfo;
+
/// The first packet sent by the server to the client after login.
///
/// This packet contains information about the state of the player, the
diff --git a/azalea-protocol/src/packets/game/clientbound_open_book_packet.rs b/azalea-protocol/src/packets/game/clientbound_open_book_packet.rs
index bf27d4e0..1b450b80 100755
--- a/azalea-protocol/src/packets/game/clientbound_open_book_packet.rs
+++ b/azalea-protocol/src/packets/game/clientbound_open_book_packet.rs
@@ -1,7 +1,8 @@
-use super::serverbound_interact_packet::InteractionHand;
use azalea_buf::McBuf;
use azalea_protocol_macros::ClientboundGamePacket;
+use super::serverbound_interact_packet::InteractionHand;
+
#[derive(Clone, Debug, McBuf, ClientboundGamePacket)]
pub struct ClientboundOpenBookPacket {
pub hand: InteractionHand,
diff --git a/azalea-protocol/src/packets/game/clientbound_player_abilities_packet.rs b/azalea-protocol/src/packets/game/clientbound_player_abilities_packet.rs
index edb5f949..48c8b41a 100755
--- a/azalea-protocol/src/packets/game/clientbound_player_abilities_packet.rs
+++ b/azalea-protocol/src/packets/game/clientbound_player_abilities_packet.rs
@@ -1,8 +1,9 @@
+use std::io::{Cursor, Write};
+
use azalea_buf::{BufReadError, McBuf};
use azalea_buf::{McBufReadable, McBufWritable};
use azalea_core::bitset::FixedBitSet;
use azalea_protocol_macros::ClientboundGamePacket;
-use std::io::{Cursor, Write};
#[derive(Clone, Debug, McBuf, ClientboundGamePacket)]
pub struct ClientboundPlayerAbilitiesPacket {
diff --git a/azalea-protocol/src/packets/game/clientbound_player_chat_packet.rs b/azalea-protocol/src/packets/game/clientbound_player_chat_packet.rs
index 31f18dde..9cd20efc 100644
--- a/azalea-protocol/src/packets/game/clientbound_player_chat_packet.rs
+++ b/azalea-protocol/src/packets/game/clientbound_player_chat_packet.rs
@@ -1,3 +1,5 @@
+use std::io::{Cursor, Write};
+
use azalea_buf::{
BufReadError, McBuf, McBufReadable, McBufVarReadable, McBufVarWritable, McBufWritable,
};
@@ -8,7 +10,6 @@ use azalea_chat::{
use azalea_core::bitset::BitSet;
use azalea_crypto::MessageSignature;
use azalea_protocol_macros::ClientboundGamePacket;
-use std::io::{Cursor, Write};
use uuid::Uuid;
#[derive(Clone, Debug, McBuf, ClientboundGamePacket, PartialEq)]
diff --git a/azalea-protocol/src/packets/game/clientbound_player_info_update_packet.rs b/azalea-protocol/src/packets/game/clientbound_player_info_update_packet.rs
index 2024f082..2b286e64 100644
--- a/azalea-protocol/src/packets/game/clientbound_player_info_update_packet.rs
+++ b/azalea-protocol/src/packets/game/clientbound_player_info_update_packet.rs
@@ -1,3 +1,8 @@
+use std::{
+ collections::HashMap,
+ io::{Cursor, Write},
+};
+
use azalea_auth::game_profile::{GameProfile, ProfilePropertyValue};
use azalea_buf::{
BufReadError, McBuf, McBufReadable, McBufVarReadable, McBufVarWritable, McBufWritable,
@@ -5,10 +10,6 @@ use azalea_buf::{
use azalea_chat::FormattedText;
use azalea_core::{bitset::FixedBitSet, game_type::GameMode};
use azalea_protocol_macros::ClientboundGamePacket;
-use std::{
- collections::HashMap,
- io::{Cursor, Write},
-};
use uuid::Uuid;
use super::serverbound_chat_session_update_packet::RemoteChatSessionData;
diff --git a/azalea-protocol/src/packets/game/clientbound_set_equipment_packet.rs b/azalea-protocol/src/packets/game/clientbound_set_equipment_packet.rs
index 00f3980a..165d05db 100755
--- a/azalea-protocol/src/packets/game/clientbound_set_equipment_packet.rs
+++ b/azalea-protocol/src/packets/game/clientbound_set_equipment_packet.rs
@@ -1,8 +1,9 @@
+use std::io::Cursor;
+
use azalea_buf::{BufReadError, McBuf};
use azalea_buf::{McBufReadable, McBufWritable};
use azalea_inventory::ItemSlot;
use azalea_protocol_macros::ClientboundGamePacket;
-use std::io::Cursor;
#[derive(Clone, Debug, McBuf, ClientboundGamePacket)]
pub struct ClientboundSetEquipmentPacket {
diff --git a/azalea-protocol/src/packets/game/clientbound_set_player_team_packet.rs b/azalea-protocol/src/packets/game/clientbound_set_player_team_packet.rs
index 1a09aeb5..724b86aa 100755
--- a/azalea-protocol/src/packets/game/clientbound_set_player_team_packet.rs
+++ b/azalea-protocol/src/packets/game/clientbound_set_player_team_packet.rs
@@ -1,7 +1,8 @@
+use std::io::{Cursor, Write};
+
use azalea_buf::{BufReadError, McBuf, McBufReadable, McBufWritable};
use azalea_chat::{style::ChatFormatting, FormattedText};
use azalea_protocol_macros::ClientboundGamePacket;
-use std::io::{Cursor, Write};
#[derive(Clone, Debug, McBuf, ClientboundGamePacket)]
pub struct ClientboundSetPlayerTeamPacket {
diff --git a/azalea-protocol/src/packets/game/clientbound_stop_sound_packet.rs b/azalea-protocol/src/packets/game/clientbound_stop_sound_packet.rs
index dd601da9..48c80237 100755
--- a/azalea-protocol/src/packets/game/clientbound_stop_sound_packet.rs
+++ b/azalea-protocol/src/packets/game/clientbound_stop_sound_packet.rs
@@ -1,7 +1,8 @@
+use std::io::{Cursor, Write};
+
use azalea_buf::{BufReadError, McBufReadable, McBufWritable};
use azalea_core::{bitset::FixedBitSet, resource_location::ResourceLocation};
use azalea_protocol_macros::ClientboundGamePacket;
-use std::io::{Cursor, Write};
use super::clientbound_sound_packet::SoundSource;
diff --git a/azalea-protocol/src/packets/game/clientbound_update_advancements_packet.rs b/azalea-protocol/src/packets/game/clientbound_update_advancements_packet.rs
index 00a846e8..5934b443 100755
--- a/azalea-protocol/src/packets/game/clientbound_update_advancements_packet.rs
+++ b/azalea-protocol/src/packets/game/clientbound_update_advancements_packet.rs
@@ -1,10 +1,11 @@
+use std::collections::HashMap;
+use std::io::Cursor;
+
use azalea_buf::McBuf;
use azalea_chat::FormattedText;
use azalea_core::resource_location::ResourceLocation;
use azalea_inventory::ItemSlot;
use azalea_protocol_macros::ClientboundGamePacket;
-use std::collections::HashMap;
-use std::io::Cursor;
#[derive(Clone, Debug, McBuf, ClientboundGamePacket)]
pub struct ClientboundUpdateAdvancementsPacket {
@@ -117,9 +118,10 @@ pub struct AdvancementHolder {
#[cfg(test)]
mod tests {
- use super::*;
use azalea_buf::{McBufReadable, McBufWritable};
+ use super::*;
+
#[test]
fn test() {
let packet = ClientboundUpdateAdvancementsPacket {
diff --git a/azalea-protocol/src/packets/game/clientbound_update_tags_packet.rs b/azalea-protocol/src/packets/game/clientbound_update_tags_packet.rs
index e861e575..bcdef64a 100755
--- a/azalea-protocol/src/packets/game/clientbound_update_tags_packet.rs
+++ b/azalea-protocol/src/packets/game/clientbound_update_tags_packet.rs
@@ -1,10 +1,11 @@
+use std::io::Cursor;
+use std::ops::Deref;
+use std::{collections::HashMap, io::Write};
+
use azalea_buf::{BufReadError, McBuf, McBufVarReadable, McBufVarWritable};
use azalea_buf::{McBufReadable, McBufWritable};
use azalea_core::resource_location::ResourceLocation;
use azalea_protocol_macros::ClientboundGamePacket;
-use std::io::Cursor;
-use std::ops::Deref;
-use std::{collections::HashMap, io::Write};
#[derive(Clone, Debug, McBuf, ClientboundGamePacket)]
pub struct ClientboundUpdateTagsPacket {
diff --git a/azalea-protocol/src/packets/game/serverbound_chat_command_signed_packet.rs b/azalea-protocol/src/packets/game/serverbound_chat_command_signed_packet.rs
index bb814d55..f64b79cc 100755
--- a/azalea-protocol/src/packets/game/serverbound_chat_command_signed_packet.rs
+++ b/azalea-protocol/src/packets/game/serverbound_chat_command_signed_packet.rs
@@ -1,8 +1,9 @@
-use super::serverbound_chat_packet::LastSeenMessagesUpdate;
use azalea_buf::McBuf;
use azalea_crypto::MessageSignature;
use azalea_protocol_macros::ServerboundGamePacket;
+use super::serverbound_chat_packet::LastSeenMessagesUpdate;
+
#[derive(Clone, Debug, McBuf, ServerboundGamePacket)]
pub struct ServerboundChatCommandSignedPacket {
pub command: String,
diff --git a/azalea-protocol/src/packets/game/serverbound_container_click_packet.rs b/azalea-protocol/src/packets/game/serverbound_container_click_packet.rs
index 119af220..e2954720 100755
--- a/azalea-protocol/src/packets/game/serverbound_container_click_packet.rs
+++ b/azalea-protocol/src/packets/game/serverbound_container_click_packet.rs
@@ -1,7 +1,8 @@
+use std::collections::HashMap;
+
use azalea_buf::McBuf;
use azalea_inventory::{operations::ClickType, ItemSlot};
use azalea_protocol_macros::ServerboundGamePacket;
-use std::collections::HashMap;
#[derive(Clone, Debug, McBuf, ServerboundGamePacket)]
pub struct ServerboundContainerClickPacket {
diff --git a/azalea-protocol/src/packets/game/serverbound_interact_packet.rs b/azalea-protocol/src/packets/game/serverbound_interact_packet.rs
index 315134c9..e393920c 100755
--- a/azalea-protocol/src/packets/game/serverbound_interact_packet.rs
+++ b/azalea-protocol/src/packets/game/serverbound_interact_packet.rs
@@ -1,8 +1,10 @@
-use crate::packets::BufReadError;
+use std::io::{Cursor, Write};
+
use azalea_buf::{McBuf, McBufReadable, McBufVarReadable, McBufVarWritable, McBufWritable};
use azalea_core::position::Vec3;
use azalea_protocol_macros::ServerboundGamePacket;
-use std::io::{Cursor, Write};
+
+use crate::packets::BufReadError;
#[derive(Clone, Debug, McBuf, ServerboundGamePacket)]
pub struct ServerboundInteractPacket {
diff --git a/azalea-protocol/src/packets/game/serverbound_player_abilities_packet.rs b/azalea-protocol/src/packets/game/serverbound_player_abilities_packet.rs
index 384f7dcc..900d1824 100755
--- a/azalea-protocol/src/packets/game/serverbound_player_abilities_packet.rs
+++ b/azalea-protocol/src/packets/game/serverbound_player_abilities_packet.rs
@@ -1,8 +1,10 @@
-use crate::packets::BufReadError;
+use std::io::Cursor;
+
use azalea_buf::{McBufReadable, McBufWritable};
use azalea_core::bitset::FixedBitSet;
use azalea_protocol_macros::ServerboundGamePacket;
-use std::io::Cursor;
+
+use crate::packets::BufReadError;
#[derive(Clone, Debug, ServerboundGamePacket)]
pub struct ServerboundPlayerAbilitiesPacket {
diff --git a/azalea-protocol/src/packets/game/serverbound_seen_advancements_packet.rs b/azalea-protocol/src/packets/game/serverbound_seen_advancements_packet.rs
index fb15293b..54fd4cc9 100755
--- a/azalea-protocol/src/packets/game/serverbound_seen_advancements_packet.rs
+++ b/azalea-protocol/src/packets/game/serverbound_seen_advancements_packet.rs
@@ -1,8 +1,10 @@
-use crate::packets::BufReadError;
+use std::io::Cursor;
+
use azalea_buf::{McBuf, McBufReadable, McBufWritable};
use azalea_core::resource_location::ResourceLocation;
use azalea_protocol_macros::ServerboundGamePacket;
-use std::io::Cursor;
+
+use crate::packets::BufReadError;
#[derive(Clone, Debug, ServerboundGamePacket)]
pub struct ServerboundSeenAdvancementsPacket {
diff --git a/azalea-protocol/src/packets/game/serverbound_set_command_block_packet.rs b/azalea-protocol/src/packets/game/serverbound_set_command_block_packet.rs
index c5feb213..db6557fd 100755
--- a/azalea-protocol/src/packets/game/serverbound_set_command_block_packet.rs
+++ b/azalea-protocol/src/packets/game/serverbound_set_command_block_packet.rs
@@ -1,8 +1,10 @@
-use crate::packets::McBufWritable;
+use std::io::Cursor;
+
use azalea_buf::{BufReadError, McBuf, McBufReadable};
use azalea_core::{bitset::FixedBitSet, position::BlockPos};
use azalea_protocol_macros::ServerboundGamePacket;
-use std::io::Cursor;
+
+use crate::packets::McBufWritable;
#[derive(Clone, Debug, ServerboundGamePacket)]
pub struct ServerboundSetCommandBlockPacket {
diff --git a/azalea-protocol/src/packets/game/serverbound_set_jigsaw_block_packet.rs b/azalea-protocol/src/packets/game/serverbound_set_jigsaw_block_packet.rs
index a4b6f726..33a82311 100755
--- a/azalea-protocol/src/packets/game/serverbound_set_jigsaw_block_packet.rs
+++ b/azalea-protocol/src/packets/game/serverbound_set_jigsaw_block_packet.rs
@@ -1,12 +1,14 @@
-use crate::packets::BufReadError;
-use crate::packets::McBufWritable;
+use std::io::Cursor;
+use std::io::Write;
+
use azalea_buf::McBuf;
use azalea_buf::McBufReadable;
use azalea_core::position::BlockPos;
use azalea_core::resource_location::ResourceLocation;
use azalea_protocol_macros::ServerboundGamePacket;
-use std::io::Cursor;
-use std::io::Write;
+
+use crate::packets::BufReadError;
+use crate::packets::McBufWritable;
#[derive(Clone, Debug, McBuf, ServerboundGamePacket)]
pub struct ServerboundSetJigsawBlockPacket {
diff --git a/azalea-protocol/src/packets/game/serverbound_set_structure_block_packet.rs b/azalea-protocol/src/packets/game/serverbound_set_structure_block_packet.rs
index c10966c9..c2872812 100755
--- a/azalea-protocol/src/packets/game/serverbound_set_structure_block_packet.rs
+++ b/azalea-protocol/src/packets/game/serverbound_set_structure_block_packet.rs
@@ -1,9 +1,11 @@
-use crate::packets::BufReadError;
+use std::io::{Cursor, Write};
+
use azalea_buf::McBuf;
use azalea_buf::{McBufReadable, McBufWritable};
use azalea_core::{bitset::FixedBitSet, position::BlockPos};
use azalea_protocol_macros::ServerboundGamePacket;
-use std::io::{Cursor, Write};
+
+use crate::packets::BufReadError;
#[derive(Clone, Debug, McBuf, ServerboundGamePacket)]
pub struct ServerboundSetStructureBlockPacket {
diff --git a/azalea-protocol/src/packets/game/serverbound_swing_packet.rs b/azalea-protocol/src/packets/game/serverbound_swing_packet.rs
index a3190843..53b4a6c1 100755
--- a/azalea-protocol/src/packets/game/serverbound_swing_packet.rs
+++ b/azalea-protocol/src/packets/game/serverbound_swing_packet.rs
@@ -1,7 +1,8 @@
-use crate::packets::game::serverbound_interact_packet::InteractionHand;
use azalea_buf::McBuf;
use azalea_protocol_macros::ServerboundGamePacket;
+use crate::packets::game::serverbound_interact_packet::InteractionHand;
+
#[derive(Clone, Debug, McBuf, ServerboundGamePacket)]
pub struct ServerboundSwingPacket {
pub hand: InteractionHand,
diff --git a/azalea-protocol/src/packets/game/serverbound_use_item_on_packet.rs b/azalea-protocol/src/packets/game/serverbound_use_item_on_packet.rs
index 2d471114..66048327 100755
--- a/azalea-protocol/src/packets/game/serverbound_use_item_on_packet.rs
+++ b/azalea-protocol/src/packets/game/serverbound_use_item_on_packet.rs
@@ -1,11 +1,13 @@
-use crate::packets::game::serverbound_interact_packet::InteractionHand;
+use std::io::{Cursor, Write};
+
use azalea_buf::{BufReadError, McBuf, McBufReadable, McBufWritable};
use azalea_core::{
direction::Direction,
position::{BlockPos, Vec3},
};
use azalea_protocol_macros::ServerboundGamePacket;
-use std::io::{Cursor, Write};
+
+use crate::packets::game::serverbound_interact_packet::InteractionHand;
#[derive(Clone, Debug, McBuf, ServerboundGamePacket)]
pub struct ServerboundUseItemOnPacket {
diff --git a/azalea-protocol/src/packets/game/serverbound_use_item_packet.rs b/azalea-protocol/src/packets/game/serverbound_use_item_packet.rs
index 3129244a..b9f12f23 100755
--- a/azalea-protocol/src/packets/game/serverbound_use_item_packet.rs
+++ b/azalea-protocol/src/packets/game/serverbound_use_item_packet.rs
@@ -1,7 +1,8 @@
-use crate::packets::game::serverbound_interact_packet::InteractionHand;
use azalea_buf::McBuf;
use azalea_protocol_macros::ServerboundGamePacket;
+use crate::packets::game::serverbound_interact_packet::InteractionHand;
+
#[derive(Clone, Debug, McBuf, ServerboundGamePacket)]
pub struct ServerboundUseItemPacket {
pub hand: InteractionHand,
diff --git a/azalea-protocol/src/packets/handshaking/client_intention_packet.rs b/azalea-protocol/src/packets/handshaking/client_intention_packet.rs
index 82be621a..c0b694c8 100755
--- a/azalea-protocol/src/packets/handshaking/client_intention_packet.rs
+++ b/azalea-protocol/src/packets/handshaking/client_intention_packet.rs
@@ -1,7 +1,9 @@
-use crate::packets::ClientIntention;
+use std::hash::Hash;
+
use azalea_buf::McBuf;
use azalea_protocol_macros::ServerboundHandshakePacket;
-use std::hash::Hash;
+
+use crate::packets::ClientIntention;
#[derive(Hash, Clone, Debug, McBuf, ServerboundHandshakePacket)]
pub struct ClientIntentionPacket {
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 50d2e2d3..75993fd9 100755
--- a/azalea-protocol/src/packets/login/clientbound_custom_query_packet.rs
+++ b/azalea-protocol/src/packets/login/clientbound_custom_query_packet.rs
@@ -1,7 +1,8 @@
+use std::hash::Hash;
+
use azalea_buf::{McBuf, UnsizedByteArray};
use azalea_core::resource_location::ResourceLocation;
use azalea_protocol_macros::ClientboundLoginPacket;
-use std::hash::Hash;
#[derive(Hash, Clone, Debug, McBuf, ClientboundLoginPacket)]
pub struct ClientboundCustomQueryPacket {
diff --git a/azalea-protocol/src/packets/login/clientbound_login_compression_packet.rs b/azalea-protocol/src/packets/login/clientbound_login_compression_packet.rs
index 6976298a..4b8fb0c8 100755
--- a/azalea-protocol/src/packets/login/clientbound_login_compression_packet.rs
+++ b/azalea-protocol/src/packets/login/clientbound_login_compression_packet.rs
@@ -1,6 +1,7 @@
+use std::hash::Hash;
+
use azalea_buf::McBuf;
use azalea_protocol_macros::ClientboundLoginPacket;
-use std::hash::Hash;
#[derive(Hash, Clone, Debug, ClientboundLoginPacket, McBuf)]
pub struct ClientboundLoginCompressionPacket {
diff --git a/azalea-protocol/src/packets/login/serverbound_custom_query_answer_packet.rs b/azalea-protocol/src/packets/login/serverbound_custom_query_answer_packet.rs
index 7eb8b28f..fe9460a2 100644
--- a/azalea-protocol/src/packets/login/serverbound_custom_query_answer_packet.rs
+++ b/azalea-protocol/src/packets/login/serverbound_custom_query_answer_packet.rs
@@ -1,6 +1,7 @@
+use std::hash::Hash;
+
use azalea_buf::{McBuf, UnsizedByteArray};
use azalea_protocol_macros::ServerboundLoginPacket;
-use std::hash::Hash;
#[derive(Hash, Clone, Debug, McBuf, ServerboundLoginPacket)]
pub struct ServerboundCustomQueryAnswerPacket {
diff --git a/azalea-protocol/src/packets/login/serverbound_hello_packet.rs b/azalea-protocol/src/packets/login/serverbound_hello_packet.rs
index d46fe308..51ff1830 100755
--- a/azalea-protocol/src/packets/login/serverbound_hello_packet.rs
+++ b/azalea-protocol/src/packets/login/serverbound_hello_packet.rs
@@ -12,9 +12,10 @@ pub struct ServerboundHelloPacket {
mod tests {
use std::io::Cursor;
- use super::*;
use azalea_buf::{McBufReadable, McBufWritable};
+ use super::*;
+
#[test]
fn test_read_write() {
let packet = ServerboundHelloPacket {
diff --git a/azalea-protocol/src/packets/mod.rs b/azalea-protocol/src/packets/mod.rs
index 6cec015f..1dabe175 100755
--- a/azalea-protocol/src/packets/mod.rs
+++ b/azalea-protocol/src/packets/mod.rs
@@ -5,10 +5,12 @@ pub mod handshaking;
pub mod login;
pub mod status;
-use crate::read::ReadPacketError;
-use azalea_buf::{BufReadError, McBufVarReadable, McBufVarWritable, McBufWritable};
use std::io::{Cursor, Write};
+use azalea_buf::{BufReadError, McBufVarReadable, McBufVarWritable, McBufWritable};
+
+use crate::read::ReadPacketError;
+
// TODO: rename the packet files to just like clientbound_add_entity instead of
// clientbound_add_entity_packet
diff --git a/azalea-protocol/src/packets/status/clientbound_status_response_packet.rs b/azalea-protocol/src/packets/status/clientbound_status_response_packet.rs
index 332bfdc4..1316894e 100755
--- a/azalea-protocol/src/packets/status/clientbound_status_response_packet.rs
+++ b/azalea-protocol/src/packets/status/clientbound_status_response_packet.rs
@@ -1,9 +1,10 @@
+use std::io::{Cursor, Write};
+
use azalea_buf::{BufReadError, McBufReadable, McBufWritable};
use azalea_chat::FormattedText;
use azalea_protocol_macros::ClientboundStatusPacket;
use serde::{Deserialize, Serialize};
use serde_json::value::Serializer;
-use std::io::{Cursor, Write};
#[derive(Clone, Debug, Serialize, Deserialize)]
pub struct Version {
diff --git a/azalea-protocol/src/read.rs b/azalea-protocol/src/read.rs
index 434cc74a..558e1072 100755
--- a/azalea-protocol/src/read.rs
+++ b/azalea-protocol/src/read.rs
@@ -1,6 +1,11 @@
//! Read packets from a stream.
-use crate::packets::ProtocolPacket;
+use std::backtrace::Backtrace;
+use std::{
+ fmt::Debug,
+ io::{Cursor, Read},
+};
+
use azalea_buf::BufReadError;
use azalea_buf::McBufVarReadable;
use azalea_crypto::Aes128CfbDec;
@@ -9,16 +14,13 @@ use bytes::BytesMut;
use flate2::read::ZlibDecoder;
use futures::StreamExt;
use futures_lite::future;
-use std::backtrace::Backtrace;
-use std::{
- fmt::Debug,
- io::{Cursor, Read},
-};
use thiserror::Error;
use tokio::io::AsyncRead;
use tokio_util::codec::{BytesCodec, FramedRead};
use tracing::trace;
+use crate::packets::ProtocolPacket;
+
#[derive(Error, Debug)]
pub enum ReadPacketError {
#[error("Error reading packet {packet_name} (id {packet_id}): {source}")]
diff --git a/azalea-protocol/src/resolver.rs b/azalea-protocol/src/resolver.rs
index af59be72..43f15dce 100755
--- a/azalea-protocol/src/resolver.rs
+++ b/azalea-protocol/src/resolver.rs
@@ -1,14 +1,16 @@
//! Resolve IPs from hostnames.
-use crate::ServerAddress;
-use async_recursion::async_recursion;
use std::net::{IpAddr, SocketAddr};
+
+use async_recursion::async_recursion;
use thiserror::Error;
use trust_dns_resolver::{
config::{ResolverConfig, ResolverOpts},
Name, TokioAsyncResolver,
};
+use crate::ServerAddress;
+
#[derive(Error, Debug)]
pub enum ResolverError {
#[error("No SRV record found")]
diff --git a/azalea-protocol/src/write.rs b/azalea-protocol/src/write.rs
index 532f4651..0ec4308b 100755
--- a/azalea-protocol/src/write.rs
+++ b/azalea-protocol/src/write.rs
@@ -1,14 +1,16 @@
//! Write packets to a stream.
-use crate::{packets::ProtocolPacket, read::MAXIMUM_UNCOMPRESSED_LENGTH};
+use std::{fmt::Debug, io::Read};
+
use azalea_buf::McBufVarWritable;
use azalea_crypto::Aes128CfbEnc;
use flate2::{bufread::ZlibEncoder, Compression};
-use std::{fmt::Debug, io::Read};
use thiserror::Error;
use tokio::io::{AsyncWrite, AsyncWriteExt};
use tracing::trace;
+use crate::{packets::ProtocolPacket, read::MAXIMUM_UNCOMPRESSED_LENGTH};
+
/// Prepend the length of the packet to it.
fn frame_prepender(mut data: Vec<u8>) -> Result<Vec<u8>, std::io::Error> {
let mut buf = Vec::new();