steel_protocol/packets/game/
world_border.rs1use 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}