3 #[mt_derive(to = "srv", repr = "u32", enumset)]
17 #[mt_derive(to = "srv")]
18 pub struct PlayerPos {
19 pub pos_100: [i32; 3],
20 pub vel_100: [i32; 3],
23 pub keys: EnumSet<Key>,
28 #[mt_derive(to = "srv", repr = "u8")]
29 pub enum Interaction {
38 #[mt_derive(to = "srv", repr = "u8", tag = "type")]
39 #[mt(const_before = "0u8")] // version
40 pub enum PointedThing {
42 Node { under: [i16; 3], above: [i16; 3] },
46 #[mt_derive(to = "srv", repr = "u16", tag = "type", content = "data")]
50 serialize_version: u8,
51 #[mt(const_before = "1u16")] // supported compression
52 min_proto_version: u16,
53 max_proto_version: u16,
56 send_full_item_meta: bool,
71 PlayerPos(PlayerPos) = 35,
74 blocks: Vec<[i16; 3]>,
78 blocks: Vec<[i16; 3]>,
99 pointed: PointedThing,
108 #[mt(len = "(DefCfg, (DefCfg, u32))")]
109 fields: HashMap<String, String>,
113 #[mt(len = "(DefCfg, (DefCfg, u32))")]
114 fields: HashMap<String, String>,
117 filenames: Vec<String>,