27 lines
721 B
Rust
27 lines
721 B
Rust
use bytes::Buf;
|
|
use pumpkin_macros::server_packet;
|
|
|
|
use crate::{
|
|
bytebuf::{ByteBuf, ReadingError},
|
|
ConnectionState, ServerPacket, VarInt,
|
|
};
|
|
|
|
#[server_packet("handshake:intention")]
|
|
pub struct SHandShake {
|
|
pub protocol_version: VarInt,
|
|
pub server_address: String, // 255
|
|
pub server_port: u16,
|
|
pub next_state: ConnectionState,
|
|
}
|
|
|
|
impl ServerPacket for SHandShake {
|
|
fn read(bytebuf: &mut impl Buf) -> Result<Self, ReadingError> {
|
|
Ok(Self {
|
|
protocol_version: bytebuf.try_get_var_int()?,
|
|
server_address: bytebuf.try_get_string_len(255)?,
|
|
server_port: bytebuf.try_get_u16()?,
|
|
next_state: bytebuf.try_get_var_int()?.into(),
|
|
})
|
|
}
|
|
}
|