diff options
4 files changed, 27 insertions, 1 deletions
diff --git a/azalea-client/src/connect.rs b/azalea-client/src/connect.rs index f04eb25d..8713ccda 100755 --- a/azalea-client/src/connect.rs +++ b/azalea-client/src/connect.rs @@ -3,7 +3,10 @@ use azalea_core::resource_location::ResourceLocation; use azalea_protocol::{ connect::{GameConnection, HandshakeConnection}, packets::{ - game::{serverbound_custom_payload_packet::ServerboundCustomPayloadPacket, GamePacket}, + game::{ + serverbound_custom_payload_packet::ServerboundCustomPayloadPacket, + serverbound_keep_alive_packet::ServerboundKeepAlivePacket, GamePacket, + }, handshake::client_intention_packet::ClientIntentionPacket, login::{ serverbound_hello_packet::ServerboundHelloPacket, @@ -294,6 +297,13 @@ impl Client { GamePacket::ClientboundMoveEntityRotPacket(p) => { println!("Got move entity rot packet {:?}", p); } + GamePacket::ClientboundKeepAlivePacket(p) => { + println!("Got keep alive packet {:?}", p); + conn.lock() + .await + .write(ServerboundKeepAlivePacket { id: p.id }.get()) + .await; + } _ => panic!("Unexpected packet {:?}", packet), } println!(); diff --git a/azalea-protocol/src/packets/game/clientbound_keep_alive_packet.rs b/azalea-protocol/src/packets/game/clientbound_keep_alive_packet.rs new file mode 100644 index 00000000..d5dab9a9 --- /dev/null +++ b/azalea-protocol/src/packets/game/clientbound_keep_alive_packet.rs @@ -0,0 +1,6 @@ +use packet_macros::GamePacket; + +#[derive(Clone, Debug, GamePacket)] +pub struct ClientboundKeepAlivePacket { + pub id: u64, +} diff --git a/azalea-protocol/src/packets/game/mod.rs b/azalea-protocol/src/packets/game/mod.rs index 78091788..9f1bce0d 100755 --- a/azalea-protocol/src/packets/game/mod.rs +++ b/azalea-protocol/src/packets/game/mod.rs @@ -9,6 +9,7 @@ pub mod clientbound_disconnect_packet; pub mod clientbound_entity_event_packet; pub mod clientbound_entity_velocity_packet; pub mod clientbound_initialize_border_packet; +pub mod clientbound_keep_alive_packet; pub mod clientbound_level_chunk_with_light_packet; pub mod clientbound_light_update_packet; pub mod clientbound_login_packet; @@ -35,6 +36,7 @@ pub mod clientbound_update_recipes_packet; pub mod clientbound_update_tags_packet; pub mod clientbound_update_view_distance_packet; pub mod serverbound_custom_payload_packet; +pub mod serverbound_keep_alive_packet; use packet_macros::declare_state_packets; @@ -42,6 +44,7 @@ declare_state_packets!( GamePacket, Serverbound => { 0x0a: serverbound_custom_payload_packet::ServerboundCustomPayloadPacket, + 0x0f: serverbound_keep_alive_packet::ServerboundKeepAlivePacket, }, Clientbound => { 0x00: clientbound_add_entity_packet::ClientboundAddEntityPacket, @@ -54,6 +57,7 @@ declare_state_packets!( 0x1b: clientbound_entity_event_packet::ClientboundEntityEventPacket, 0x18: clientbound_custom_payload_packet::ClientboundCustomPayloadPacket, 0x20: clientbound_initialize_border_packet::ClientboundInitializeBorderPacket, + 0x21: clientbound_keep_alive_packet::ClientboundKeepAlivePacket, 0x22: clientbound_level_chunk_with_light_packet::ClientboundLevelChunkWithLightPacket, 0x25: clientbound_light_update_packet::ClientboundLightUpdatePacket, 0x26: clientbound_login_packet::ClientboundLoginPacket, diff --git a/azalea-protocol/src/packets/game/serverbound_keep_alive_packet.rs b/azalea-protocol/src/packets/game/serverbound_keep_alive_packet.rs new file mode 100644 index 00000000..740b18e3 --- /dev/null +++ b/azalea-protocol/src/packets/game/serverbound_keep_alive_packet.rs @@ -0,0 +1,6 @@ +use packet_macros::GamePacket; + +#[derive(Clone, Debug, GamePacket)] +pub struct ServerboundKeepAlivePacket { + pub id: u64, +} |
