nurtex_protocol/packets/login/
packets.rs1use nurtex_codec::Buffer;
2use nurtex_derive::Packet;
3
4use crate::types::{Property, TextComponent};
5
6#[derive(Clone, Debug, PartialEq, Packet)]
7pub struct ClientsideLoginDisconnect {
8 pub reason: TextComponent,
9}
10
11#[derive(Clone, Debug, PartialEq, Packet)]
12pub struct ClientsideEncryptionRequest {
13 pub server_id: String,
14 pub public_key: Vec<u8>,
15 pub verify_token: Vec<u8>,
16 pub should_authenticate: bool,
17}
18
19#[derive(Clone, Debug, PartialEq, Packet)]
20pub struct ClientsideLoginSuccess {
21 pub uuid: uuid::Uuid,
22 pub username: String,
23 pub properties: Vec<Property>,
24}
25
26#[derive(Clone, Debug, PartialEq, Packet)]
27pub struct ClientsideSetCompression {
28 #[packet(varint)]
29 pub compression_threshold: i32,
30}
31
32#[derive(Clone, Debug, PartialEq, Packet)]
33pub struct ClientsidePluginRequest {
34 #[packet(varint)]
35 pub message_id: i32,
36 pub channel: String,
37 #[packet(vec_end)]
38 pub data: Vec<u8>,
39}
40
41#[derive(Clone, Debug, PartialEq, Packet)]
42pub struct ClientsideCookieRequest {
43 pub key: String,
44}
45
46#[derive(Clone, Debug, PartialEq, Packet)]
47pub struct ServersideLoginStart {
48 pub username: String,
49 pub uuid: uuid::Uuid,
50}
51
52#[derive(Clone, Debug, PartialEq, Packet)]
53pub struct ServersideEncryptionResponse {
54 pub shared_secret: Vec<u8>,
55 pub verify_token: Vec<u8>,
56}
57
58#[derive(Clone, Debug, PartialEq, Packet)]
59pub struct ServersidePluginResponse {
60 #[packet(varint)]
61 pub message_id: i32,
62 pub data: Option<Vec<u8>>,
63}
64
65#[derive(Clone, Debug, PartialEq, Packet)]
66pub struct ServersideLoginAcknowledged;
67
68#[derive(Clone, Debug, PartialEq, Packet)]
69pub struct ServersideCookieResponse {
70 pub key: String,
71 pub payload: Option<Vec<u8>>,
72}