package Ġjp . kat ana . server . network . packet . mc pe Ċ Ċ import Ġjp . kat ana . core . I Server Ċ import Ġjp . kat ana . core . actor . I Actor Player Ċ import Ġjp . kat ana . core . utils . read Vector 3 Ċ import Ġjp . kat ana . core . utils . write Vector 3 Ċ import Ġjp . kat ana . debug . append Indent Ċ import Ġjp . kat ana . debug . append Property Ċ import Ġjp . kat ana . math . Vector 3 Ċ import Ġjp . kat ana . server . actor . Actor Player Ċ Ċ class ĠMove Player Packet Ġ: ĠMinecraft Packet () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠMODE _ NORMAL : ĠByte Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠMODE _ RESET : ĠByte Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠMODE _ TELE PORT : ĠByte Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠMODE _ P ITCH : ĠByte Ġ= Ġ 3 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġpacket Id : ĠInt Ġ= ĠMinecraft Protocols . MOVE _ PLAYER _ PACKET ĊĊĠĠĠ Ġvar Ġactor Runtime Id : ĠLong Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġposition Ġ= ĠVector 3 . ZERO ĊĠĠĠ Ġvar Ġpitch : ĠFloat Ġ= Ġ 0 f ĊĠĠĠ Ġvar Ġyaw : ĠFloat Ġ= Ġ 0 f ĊĠĠĠ Ġvar Ġhead Y aw : ĠFloat Ġ= Ġ 0 f ĊĠĠĠ Ġvar Ġmode : ĠByte Ġ= ĠMODE _ NORMAL ĊĠĠĠ Ġvar Ġon Ground Ġ= Ġfalse ĊĠĠĠ Ġvar Ġr iding Runtime Id : ĠLong Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġtele port Cause Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġtele port Item Ġ= Ġ 0 ĊĊĠĠĠ Ġoverride Ġfun Ġdecode Payload () Ġ{ ĊĠĠĠĠĠĠĠ Ġactor Runtime Id Ġ= Ġread Actor Runtime Id () ĊĠĠĠĠĠĠĠ Ġposition Ġ= Ġread Vector 3 () ĊĠĠĠĠĠĠĠ Ġpitch Ġ= Ġread Float LE () ĊĠĠĠĠĠĠĠ Ġyaw Ġ= Ġread Float LE () ĊĠĠĠĠĠĠĠ Ġhead Y aw Ġ= Ġread Float LE () ĊĠĠĠĠĠĠĠ Ġmode Ġ= Ġread Byte () ĊĠĠĠĠĠĠĠ Ġon Ground Ġ= Ġread Boolean () ĊĠĠĠĠĠĠĠ Ġr iding Runtime Id Ġ= Ġread Actor Runtime Id () ĊĠĠĠĠĠĠĠ Ġif Ġ( mode Ġ== ĠMODE _ TELE PORT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtele port Cause Ġ= Ġread Int LE () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtele port Item Ġ= Ġread Int LE () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġencode Payload () Ġ{ ĊĠĠĠĠĠĠĠ Ġwrite Actor Runtime Id ( actor Runtime Id ) ĊĠĠĠĠĠĠĠ Ġwrite Vector 3 ( position ) ĊĠĠĠĠĠĠĠ Ġwrite Float LE ( pitch ) ĊĠĠĠĠĠĠĠ Ġwrite Float LE ( yaw ) ĊĠĠĠĠĠĠĠ Ġwrite Float LE ( head Y aw ) ĊĠĠĠĠĠĠĠ Ġwrite Byte ( mode ) ĊĠĠĠĠĠĠĠ Ġwrite Boolean ( on Ground ) ĊĠĠĠĠĠĠĠ Ġwrite Actor Runtime Id ( riding Runtime Id ) ĊĠĠĠĠĠĠĠ Ġif Ġ( mode Ġ== ĠMODE _ TELE PORT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Int LE ( tele port Cause ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Int LE ( tele port Item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhandle Server ( player : ĠI Actor Player , Ġserver : ĠI Server ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( player Ġis ĠActor Player ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . position Ġ= Ġposition ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . pitch Ġ= Ġpitch . toDouble () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . yaw Ġ= Ġyaw . toDouble () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// player . world !!. send Chunks ( player ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġto Print String () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprint ( builder : ĠStringBuilder , Ġindent : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . append Indent ("${ this . java Class . simple Name } Ġ: Ġ 0 x ${ packet Id . toString ( 1 6 )} Ġ{\ n ", Ġindent ) ĊĠĠĠĠĠĠĠ Ġbuilder . append Property ( Move Player Packet :: actor Runtime Id , Ġthis , Ġindent Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġbuilder . append Property ( Move Player Packet :: position , Ġthis , Ġindent Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġbuilder . append Property ( Move Player Packet :: pitch , Ġthis , Ġindent Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġbuilder . append Property ( Move Player Packet :: yaw , Ġthis , Ġindent Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġbuilder . append Property ( Move Player Packet :: head Y aw , Ġthis , Ġindent Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġbuilder . append Property ( Move Player Packet :: mode , Ġthis , Ġindent Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġbuilder . append Property ( Move Player Packet :: on Ground , Ġthis , Ġindent Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġbuilder . append Property ( Move Player Packet :: riding Runtime Id , Ġthis , Ġindent Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġbuilder . append Property ( Move Player Packet :: tele port Cause , Ġthis , Ġindent Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġbuilder . append Property ( Move Player Packet :: tele port Item , Ġthis , Ġindent Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġbuilder . append Indent (" }\ n ", Ġindent ) ĊĠĠĠ Ġ} Ċ } Ċ