use basalt_types::Uuid;
use basalt_types::nbt::NbtCompound;
#[derive(Debug, Clone)]
pub struct ProfileProperty {
pub name: String,
pub value: String,
pub signature: Option<String>,
}
#[derive(Debug, Clone)]
pub struct PlayerSnapshot {
pub username: String,
pub uuid: Uuid,
pub entity_id: i32,
pub x: f64,
pub y: f64,
pub z: f64,
pub yaw: f32,
pub pitch: f32,
pub skin_properties: Vec<ProfileProperty>,
}
#[derive(Debug, Clone)]
pub enum BroadcastMessage {
Chat {
content: NbtCompound,
},
PlayerJoined {
info: PlayerSnapshot,
},
PlayerLeft {
uuid: Uuid,
entity_id: i32,
username: String,
},
EntityMoved {
entity_id: i32,
x: f64,
y: f64,
z: f64,
yaw: f32,
pitch: f32,
on_ground: bool,
},
BlockChanged {
x: i32,
y: i32,
z: i32,
block_state: i32,
},
}