Skip to main content

steel_protocol/packets/game/
world_border.rs

1use steel_macros::{ClientPacket, WriteTo};
2use steel_registry::packets::play::{
3    C_INITIALIZE_BORDER, C_SET_BORDER_CENTER, C_SET_BORDER_LERP_SIZE, C_SET_BORDER_SIZE,
4    C_SET_BORDER_WARNING_DELAY, C_SET_BORDER_WARNING_DISTANCE,
5};
6
7#[derive(ClientPacket, WriteTo, Clone, Debug)]
8#[packet_id(Play = C_INITIALIZE_BORDER)]
9pub struct CInitializeBorder {
10    pub new_center_x: f64,
11    pub new_center_z: f64,
12    pub old_size: f64,
13    pub new_size: f64,
14    #[write(as = VarLong)]
15    pub lerp_time: i64,
16    #[write(as = VarInt)]
17    pub new_absolute_max_size: i32,
18    #[write(as = VarInt)]
19    pub warning_blocks: i32,
20    #[write(as = VarInt)]
21    pub warning_time: i32,
22}
23
24#[derive(ClientPacket, WriteTo, Clone, Debug)]
25#[packet_id(Play = C_SET_BORDER_CENTER)]
26pub struct CSetBorderCenter {
27    pub new_center_x: f64,
28    pub new_center_z: f64,
29}
30
31#[derive(ClientPacket, WriteTo, Clone, Debug)]
32#[packet_id(Play = C_SET_BORDER_LERP_SIZE)]
33pub struct CSetBorderLerpSize {
34    pub old_size: f64,
35    pub new_size: f64,
36    #[write(as = VarLong)]
37    pub lerp_time: i64,
38}
39
40#[derive(ClientPacket, WriteTo, Clone, Debug)]
41#[packet_id(Play = C_SET_BORDER_SIZE)]
42pub struct CSetBorderSize {
43    pub size: f64,
44}
45
46#[derive(ClientPacket, WriteTo, Clone, Debug)]
47#[packet_id(Play = C_SET_BORDER_WARNING_DELAY)]
48pub struct CSetBorderWarningDelay {
49    #[write(as = VarInt)]
50    pub warning_delay: i32,
51}
52
53#[derive(ClientPacket, WriteTo, Clone, Debug)]
54#[packet_id(Play = C_SET_BORDER_WARNING_DISTANCE)]
55pub struct CSetBorderWarningDistance {
56    #[write(as = VarInt)]
57    pub warning_blocks: i32,
58}