feat: add set_passengers event
This commit is contained in:
		| @@ -6,7 +6,7 @@ use crate::{ | |||||||
|     http::serve, |     http::serve, | ||||||
|     lua::{self, events::register_functions, player::Player}, |     lua::{self, events::register_functions, player::Player}, | ||||||
| }; | }; | ||||||
| use azalea::prelude::*; | use azalea::{prelude::*, protocol::packets::game::ClientboundGamePacket}; | ||||||
| use hyper::{server::conn::http1, service::service_fn}; | use hyper::{server::conn::http1, service::service_fn}; | ||||||
| use hyper_util::rt::TokioIo; | use hyper_util::rt::TokioIo; | ||||||
| use log::{debug, error, info, trace}; | use log::{debug, error, info, trace}; | ||||||
| @@ -51,10 +51,10 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> anyhow: | |||||||
|             call_listeners(&state, "chat", formatted_message.to_string()).await; |             call_listeners(&state, "chat", formatted_message.to_string()).await; | ||||||
|         } |         } | ||||||
|         Event::Death(Some(packet)) => { |         Event::Death(Some(packet)) => { | ||||||
|             let death_data = state.lua.create_table()?; |             let table = state.lua.create_table()?; | ||||||
|             death_data.set("message", packet.message.to_string())?; |             table.set("message", packet.message.to_string())?; | ||||||
|             death_data.set("player_id", packet.player_id.0)?; |             table.set("player_id", packet.player_id.0)?; | ||||||
|             call_listeners(&state, "death", death_data).await; |             call_listeners(&state, "death", table).await; | ||||||
|         } |         } | ||||||
|         Event::Disconnect(message) => { |         Event::Disconnect(message) => { | ||||||
|             call_listeners(&state, "disconnect", message.map(|m| m.to_string())).await; |             call_listeners(&state, "disconnect", message.map(|m| m.to_string())).await; | ||||||
| @@ -68,6 +68,14 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> anyhow: | |||||||
|         Event::UpdatePlayer(player_info) => { |         Event::UpdatePlayer(player_info) => { | ||||||
|             call_listeners(&state, "update_player", Player::from(player_info)).await; |             call_listeners(&state, "update_player", Player::from(player_info)).await; | ||||||
|         } |         } | ||||||
|  |         Event::Packet(packet) => { | ||||||
|  |             if let ClientboundGamePacket::SetPassengers(packet) = packet.as_ref() { | ||||||
|  |                 let table = state.lua.create_table()?; | ||||||
|  |                 table.set("vehicle", packet.vehicle)?; | ||||||
|  |                 table.set("passengers", &*packet.passengers)?; | ||||||
|  |                 call_listeners(&state, "set_passengers", table).await; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|         Event::Init => { |         Event::Init => { | ||||||
|             debug!("client initialized"); |             debug!("client initialized"); | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user