aboutsummaryrefslogtreecommitdiff
path: root/minecraft-protocol/src/packets
diff options
context:
space:
mode:
Diffstat (limited to 'minecraft-protocol/src/packets')
-rw-r--r--minecraft-protocol/src/packets/client_intention_packet.rs17
-rw-r--r--minecraft-protocol/src/packets/mod.rs14
2 files changed, 16 insertions, 15 deletions
diff --git a/minecraft-protocol/src/packets/client_intention_packet.rs b/minecraft-protocol/src/packets/client_intention_packet.rs
index a9a4d86a..30f76387 100644
--- a/minecraft-protocol/src/packets/client_intention_packet.rs
+++ b/minecraft-protocol/src/packets/client_intention_packet.rs
@@ -5,17 +5,19 @@ use crate::friendly_byte_buf::FriendlyByteBuf;
use super::{ConnectionProtocol, Packet};
#[derive(Hash)]
-pub struct ClientIntentionPacket {
- protocol_version: u32,
- hostname: String,
- port: u16,
+pub struct ClientIntentionPacket<'a> {
+ pub protocol_version: u32,
+ pub hostname: &'a String,
+ pub port: u16,
/// 1 for status, 2 for login
- intention: ConnectionProtocol,
+ pub intention: ConnectionProtocol,
}
// implement "Packet" for "ClientIntentionPacket"
-impl Packet for ClientIntentionPacket {
- const ID: u8 = 0x00;
+impl<'a> Packet for ClientIntentionPacket<'a> {
+ fn get_id(&self) -> u8 {
+ 0x00
+ }
// implement "from_reader" for "ClientIntentionPacket"
fn write(&self, buf: &mut FriendlyByteBuf) {
@@ -25,4 +27,3 @@ impl Packet for ClientIntentionPacket {
buf.write_varint(self.intention.clone() as u32);
}
}
-
diff --git a/minecraft-protocol/src/packets/mod.rs b/minecraft-protocol/src/packets/mod.rs
index 2ccdeb44..bdb80c2f 100644
--- a/minecraft-protocol/src/packets/mod.rs
+++ b/minecraft-protocol/src/packets/mod.rs
@@ -1,6 +1,7 @@
-pub mod client_intention_packet;
-
-use std::collections::HashMap;
+mod client_intention_packet;
+pub use client_intention_packet::ClientIntentionPacket;
+mod serverbound_status_request_packet;
+pub use serverbound_status_request_packet::ServerboundStatusRequestPacket;
use crate::friendly_byte_buf::FriendlyByteBuf;
@@ -13,9 +14,8 @@ pub enum ConnectionProtocol {
}
pub trait Packet {
- /// The id of the packet, this is always a byte in vanilla.
- /// This might be bigger than a u8 if using modpacks with lots of custom packets?
- const ID: u8;
-
+ /// Get the id of the packet, this is always a byte.
+ fn get_id(&self) -> u8;
+
fn write(&self, friendly_byte_buf: &mut FriendlyByteBuf) -> ();
}