use yog_core::BlockPos;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum EventPhase { Pre, Post }
#[derive(Debug, Clone)]
pub struct BlockBreakEvent {
pub player_name: String,
pub block_id: String,
pub pos: BlockPos,
}
#[derive(Debug, Clone)]
pub struct ChatEvent {
pub player_name: String,
pub message: String,
}
#[derive(Debug, Clone)]
pub struct PlayerJoinEvent {
pub player_name: String,
pub uuid: String,
}
#[derive(Debug, Clone)]
pub struct PlayerLeaveEvent {
pub player_name: String,
pub uuid: String,
}
#[derive(Debug, Clone)]
pub struct UseItemEvent {
pub player_name: String,
pub item_id: String,
}
#[derive(Debug, Clone)]
pub struct UseBlockEvent {
pub player_name: String,
pub block_id: String,
pub pos: BlockPos,
}
#[derive(Debug, Clone)]
pub struct AttackEntityEvent {
pub player_name: String,
pub target_type: String,
pub target_uuid: String,
}
#[derive(Debug, Clone)]
pub struct EntityDamageEvent {
pub entity_type: String,
pub uuid: String,
pub amount: f32,
pub source: String,
}
#[derive(Debug, Clone)]
pub struct EntityDeathEvent {
pub entity_type: String,
pub uuid: String,
pub source: String,
}
#[derive(Debug, Clone)]
pub struct PlaceBlockEvent {
pub player_name: String,
pub block_id: String,
pub pos: BlockPos,
}
#[derive(Debug, Clone)]
pub struct EntitySpawnEvent {
pub entity_type: String,
pub uuid: String,
pub dimension: String,
}
#[derive(Debug, Clone)]
pub struct PlayerDeathEvent {
pub player_name: String,
pub uuid: String,
pub source: String,
}
#[derive(Debug, Clone)]
pub struct PlayerRespawnEvent {
pub player_name: String,
pub uuid: String,
pub at_anchor: bool,
}
#[derive(Debug, Clone)]
pub struct AdvancementEvent {
pub player_name: String,
pub uuid: String,
pub advancement_id: String,
}
#[derive(Debug, Clone)]
pub struct EntityInteractEvent {
pub player_name: String,
pub player_uuid: String,
pub entity_type: String,
pub entity_uuid: String,
pub hand: String,
}
#[derive(Debug, Clone)]
pub struct CraftEvent {
pub player_name: String,
pub player_uuid: String,
pub result_item: String,
pub result_count: u32,
}
#[derive(Debug, Clone)]
pub struct ExplosionEvent {
pub dimension: String,
pub x: f64,
pub y: f64,
pub z: f64,
pub power: f32,
pub cause_uuid: String,
}
#[derive(Debug, Clone)]
pub struct ItemPickupEvent {
pub player_name: String,
pub player_uuid: String,
pub item_id: String,
pub item_count: u32,
pub entity_uuid: String,
}
#[derive(Debug, Clone)]
pub struct PlayerMoveEvent {
pub player_name: String,
pub player_uuid: String,
pub x: f64,
pub y: f64,
pub z: f64,
pub yaw: f32,
pub pitch: f32,
}
#[derive(Debug, Clone)]
pub struct ContainerOpenEvent {
pub player_name: String,
pub player_uuid: String,
pub container_type: String,
}
#[derive(Debug, Clone)]
pub struct ContainerCloseEvent {
pub player_name: String,
pub player_uuid: String,
}
#[derive(Debug, Clone)]
pub struct ClientTickEvent {}
#[derive(Debug, Clone)]
pub struct HudRenderEvent {
pub delta_tick: f32,
}
#[derive(Debug, Clone)]
pub struct KeyPressEvent {
pub key_code: i32,
pub scan_code: i32,
pub action: i32,
pub modifiers: i32,
}
#[derive(Debug, Clone)]
pub struct ScreenEvent {
pub screen_class: String,
}
#[derive(Debug, Clone)]
pub struct ProjectileHitEvent {
pub projectile_type: String,
pub projectile_uuid: String,
pub shooter_uuid: String,
pub hit_type: String,
pub hit_entity_uuid: String,
pub x: f64,
pub y: f64,
pub z: f64,
pub dimension: String,
}