package Ġxyz . t cre op arg h . version er . proxy Ċ Ċ import Ġcom . google . gson . Json Parser Ċ import Ġcom . google . gson . Json Syntax Exception Ċ import Ġnet . minecraftforge . fml . common . event . F ML Initialization Event Ċ import Ġnet . minecraftforge . fml . common . event . F ML Post Initialization Event Ċ import Ġnet . minecraftforge . fml . common . event . F ML Pre Initialization Event Ċ import Ġxyz . t cre op arg h . version er . Version er Ċ import Ġxyz . t cre op arg h . version er . config . enable Version Checking Ċ import Ġxyz . t cre op arg h . version er . config . version Data URL Ċ import Ġxyz . t cre op arg h . version er . data . Version Data Ċ import Ġxyz . t cre op arg h . version er . util . Network Handler Ċ import Ġxyz . t cre op arg h . version er . util . save Variables Ċ import Ġjava . io . IOException Ċ Ċ open Ġclass ĠCommon Proxy Ġ{ ĊĠĠĠ Ġopen Ġfun Ġpre Init ( event : ĠF ML Pre Initialization Event ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠVersion er . logger Ġ= Ġevent ?. mod Log ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġinit ( event : ĠF ML Initialization Event ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( enable Version Checking ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠThread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVersion er . logger ?. info (" Starting Ġto Ġfetch Ġversion Ġdata Ġfrom Ġ$ version Data URL ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson String Ġ= ĠNetwork Handler . read ToString ( version Data URL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Obj Ġ= ĠJson Parser (). parse ( json String ). as JsonObject ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVersion er . version Data Ġ= ĠVersion Data ( json Obj ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVersion er . logger ?. info (" Successfully Ġfetched Ġversion Ġdata : Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVersion er . logger ?. info ( Version er . version Data . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠJson Syntax Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVersion er . logger ?. error ( e . message , Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVersion er . logger ?. error ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Version Ġdata ĠJSON Ġsyntax Ġerror !" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVersion er . logger ?. error ( e . message , Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVersion er . logger ?. error ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Failed Ġto Ġfetch Ġversion Ġdata . ĠCheck Ġyour Ġnetwork Ġconnection ," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġif Ġyou Ġbelieve Ġit 's Ġnot Ġyour Ġproblem , Ġreport Ġthis Ġto Ġthe Ġmod pack Ġauthor ." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Version er ĠNetwork ĠThread " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. start () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsave Variables () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġpost Init ( event : ĠF ML Post Initialization Event ?) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġi 1 8 n Safe ( key : ĠString , Ġvar arg Ġobjects : ĠAny ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġkey ĊĠĠĠ Ġ} Ċ } Ċ