@@ -415,6 +415,7 @@ impl Server {
415415 MultiBlockChange_u16 => on_multi_block_change_u16,
416416 TeleportPlayer_WithConfirm => on_teleport_player_withconfirm,
417417 TeleportPlayer_NoConfirm => on_teleport_player_noconfirm,
418+ TeleportPlayer_OnGround => on_teleport_player_onground,
418419 TimeUpdate => on_time_update,
419420 ChangeGameState => on_game_state_change,
420421 UpdateBlockEntity => on_block_entity_update,
@@ -1000,6 +1001,11 @@ impl Server {
10001001 self . on_teleport_player ( teleport. x , teleport. y , teleport. z , teleport. yaw as f64 , teleport. pitch as f64 , teleport. flags , None )
10011002 }
10021003
1004+ fn on_teleport_player_onground ( & mut self , teleport : packet:: play:: clientbound:: TeleportPlayer_OnGround ) {
1005+ let flags: u8 = 0 ; // always absolute
1006+ self . on_teleport_player ( teleport. x , teleport. eyes_y - 1.62 , teleport. z , teleport. yaw as f64 , teleport. pitch as f64 , flags, None )
1007+ }
1008+
10031009 fn on_teleport_player ( & mut self , x : f64 , y : f64 , z : f64 , yaw : f64 , pitch : f64 , flags : u8 , teleport_id : Option < protocol:: VarInt > ) {
10041010 use std:: f64:: consts:: PI ;
10051011 if let Some ( player) = self . player {
0 commit comments