aboutsummaryrefslogtreecommitdiff
path: root/azalea-protocol/src/packets/game
diff options
context:
space:
mode:
authormat <github@matdoes.dev>2022-07-10 23:43:09 -0500
committermat <github@matdoes.dev>2022-07-10 23:43:09 -0500
commitec0b6ec06c1607d7bfc9df2fca220f59c700e07b (patch)
tree2499278bf20badd6b411404a80bbdedc788453dc /azalea-protocol/src/packets/game
parent5e3a6066f87b1a03e0303b41cee82103a709b02a (diff)
downloadazalea-drasl-ec0b6ec06c1607d7bfc9df2fca220f59c700e07b.tar.xz
1.19.1-pre4
Diffstat (limited to 'azalea-protocol/src/packets/game')
-rw-r--r--azalea-protocol/src/packets/game/clientbound_delete_chat_packet.rs8
-rw-r--r--azalea-protocol/src/packets/game/clientbound_light_update_packet.rs3
-rw-r--r--azalea-protocol/src/packets/game/clientbound_player_chat_header_packet.rs10
-rw-r--r--azalea-protocol/src/packets/game/clientbound_player_chat_packet.rs48
-rwxr-xr-xazalea-protocol/src/packets/game/mod.rs88
5 files changed, 103 insertions, 54 deletions
diff --git a/azalea-protocol/src/packets/game/clientbound_delete_chat_packet.rs b/azalea-protocol/src/packets/game/clientbound_delete_chat_packet.rs
new file mode 100644
index 00000000..6e7ab6b7
--- /dev/null
+++ b/azalea-protocol/src/packets/game/clientbound_delete_chat_packet.rs
@@ -0,0 +1,8 @@
+use azalea_buf::McBuf;
+use azalea_crypto::MessageSignature;
+use packet_macros::GamePacket;
+
+#[derive(Clone, Debug, McBuf, GamePacket)]
+pub struct ClientboundDeleteChatPacket {
+ pub message_signature: MessageSignature,
+}
diff --git a/azalea-protocol/src/packets/game/clientbound_light_update_packet.rs b/azalea-protocol/src/packets/game/clientbound_light_update_packet.rs
index adb6e33b..1c998226 100644
--- a/azalea-protocol/src/packets/game/clientbound_light_update_packet.rs
+++ b/azalea-protocol/src/packets/game/clientbound_light_update_packet.rs
@@ -1,5 +1,4 @@
-use azalea_buf::BitSet;
-use azalea_buf::McBuf;
+use azalea_buf::{BitSet, McBuf};
use packet_macros::GamePacket;
#[derive(Clone, Debug, McBuf, GamePacket)]
diff --git a/azalea-protocol/src/packets/game/clientbound_player_chat_header_packet.rs b/azalea-protocol/src/packets/game/clientbound_player_chat_header_packet.rs
new file mode 100644
index 00000000..bd0bc1f3
--- /dev/null
+++ b/azalea-protocol/src/packets/game/clientbound_player_chat_header_packet.rs
@@ -0,0 +1,10 @@
+use azalea_buf::McBuf;
+use azalea_crypto::{MessageSignature, SignedMessageHeader};
+use packet_macros::GamePacket;
+
+#[derive(Clone, Debug, McBuf, GamePacket)]
+pub struct ClientboundPlayerChatHeaderPacket {
+ pub header: SignedMessageHeader,
+ pub header_signature: MessageSignature,
+ pub body_digest: Vec<u8>,
+}
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 4aac93f4..f5df8869 100644
--- a/azalea-protocol/src/packets/game/clientbound_player_chat_packet.rs
+++ b/azalea-protocol/src/packets/game/clientbound_player_chat_packet.rs
@@ -1,22 +1,50 @@
use azalea_buf::McBuf;
use azalea_chat::component::Component;
-use azalea_crypto::SaltSignaturePair;
+use azalea_crypto::{MessageSignature, SignedMessageHeader};
use packet_macros::GamePacket;
+use uuid::Uuid;
#[derive(Clone, Debug, McBuf, GamePacket)]
pub struct ClientboundPlayerChatPacket {
- pub signed_content: Component,
+ pub message: PlayerChatMessage,
+ pub chat_type: ChatTypeBound,
+}
+
+#[derive(Copy, Clone, Debug, McBuf)]
+pub enum ChatType {
+ Chat = 0,
+ SayCommand = 1,
+ MsgCommandIncoming = 2,
+ MsgCommandOutgoing = 3,
+ TeamMsgCommandIncoming = 4,
+ EmoteCommand = 5,
+}
+
+#[derive(Clone, Debug, McBuf)]
+pub struct ChatTypeBound {
+ pub chat_type: ChatType,
+ pub name: Component,
+ pub target_name: Component,
+}
+
+#[derive(Clone, Debug, McBuf)]
+pub struct PlayerChatMessage {
+ pub signed_header: SignedMessageHeader,
+ pub header_signature: MessageSignature,
+ pub signed_body: SignedMessageBody,
pub unsigned_content: Option<Component>,
- #[var]
- pub type_id: i32,
- pub sender: ChatSender,
+}
+
+#[derive(Clone, Debug, McBuf)]
+pub struct SignedMessageBody {
+ pub content: Component,
pub timestamp: u64,
- pub salt_signature: SaltSignaturePair,
+ pub salt: u64,
+ pub last_seen: Vec<LastSeen>,
}
#[derive(Clone, Debug, McBuf)]
-pub struct ChatSender {
- pub uuid: uuid::Uuid,
- pub name: Component,
- pub team_name: Option<Component>,
+pub struct LastSeen {
+ pub profile_id: Uuid,
+ pub last_signature: MessageSignature,
}
diff --git a/azalea-protocol/src/packets/game/mod.rs b/azalea-protocol/src/packets/game/mod.rs
index 8009b0fe..c9d632e2 100755
--- a/azalea-protocol/src/packets/game/mod.rs
+++ b/azalea-protocol/src/packets/game/mod.rs
@@ -9,6 +9,7 @@ pub mod clientbound_container_set_content_packet;
pub mod clientbound_custom_chat_completions_packet;
pub mod clientbound_custom_payload_packet;
pub mod clientbound_declare_commands_packet;
+pub mod clientbound_delete_chat_packet;
pub mod clientbound_disconnect_packet;
pub mod clientbound_entity_event_packet;
pub mod clientbound_entity_velocity_packet;
@@ -24,6 +25,7 @@ pub mod clientbound_move_entity_pos_packet;
pub mod clientbound_move_entity_posrot_packet;
pub mod clientbound_move_entity_rot_packet;
pub mod clientbound_player_abilities_packet;
+pub mod clientbound_player_chat_header_packet;
pub mod clientbound_player_chat_packet;
pub mod clientbound_player_info_packet;
pub mod clientbound_player_position_packet;
@@ -88,47 +90,49 @@ declare_state_packets!(
0x11: clientbound_container_set_content_packet::ClientboundContainerSetContentPacket,
0x15: clientbound_custom_chat_completions_packet::ClientboundCustomChatCompletionsPacket,
0x16: clientbound_custom_payload_packet::ClientboundCustomPayloadPacket,
- 0x18: clientbound_disconnect_packet::ClientboundDisconnectPacket,
- 0x19: clientbound_entity_event_packet::ClientboundEntityEventPacket,
- 0x1c: clientbound_game_event_packet::ClientboundGameEventPacket,
- 0x1e: clientbound_initialize_border_packet::ClientboundInitializeBorderPacket,
- 0x1f: clientbound_keep_alive_packet::ClientboundKeepAlivePacket,
- 0x20: clientbound_level_chunk_with_light_packet::ClientboundLevelChunkWithLightPacket,
- 0x21: clientbound_level_event_packet::ClientboundLevelEventPacket,
- 0x22: clientbound_level_particles_packet::ClientboundLevelParticlesPacket,
- 0x23: clientbound_light_update_packet::ClientboundLightUpdatePacket,
- 0x24: clientbound_login_packet::ClientboundLoginPacket,
- 0x27: clientbound_move_entity_pos_packet::ClientboundMoveEntityPosPacket,
- 0x28: clientbound_move_entity_posrot_packet::ClientboundMoveEntityPosrotPacket,
- 0x29: clientbound_move_entity_rot_packet::ClientboundMoveEntityRotPacket,
- 0x30: clientbound_player_abilities_packet::ClientboundPlayerAbilitiesPacket,
- 0x31: clientbound_player_chat_packet::ClientboundPlayerChatPacket,
- 0x35: clientbound_player_info_packet::ClientboundPlayerInfoPacket,
- 0x37: clientbound_player_position_packet::ClientboundPlayerPositionPacket,
- 0x38: clientbound_recipe_packet::ClientboundRecipePacket,
- 0x39: clientbound_remove_entities_packet::ClientboundRemoveEntitiesPacket,
- 0x3d: clientbound_rotate_head_packet::ClientboundRotateHeadPacket,
- 0x3e: clientbound_section_blocks_update_packet::ClientboundSectionBlocksUpdatePacket,
- 0x40: clientbound_server_data_packet::ClientboundServerDataPacket,
- 0x48: clientbound_set_carried_item_packet::ClientboundSetCarriedItemPacket,
- 0x49: clientbound_set_chunk_cache_center_packet::ClientboundSetChunkCacheCenterPacket,
- 0x4a: clientbound_update_view_distance_packet::ClientboundUpdateViewDistancePacket,
- 0x4b: clientbound_set_default_spawn_position_packet::ClientboundSetDefaultSpawnPositionPacket,
- 0x4c: clientbound_set_display_chat_preview_packet::ClientboundSetDisplayChatPreviewPacket,
- 0x4e: clientbound_set_entity_data_packet::ClientboundSetEntityDataPacket,
- 0x4f: clientbound_set_entity_link_packet::ClientboundSetEntityLinkPacket,
- 0x50: clientbound_entity_velocity_packet::ClientboundEntityVelocityPacket,
- 0x51: clientbound_set_equipment_packet::ClientboundSetEquipmentPacket,
- 0x52: clientbound_set_experience_packet::ClientboundSetExperiencePacket,
- 0x53: clientbound_set_health_packet::ClientboundSetHealthPacket,
- 0x5a: clientbound_set_time_packet::ClientboundSetTimePacket,
- 0x5e: clientbound_sound_packet::ClientboundSoundPacket,
- 0x60: clientbound_system_chat_packet::ClientboundSystemChatPacket,
- 0x64: clientbound_teleport_entity_packet::ClientboundTeleportEntityPacket,
- 0x65: clientbound_update_advancements_packet::ClientboundUpdateAdvancementsPacket,
- 0x66: clientbound_update_attributes_packet::ClientboundUpdateAttributesPacket,
- 0x67: clientbound_update_mob_effect_packet::ClientboundUpdateMobEffectPacket,
- 0x68: clientbound_update_recipes_packet::ClientboundUpdateRecipesPacket,
- 0x69: clientbound_update_tags_packet::ClientboundUpdateTagsPacket,
+ 0x18: clientbound_delete_chat_packet::ClientboundDeleteChatPacket,
+ 0x19: clientbound_disconnect_packet::ClientboundDisconnectPacket,
+ 0x1a: clientbound_entity_event_packet::ClientboundEntityEventPacket,
+ 0x1d: clientbound_game_event_packet::ClientboundGameEventPacket,
+ 0x1f: clientbound_initialize_border_packet::ClientboundInitializeBorderPacket,
+ 0x20: clientbound_keep_alive_packet::ClientboundKeepAlivePacket,
+ 0x21: clientbound_level_chunk_with_light_packet::ClientboundLevelChunkWithLightPacket,
+ 0x22: clientbound_level_event_packet::ClientboundLevelEventPacket,
+ 0x23: clientbound_level_particles_packet::ClientboundLevelParticlesPacket,
+ 0x24: clientbound_light_update_packet::ClientboundLightUpdatePacket,
+ 0x25: clientbound_login_packet::ClientboundLoginPacket,
+ 0x28: clientbound_move_entity_pos_packet::ClientboundMoveEntityPosPacket,
+ 0x29: clientbound_move_entity_posrot_packet::ClientboundMoveEntityPosrotPacket,
+ 0x2a: clientbound_move_entity_rot_packet::ClientboundMoveEntityRotPacket,
+ 0x31: clientbound_player_abilities_packet::ClientboundPlayerAbilitiesPacket,
+ 0x32: clientbound_player_chat_packet::ClientboundPlayerChatPacket,
+ 0x33: clientbound_player_chat_header_packet::ClientboundPlayerChatHeaderPacket,
+ 0x37: clientbound_player_info_packet::ClientboundPlayerInfoPacket,
+ 0x39: clientbound_player_position_packet::ClientboundPlayerPositionPacket,
+ 0x3a: clientbound_recipe_packet::ClientboundRecipePacket,
+ 0x3b: clientbound_remove_entities_packet::ClientboundRemoveEntitiesPacket,
+ 0x3f: clientbound_rotate_head_packet::ClientboundRotateHeadPacket,
+ 0x40: clientbound_section_blocks_update_packet::ClientboundSectionBlocksUpdatePacket,
+ 0x42: clientbound_server_data_packet::ClientboundServerDataPacket,
+ 0x4a: clientbound_set_carried_item_packet::ClientboundSetCarriedItemPacket,
+ 0x4b: clientbound_set_chunk_cache_center_packet::ClientboundSetChunkCacheCenterPacket,
+ 0x4c: clientbound_update_view_distance_packet::ClientboundUpdateViewDistancePacket,
+ 0x4d: clientbound_set_default_spawn_position_packet::ClientboundSetDefaultSpawnPositionPacket,
+ 0x4e: clientbound_set_display_chat_preview_packet::ClientboundSetDisplayChatPreviewPacket,
+ 0x50: clientbound_set_entity_data_packet::ClientboundSetEntityDataPacket,
+ 0x51: clientbound_set_entity_link_packet::ClientboundSetEntityLinkPacket,
+ 0x52: clientbound_entity_velocity_packet::ClientboundEntityVelocityPacket,
+ 0x53: clientbound_set_equipment_packet::ClientboundSetEquipmentPacket,
+ 0x54: clientbound_set_experience_packet::ClientboundSetExperiencePacket,
+ 0x55: clientbound_set_health_packet::ClientboundSetHealthPacket,
+ 0x5c: clientbound_set_time_packet::ClientboundSetTimePacket,
+ 0x60: clientbound_sound_packet::ClientboundSoundPacket,
+ 0x62: clientbound_system_chat_packet::ClientboundSystemChatPacket,
+ 0x66: clientbound_teleport_entity_packet::ClientboundTeleportEntityPacket,
+ 0x67: clientbound_update_advancements_packet::ClientboundUpdateAdvancementsPacket,
+ 0x68: clientbound_update_attributes_packet::ClientboundUpdateAttributesPacket,
+ 0x69: clientbound_update_mob_effect_packet::ClientboundUpdateMobEffectPacket,
+ 0x6a: clientbound_update_recipes_packet::ClientboundUpdateRecipesPacket,
+ 0x6b: clientbound_update_tags_packet::ClientboundUpdateTagsPacket,
}
);