rust_event::event!(
#[doc = "plugin message event"]
PluginMessageEvent(String, Vec<u8>)
);
pub async fn handle_plugin_message(player:String, data:Vec<u8>) {
println!("[PluginMessage] {}: {:?}",player,data);
}
#[tokio::main]
pub async fn main() -> Result<(), anyhow::Error> {
let bus = rust_event::AsyncEventBus::new();
rust_event::event_register_async!(bus,PluginMessageEvent, handle_plugin_message,(a,b)); bus.emit::<PluginMessageEvent>(("Earth Online".to_string(), vec![42])).await; rust_event::event_emit!(bus,PluginMessageEvent,("Earth Online".to_string(), vec![42])); tokio::time::sleep(std::time::Duration::from_secs(1)).await; Ok(())
}