nurtex_protocol/types/
client_command.rs1use nurtex_codec::Buffer;
2use nurtex_codec::types::variable::VarI32;
3
4#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
6pub enum ClientCommand {
7 PerformRespawn,
8 RequestStats,
9}
10
11impl Buffer for ClientCommand {
12 fn read_buf(buffer: &mut std::io::Cursor<&[u8]>) -> Option<Self> {
13 let id = i32::read_var(buffer)?;
14
15 match id {
16 0 => Some(Self::PerformRespawn),
17 1 => Some(Self::RequestStats),
18 _ => None,
19 }
20 }
21
22 fn write_buf(&self, buffer: &mut impl std::io::Write) -> std::io::Result<()> {
23 let id = match self {
24 Self::PerformRespawn => 0,
25 Self::RequestStats => 1,
26 };
27
28 id.write_var(buffer)?;
29
30 Ok(())
31 }
32}