@ file : Suppress (" unused ") Ċ package Ġcom . zy gz ag . mod browser Ċ Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . google . gson . Json Parser Ċ import Ġcom . google . gson . stream . Json Reader Ċ import Ġcom . terraform ers mc . mod menu . Mod Menu Ċ import Ġcom . terraform ers mc . mod menu . api . Mod Menu Api Ċ import Ġnet . minecraft . client . gui . widget . Abstract Button Widget Ċ Ċ import Ġnet . minecraft . client . Minecraft Client Ċ Ċ import Ġcom . terraform ers mc . mod menu . config . Mod Menu Config Ċ import Ġcom . terraform ers mc . mod menu . gui . Mod Menu Options Screen Ċ import Ġcom . terraform ers mc . mod menu . gui . Mods Screen Ċ Ċ import Ġcom . terraform ers mc . mod menu . gui . widget . Mod Menu Button Widget Ċ import Ġcom . zy gz ag . mod browser . widgets . Mod Browser Button Widget Ċ Ċ import Ġnet . fabric mc . fabric . api . client . screen . v 1 . Scre ens Ċ Ċ import Ġnet . minecraft . client . gui . screen . Title Screen Ċ Ċ import Ġnet . fabric mc . fabric . api . client . screen . v 1 . Screen Events Ċ import Ġnet . fabric mc . fabric . api . client . screen . v 1 . Screen Events . After Init Ċ import Ġnet . fabric mc . loader . Fabric Loader Ċ import Ġnet . minecraft . client . gui . screen . Screen Ċ import Ġnet . minecraft . text . Trans latable Text Ċ import Ġnet . minecraft . util . Identifier Ċ import Ġjava . io . String Reader Ċ import Ġjava . net . Http URLConnection Ċ import Ġjava . net . URL Ċ import Ġjava . util .* Ċ Ċ private Ġval ĠF AB RIC _ ICON _ BUTTON _ LOCATION : ĠIdentifier Ġ= ĠIdentifier ( Mod Menu . MOD _ ID , Ġ" textures / gui / mods _ button . png ") Ċ Ċ fun Ġinit () Ġ{ ĊĠĠĠ ĠScreen Events . AFTER _ INIT . register ( After Init Ġ{ Ġclient : ĠMinecraft Client ?, Ġscreen : ĠScreen ?, Ġscaled Width : ĠInt , Ġscaled Height : ĠInt Ġ-> ĊĠĠĠĠĠĠĠ Ġif Ġ( screen Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġafter Screen Init ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscreen , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscaled Width , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscaled Height ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}) ĊĠĠĠ Ġmain () Ċ } Ċ Ċ fun Ġafter Screen Init ( client : ĠMinecraft Client ?, Ġscreen : ĠScreen , Ġscaled Width : ĠInt , Ġscaled Height : ĠInt ) Ġ{ ĊĠĠĠ Ġif Ġ( screen Ġis ĠTitle Screen ) Ġ{ ĊĠĠĠĠĠĠĠ Ġafter Title Screen Init ( screen ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun Ġafter Title Screen Init ( screen : ĠScreen ) Ġ{ ĊĠĠĠ Ġif Ġ( Mod Menu Config . MO DIFY _ TITLE _ SCREEN . value ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuttons Ġ= ĠS cre ens . get Buttons ( screen ) ĊĠĠĠĠĠĠĠ Ġval Ġspacing Ġ= Ġ 2 4 ĊĠĠĠĠĠĠĠ Ġval Ġbuttons Y : ĠInt Ġ= Ġscreen . height Ġ/ Ġ 4 ĊĠĠĠĠĠĠĠ Ġbuttons . add ( Mod Browser Button Widget ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscreen . width Ġ/ Ġ 2 Ġ+ Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuttons Y Ġ+ Ġspacing Ġ* Ġ 5 Ġ- Ġ 1 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 9 8 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTrans latable Text (" Mod ĠBrowser Ġ( WIP )"), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscreen ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun Ġshift Buttons ( button : ĠAbstract Button Widget , Ġshift Up : ĠBoolean , Ġspacing : ĠInt ) Ġ{ ĊĠĠĠ Ġif Ġ( shift Up ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbutton . y Ġ-= Ġspacing Ġ/ Ġ 2 ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġbutton . y Ġ+= Ġspacing Ġ- Ġspacing Ġ/ Ġ 2 ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġget JSONObject From URL ( url : ĠURL ): ĠString Ġ{ ĊĠĠĠ Ġval Ġsb Ġ= ĠStringBuffer () ĊĠĠĠ Ġval Ġstream Ġ= ĠScanner ( url . open Stream ()) ĊĠĠĠ Ġwhile Ġ( stream . hasNext ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġsb . append ( stream . next ()) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġsb . toString () Ċ } Ċ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġval Ġparser Ġ= ĠJson Parser () ĊĠĠĠ Ġval Ġurl Ġ= ĠURL (" https :// api . github . com / repos / Z yg Z ag G aming / Mod - Browser - Files / contents / mods . json ") ĊĠĠĠ Ġval Ġconnection Ġ= Ġurl . open Connection () ĊĠĠĠ Ġconnection . get OutputStream () ĊĠĠĠ Ġval Ġs Ġ= Ġget JSONObject From URL ( url ) ĊĠĠĠ Ġval Ġcontent Ġ= Ġparser . parse ( String ( Base 6 4 . get Decoder (). decode ( parser . parse ( Json Reader ( String Reader ( s ))). as JsonObject . get (" content "). asString . replace ("\ n ", Ġ"")) )) Ċ } Ċ