/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 1 - 2 0 2 2 , ĠVal ap he e . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . val ap he e . net code . mc je . network . packet . play Ċ Ċ import Ġcom . val ap he e . foundry . math . Double 2 Ċ import Ġcom . val ap he e . net code . mc je . network . Packet Ċ import Ġcom . val ap he e . net code . mc je . network . Packet Buffer Ċ import Ġcom . val ap he e . net code . mc je . network . Packet Reader Ċ import Ġcom . val ap he e . net code . mc je . network . Server Play Packet Handler Ċ Ċ /** Ċ Ġ* Ġ@ author ĠKevin ĠL ud w ig Ċ Ġ*/ Ċ class ĠServer Border Packet ( ĊĠĠĠ Ġval Ġaction : ĠAction , ĊĠĠĠ Ġval Ġcenter : ĠDouble 2 ?, ĊĠĠĠ Ġval Ġold Di ameter : ĠDouble , ĊĠĠĠ Ġval Ġdiameter : ĠDouble , ĊĠĠĠ Ġval Ġspeed : ĠLong , ĊĠĠĠ Ġval Ġportal Teleport Boundary : ĠInt , ĊĠĠĠ Ġval Ġwarning Time : ĠInt , ĊĠĠĠ Ġval Ġwarning Distance : ĠInt , Ċ ) Ġ: ĠPacket < Server Play Packet Handler > Ġ{ ĊĠĠĠ Ġenum Ġclass ĠAction Ġ{ ĊĠĠĠĠĠĠĠ ĠSet Size , ĠL erp Size , ĠSet Center , ĠInitialize , ĠSet Warning Time , ĠSet Warning Distance ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetId ( id : ĠInt , Ġversion : ĠInt ) Ġ= Ġif Ġ( version Ġ>= Ġ 7 5 8 ) Ġwhen Ġ( action ) Ġ{ ĊĠĠĠĠĠĠĠ ĠAction . Initialize Ġ-> Ġ 0 x 2 0 ĊĠĠĠĠĠĠĠ ĠAction . Set Center Ġ-> Ġ 0 x 4 2 ĊĠĠĠĠĠĠĠ ĠAction . Lerp Size Ġ-> Ġ 0 x 4 3 ĊĠĠĠĠĠĠĠ ĠAction . SetSize Ġ-> Ġ 0 x 4 4 ĊĠĠĠĠĠĠĠ ĠAction . Set Warning Time Ġ-> Ġ 0 x 4 5 ĊĠĠĠĠĠĠĠ ĠAction . Set Warning Distance Ġ-> Ġ 0 x 4 6 ĊĠĠĠ Ġ} Ġelse Ġid ĊĊĠĠĠ Ġoverride Ġfun Ġwrite ( buffer : ĠPacket Buffer , Ġversion : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( version Ġ< Ġ 7 5 8 ) Ġbuffer . write Var Int ( action . ordinal ) ĊĠĠĠĠĠĠĠ Ġwhen Ġ( action ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction . SetSize Ġ-> Ġbuffer . write Double ( diameter ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction . Lerp Size Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer . write Double ( old Di ameter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer . write Double ( diameter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer . write Var Long ( speed ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction . Set Center Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer . write Double ( center !!. x ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer . write Double ( center . y ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction . Initialize Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer . write Double ( center !!. x ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer . write Double ( center . y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer . write Double ( old Di ameter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer . write Double ( diameter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer . write Var Long ( speed ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer . write Var Int ( portal Teleport Boundary ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer . write Var Int ( warning Time ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer . write Var Int ( warning Distance ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction . Set Warning Time Ġ-> Ġbuffer . write Var Int ( warning Time ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction . Set Warning Distance Ġ-> Ġbuffer . write Var Int ( warning Distance ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhandle ( handler : ĠServer Play Packet Handler ) Ġ= Ġhandler . border ( this ) ĊĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= Ġ" Server Border Packet ( action =$ action , Ġcenter =$ center , Ġold Di ameter =$ old Di ameter , Ġdiameter =$ diameter , Ġspeed =$ speed , Ġportal Teleport Boundary =$ portal Teleport Boundary , Ġwarning Time =$ warning Time , Ġwarning Distance =$ warning Distance )" Ċ } Ċ Ċ /** Ċ Ġ* Ġ@ author ĠKevin ĠL ud w ig Ċ Ġ*/ Ċ object ĠServer Border Packet Reader Ġ: ĠPacket Reader Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġread ( buffer : ĠPacket Buffer , Ġversion : ĠInt ): ĠServer Border Packet Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠServer Border Packet . Action . values ()[ buffer . read Var Int ()] ĊĠĠĠĠĠĠĠ Ġval Ġcenter : ĠDouble 2 ? ĊĠĠĠĠĠĠĠ Ġval Ġold Di ameter : ĠDouble ĊĠĠĠĠĠĠĠ Ġval Ġdiameter : ĠDouble ĊĠĠĠĠĠĠĠ Ġval Ġspeed : ĠLong ĊĠĠĠĠĠĠĠ Ġval Ġportal Teleport Boundary : ĠInt ĊĠĠĠĠĠĠĠ Ġval Ġwarning Time : ĠInt ĊĠĠĠĠĠĠĠ Ġval Ġwarning Distance : ĠInt ĊĠĠĠĠĠĠĠ Ġwhen Ġ( action ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠServer Border Packet . Action . SetSize Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcenter Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Di ameter Ġ= Ġ 0 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdiameter Ġ= Ġbuffer . read Double () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspeed Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġportal Teleport Boundary Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwarning Time Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwarning Distance Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠServer Border Packet . Action . Lerp Size Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcenter Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Di ameter Ġ= Ġbuffer . read Double () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdiameter Ġ= Ġbuffer . read Double () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspeed Ġ= Ġbuffer . read Var Long () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġportal Teleport Boundary Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwarning Time Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwarning Distance Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠServer Border Packet . Action . Set Center Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcenter Ġ= ĠDouble 2 ( buffer . read Double (), Ġbuffer . read Double ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Di ameter Ġ= Ġ 0 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdiameter Ġ= Ġ 0 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspeed Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġportal Teleport Boundary Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwarning Time Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwarning Distance Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠServer Border Packet . Action . Initialize Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcenter Ġ= ĠDouble 2 ( buffer . read Double (), Ġbuffer . read Double ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Di ameter Ġ= Ġbuffer . read Double () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdiameter Ġ= Ġbuffer . read Double () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspeed Ġ= Ġbuffer . read Var Long () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġportal Teleport Boundary Ġ= Ġbuffer . read Var Int () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwarning Time Ġ= Ġbuffer . read Var Int () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwarning Distance Ġ= Ġbuffer . read Var Int () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠServer Border Packet . Action . Set Warning Time Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcenter Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Di ameter Ġ= Ġ 0 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdiameter Ġ= Ġ 0 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspeed Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġportal Teleport Boundary Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwarning Time Ġ= Ġbuffer . read Var Int () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwarning Distance Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠServer Border Packet . Action . Set Warning Distance Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcenter Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Di ameter Ġ= Ġ 0 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdiameter Ġ= Ġ 0 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspeed Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġportal Teleport Boundary Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwarning Time Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwarning Distance Ġ= Ġbuffer . read Var Int () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠServer Border Packet ( action , Ġcenter , Ġold Di ameter , Ġdiameter , Ġspeed , Ġportal Teleport Boundary , Ġwarning Time , Ġwarning Distance ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* Ġ@ author ĠKevin ĠL ud w ig Ċ Ġ*/ Ċ object ĠServer Border Initialize Packet Reader Ġ: ĠPacket Reader Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġread ( buffer : ĠPacket Buffer , Ġversion : ĠInt ) Ġ= ĠServer Border Packet ( Server Border Packet . Action . Initialize , ĠDouble 2 ( buffer . read Double (), Ġbuffer . read Double ()), Ġbuffer . read Double (), Ġbuffer . read Double (), Ġbuffer . read Var Long (), Ġbuffer . read Var Int (), Ġbuffer . read Var Int (), Ġbuffer . read Var Int ()) Ċ } Ċ Ċ /** Ċ Ġ* Ġ@ author ĠKevin ĠL ud w ig Ċ Ġ*/ Ċ object ĠServer Border Set Center Packet Reader Ġ: ĠPacket Reader Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġread ( buffer : ĠPacket Buffer , Ġversion : ĠInt ) Ġ= ĠServer Border Packet ( Server Border Packet . Action . Set Center , ĠDouble 2 ( buffer . read Double (), Ġbuffer . read Double ()), Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 , Ġ 0 , Ġ 0 , Ġ 0 ) Ċ } Ċ Ċ /** Ċ Ġ* Ġ@ author ĠKevin ĠL ud w ig Ċ Ġ*/ Ċ object ĠServer Border Lerp Size Packet Reader Ġ: ĠPacket Reader Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġread ( buffer : ĠPacket Buffer , Ġversion : ĠInt ) Ġ= ĠServer Border Packet ( Server Border Packet . Action . Lerp Size , Ġnull , Ġbuffer . read Double (), Ġbuffer . read Double (), Ġbuffer . read Var Long (), Ġ 0 , Ġ 0 , Ġ 0 ) Ċ } Ċ Ċ /** Ċ Ġ* Ġ@ author ĠKevin ĠL ud w ig Ċ Ġ*/ Ċ object ĠServer Border SetSize Packet Reader Ġ: ĠPacket Reader Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġread ( buffer : ĠPacket Buffer , Ġversion : ĠInt ) Ġ= ĠServer Border Packet ( Server Border Packet . Action . SetSize , Ġnull , Ġ 0 . 0 , Ġbuffer . read Double (), Ġ 0 , Ġ 0 , Ġ 0 , Ġ 0 ) Ċ } Ċ Ċ /** Ċ Ġ* Ġ@ author ĠKevin ĠL ud w ig Ċ Ġ*/ Ċ object ĠServer Border Set Warning Time Packet Reader Ġ: ĠPacket Reader Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġread ( buffer : ĠPacket Buffer , Ġversion : ĠInt ) Ġ= ĠServer Border Packet ( Server Border Packet . Action . Set Warning Time , Ġnull , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 , Ġ 0 , Ġbuffer . read Var Int (), Ġ 0 ) Ċ } Ċ Ċ /** Ċ Ġ* Ġ@ author ĠKevin ĠL ud w ig Ċ Ġ*/ Ċ object ĠServer Border Set Warning Distance Packet Reader Ġ: ĠPacket Reader Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġread ( buffer : ĠPacket Buffer , Ġversion : ĠInt ) Ġ= ĠServer Border Packet ( Server Border Packet . Action . Set Warning Distance , Ġnull , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 , Ġ 0 , Ġ 0 , Ġbuffer . read Var Int ()) Ċ } Ċ