valence_protocol/packets/handshaking/
handshake_c2s.rs

1use crate::{Bounded, Decode, Encode, Packet, PacketState, VarInt};
2
3#[derive(Clone, Debug, Encode, Decode, Packet)]
4#[packet(state = PacketState::Handshaking)]
5pub struct HandshakeC2s<'a> {
6    pub protocol_version: VarInt,
7    pub server_address: Bounded<&'a str, 255>,
8    pub server_port: u16,
9    pub next_state: HandshakeNextState,
10}
11
12#[derive(Copy, Clone, Debug, PartialEq, Eq, Encode, Decode)]
13pub enum HandshakeNextState {
14    #[packet(tag = 1)]
15    Status,
16    #[packet(tag = 2)]
17    Login,
18}