package Ġme . ne zn amy . tab . platforms . k rypt on Ċ Ċ import Ġme . ne zn amy . tab . api . chat . I Chat Base Component Ċ import Ġme . ne zn amy . tab . api . protocol . Packet Play Out Boss Ċ import Ġme . ne zn amy . tab . api . protocol . Packet Play Out Boss . Action Ċ import Ġme . ne zn amy . tab . api . protocol . Packet Play Out Chat Ċ import Ġme . ne zn amy . tab . api . protocol . Packet Play Out Player List Header Footer Ċ import Ġme . ne zn amy . tab . api . protocol . Skin Ċ import Ġme . ne zn amy . tab . shared . IT ab Player Ċ import Ġme . ne zn amy . tab . shared . TAB Ċ import Ġnet . ky ori . ad venture . audience . MessageType Ċ import Ġnet . ky ori . ad venture . boss bar . Boss Bar Ċ import Ġnet . ky ori . ad venture . boss bar . Boss Bar . Color Ċ import Ġnet . ky ori . ad venture . boss bar . Boss Bar . Flag Ċ import Ġnet . ky ori . ad venture . boss bar . Boss Bar . Overlay Ċ import Ġnet . ky ori . ad venture . text . serializer . gson . Gson Component Serializer Ċ import Ġnet . ky ori . ad venture . text . serializer . legacy . Legacy Component Serializer Ċ import Ġorg . k rypt on mc . api . entity . player . Player Ċ import Ġorg . k rypt on mc . k rypt on . entity . player . K rypt on Player Ċ import Ġorg . k rypt on mc . k rypt on . packet . Packet Ċ import Ġjava . util . UUID Ċ Ċ class ĠK rypt on Tab Player ( ĊĠĠĠ Ġdelegate : ĠPlayer , ĊĠĠĠ Ġprotocol Version : ĠInt Ċ ) Ġ: ĠI Tab Player ( delegate , Ġdelegate . uuid , Ġdelegate . profile . name , Ġ" N / A ", Ġdelegate . world . name , Ġprotocol Version ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġdelegate Ġ= Ġdelegate Ġas ĠK rypt on Player ĊĠĠĠ Ġprivate Ġval Ġboss Bars Ġ= Ġmutable Map Of < UUID , ĠBo ss Bar >() ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġchannel Ġ= Ġthis . delegate . session . channel ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhas Permission ( permission : ĠString ): ĠBoolean Ġ= Ġdelegate . has Permission ( permission ) ĊĊĠĠĠ Ġoverride Ġfun Ġget Ping (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlatency Ġ= Ġdelegate . session . latency ĊĠĠĠĠĠĠĠ Ġif Ġ( latency Ġ> Ġ 1 0 0 0 0 Ġ|| Ġlatency Ġ< Ġ 0 ) Ġreturn Ġ- 1 ĊĠĠĠĠĠĠĠ Ġreturn Ġlatency ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsend Packet ( packet : ĠAny ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( packet Ġ== Ġnull ) Ġreturn ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( packet Ġis ĠPacket ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelegate . session . send ( packet ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( packet ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠPacket Play Out Boss Ġ-> Ġhandle ( packet ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠPacket Play Out Chat Ġ-> Ġhandle ( packet ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠPacket Play Out Player List Header Footer Ġ-> Ġhandle ( packet ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( exception : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTAB . getInstance (). error Manager . print Error (" An Ġerror Ġoccurred Ġwhen Ġsending Ġ${ packet . java Class . simple Name }", Ġexception ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhas In visibility P otion (): ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġis Dis gu ised (): ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġget Skin (): ĠSk in Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtextures Ġ= Ġdelegate . profile . properties . first OrNull Ġ{ Ġit . name Ġ== Ġ" textures " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġthrow ĠIllegalStateException (" User Ġdoes Ġnot Ġhave Ġany Ġskin Ġdata !") ĊĠĠĠĠĠĠĠ Ġreturn ĠSk in ( textures . value , Ġtextures . signature ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Player (): ĠPlayer Ġ= Ġdelegate ĊĊĠĠĠ Ġoverride Ġfun Ġis Online (): ĠBoolean Ġ= Ġdelegate . is Online ĊĊĠĠĠ Ġoverride Ġfun Ġis Van ished (): ĠBoolean Ġ= Ġdelegate . is Van ished ĊĊĠĠĠ Ġoverride Ġfun Ġget Game mode (): ĠInt Ġ= Ġdelegate . game Mode . ordinal ĊĊĠĠĠ Ġprivate Ġfun Ġhandle ( packet : ĠPacket Play Out Boss ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( packet . operation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction . ADD Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( boss Bars . containsKey ( packet . id )) Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbar Ġ= ĠBo ss Bar . boss Bar ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGson Component Serializer . gson (). deserialize ( I Chat Base Component . optimized Component ( packet . name ). toString ( getVersion ())), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpacket . pct , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColor . valueOf ( packet . color . toString ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOverlay . valueOf ( packet . overlay . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( packet . is Create World Fog ) Ġbar . add Flag ( Flag . CREATE _ WORLD _ FO G ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( packet . is Dar ken Screen ) Ġbar . add Flag ( Flag . D AR KEN _ SCREEN ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( packet . is Play Music ) Ġbar . add Flag ( Flag . PLAY _ BO SS _ M US IC ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġboss Bars [ packet . id ] Ġ= Ġbar ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelegate . show Boss Bar ( bar ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction . REMOVE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelegate . hide Boss Bar ( boss Bars [ packet . id ] Ġ?: Ġreturn ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġboss Bars . remove ( packet . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction . UPDATE _ P CT Ġ-> Ġboss Bars [ packet . id ]?. progress ( packet . pct ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction . UPDATE _ NAME Ġ-> Ġboss Bars [ packet . id ]?. name ( Legacy Component Serializer . legacy Section (). deserialize ( packet . name )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction . UPDATE _ STYLE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbar Ġ= Ġboss Bars [ packet . id ] Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbar . overlay ( Overlay . valueOf ( packet . overlay . toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbar . color ( Color . valueOf ( packet . color . toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction . UPDATE _ PROPERTIES Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbar Ġ= Ġboss Bars [ packet . id ] Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocess Flag ( bar , Ġpacket . is Create World Fog , ĠFlag . CREATE _ WORLD _ FO G ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocess Flag ( bar , Ġpacket . is Dar ken Screen , ĠFlag . D AR KEN _ SCREEN ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocess Flag ( bar , Ġpacket . is Play Music , ĠFlag . PLAY _ BO SS _ M US IC ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠUnit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhandle ( packet : ĠPacket Play Out Chat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= ĠGson Component Serializer . gson (). deserialize ( packet . message . toString ( version )) ĊĠĠĠĠĠĠĠ Ġif Ġ( packet . type Ġ=== ĠPacket Play Out Chat . Chat MessageType . GAME _ INFO ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAd venture Ġrecomm ends Ġthat Ġwe Ġsend Ġaction Ġbars Ġfor ĠGAME _ INFO , Ġwhich Ġis Ġwhy ĠGAME _ INFO Ġisn 't Ġin ĠMessageType ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelegate . send ActionBar ( message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdelegate . sendMessage ( message , ĠMessageType . valueOf ( packet . type . name )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhandle ( packet : ĠPacket Play Out Player List Header Footer ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġheader Ġ= ĠGson Component Serializer . gson (). deserialize ( packet . header . toString ( version )) ĊĠĠĠĠĠĠĠ Ġval Ġfooter Ġ= ĠGson Component Serializer . gson (). deserialize ( packet . footer . toString ( version )) ĊĠĠĠĠĠĠĠ Ġdelegate . send Player List Header And Footer ( header , Ġfooter ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġprocess Flag ( bar : ĠBo ss Bar , Ġtarget Value : ĠBoolean , Ġflag : ĠFlag ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( target Value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! bar . has Flag ( flag )) Ġbar . add Flag ( flag ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( bar . has Flag ( flag )) Ġbar . remove Flag ( flag ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ