package Ġmatter link Ċ Ċ import Ġcom . moj ang . auth lib . Game Profile Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġmatter link . bridge . command . IB ridge Command Ċ import Ġmatter link . command . Auth Command Ċ import Ġmatter link . command . Mat ter Link Command Ċ import Ġmatter link . command . Mat ter Link Command Sender Ċ import Ġmatter link . config . Base Config Ċ import Ġmatter link . config . cfg Ċ import Ġnet . minecraft . entity . player . Entity Player MP Ċ import Ġnet . minecraft . util . text . Text Component String Ċ import Ġnet . minecraftforge . common . Forge Version Ċ import Ġnet . minecraftforge . fml . common . F ML Common Handler Ċ import Ġnet . minecraftforge . fml . common . Mod Ċ import Ġnet . minecraftforge . fml . common . event . F ML Initialization Event Ċ import Ġnet . minecraftforge . fml . common . event . F ML Pre Initialization Event Ċ import Ġnet . minecraftforge . fml . common . event . F ML Server Starting Event Ċ import Ġnet . minecraftforge . fml . common . event . F ML Server Stopping Event Ċ import Ġorg . apache . logging . log 4 j . Level Ċ import Ġorg . apache . logging . log 4 j . core . config . Configurator Ċ import Ġjava . util . UUID ĊĊ Ċ @ Mod ( ĊĠĠĠ Ġmod id Ġ= ĠMOD ID , ĊĠĠĠ Ġname Ġ= ĠNAME , Ġversion Ġ= ĠMOD VERSION , ĊĠĠĠ Ġserver Side Only Ġ= Ġtrue , ĊĠĠĠ Ġuse Metadata Ġ= Ġtrue , ĊĠĠĠ Ġacceptable Remote Versions Ġ= Ġ"*", ĊĠĠĠ Ġmod Language Adapter Ġ= Ġ" net . shadow facts . forge lin . Kotlin Adapter ", ĊĠĠĠ Ġdependencies Ġ= ĠDE PEND ENCI ES Ċ ) Ċ object ĠMat ter Link Ġ: ĠI Mat ter Link () Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠConfigurator . setLevel ( MOD ID , ĠLevel . DEBUG ) ĊĠĠĠĠĠĠĠ Ġinstance Ġ= Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Mod . EventHandler ĊĠĠĠ Ġfun Ġpre Init ( event : ĠF ML Pre Initialization Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger Ġ= Ġwith ( event . mod Log ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠLogger Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġinfo ( message : ĠString ) Ġ= Ġthis @ with . info ( message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdebug ( message : ĠString ) Ġ= Ġthis @ with . debug ( message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġerror ( message : ĠString ) Ġ= Ġthis @ with . error ( message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġwarn ( message : ĠString ) Ġ= Ġthis @ with . warn ( message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġtrace ( message : ĠString ) Ġ= Ġthis @ with . trace ( message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġlogger . info (" Building Ġbridge !") ĊĊĠĠĠĠĠĠĠ Ġcfg Ġ= ĠBase Config ( event . mod Configuration Directory ). load () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Mod . EventHandler ĊĠĠĠ Ġfun Ġinit ( event : ĠF ML Initialization Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . debug (" Register ing Ġbridge Ġcommands ") ĊĠĠĠĠĠĠĠ Ġthis . register Bridge Commands () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Mod . EventHandler ĊĠĠĠ Ġfun Ġserver Starting ( event : ĠF ML Server Starting Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . debug (" Register ing Ġserver Ġcommands ") ĊĠĠĠĠĠĠĠ Ġevent . register Server Command ( Mat ter Link Command ) ĊĠĠĠĠĠĠĠ Ġevent . register Server Command ( Auth Command ) ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Mod . EventHandler ĊĠĠĠ Ġfun Ġserver Stopping ( event : ĠF ML Server Stopping Event ) Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ Ġstop () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// FOR GE - DEPEND ENT ĊĠĠĠ Ġoverride Ġfun Ġwrapped Send To Players ( msg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠF ML Common Handler . instance (). minecraft Server Instance . player List . sendMessage ( Text Component String ( msg )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwrapped Send To Player ( username : ĠString , Ġmsg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprofile Ġ= Ġprofile ByName ( username ) Ġ?: Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . error (" cannot Ġfind Ġplayer Ġby Ġname Ġ$ username ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġplayer Ġ= Ġplayer By Profile ( profile ) Ġ?: Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . error ("${ profile . name } Ġis Ġnot Ġonline ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġplayer . sendMessage ( Text Component String ( msg )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwrapped Send To Player ( uuid : ĠUUID , Ġmsg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprofile Ġ= Ġprofile By UUID ( uuid ) Ġ?: Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . error (" cannot Ġfind Ġplayer Ġby Ġuuid Ġ$ uuid ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġplayer Ġ= Ġplayer By Profile ( profile ) Ġ?: Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . error ("${ profile . name } Ġis Ġnot Ġonline ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġplayer . sendMessage ( Text Component String ( msg )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Online ( username : ĠString ) Ġ= ĊĠĠĠĠĠĠĠ ĠF ML Common Handler . instance (). minecraft Server Instance . online Player Names . contains ( username ) ĊĊĠĠĠ Ġprivate Ġfun Ġplayer By Profile ( game Profile : ĠGame Profile ): ĠEntity Player MP ? Ġ= ĊĠĠĠĠĠĠĠ ĠF ML Common Handler . instance (). minecraft Server Instance . player List . getPlayer By UUID ( game Profile . id ) ĊĊĠĠĠ Ġprivate Ġfun Ġprofile By UUID ( uuid : ĠUUID ): ĠGame Profile ? Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠ ĠF ML Common Handler . instance (). minecraft Server Instance . player Profile Cache . get Profile By UUID ( uuid ) ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠIllegalArgumentException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . warn (" cannot Ġfind Ġprofile Ġby Ġuuid Ġ$ uuid ") ĊĠĠĠĠĠĠĠ Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġprofile ByName ( username : ĠString ): ĠGame Profile ? Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠ ĠF ML Common Handler . instance (). minecraft Server Instance . player Profile Cache . get Game Profile For Username ( username ) ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠIllegalArgumentException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . warn (" cannot Ġfind Ġprofile Ġby Ġusername Ġ$ username ") ĊĠĠĠĠĠĠĠ Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcollect Players ( area : ĠArea ): ĠSet < UUID > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġplayers Ġ= ĠF ML Common Handler . instance (). minecraft Server Instance . player List . players . filter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( area . all Dimensions Ġ|| Ġarea . dimensions . contains ( it . dimension )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġarea . test In Bounds ( it . pos X . toInt (), Ġit . pos Y . toInt (), Ġit . pos Z . toInt ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġplayers . map Ġ{ Ġit . unique ID Ġ}. toSet () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġname To UUID ( username : ĠString ): ĠUUID ? Ġ= Ġprofile ByName ( username )?. id ĊĊĠĠĠ Ġoverride Ġfun Ġuuid To Name ( uuid : ĠUUID ): ĠString ? Ġ= Ġprofile By UUID ( uuid )?. name ĊĊĠĠĠ Ġoverride Ġfun Ġcommand Sender For ( ĊĠĠĠĠĠĠĠ Ġuser : ĠString , ĊĠĠĠĠĠĠĠ Ġenv : ĠI Bridge Command . Command Environment , ĊĠĠĠĠĠĠĠ Ġop : ĠBoolean ĊĠĠĠ Ġ) Ġ= ĠMat ter Link Command Sender ( user , Ġenv , Ġop ) ĊĊĠĠĠ Ġoverride Ġval Ġmc Version : ĠString Ġ= ĠMC VERSION ĊĠĠĠ Ġoverride Ġval Ġmod Version : ĠString Ġ= ĠMOD VERSION ĊĠĠĠ Ġoverride Ġval Ġbuild Number Ġ= ĠBUILD _ NUMBER ĊĠĠĠ Ġoverride Ġval Ġfor ge Version Ġ= ĠFor ge Version . getVersion () Ċ } Ċ