package Ġme . ste ven . ind rev . utils Ċ Ċ import Ġio . github . cot ton mc . cot ton . gui . Sync ed Gui Description Ċ import Ġio . github . cot ton mc . cot ton . gui . widget . Tooltip Builder Ċ import Ġio . github . cot ton mc . cot ton . gui . widget . W Button Ċ import Ġio . github . cot ton mc . cot ton . gui . widget . W Grid Panel Ċ import Ġio . github . cot ton mc . cot ton . gui . widget . W Widget Ċ import Ġio . github . cot ton mc . cot ton . gui . widget . data . Horizontal Alignment Ċ import Ġme . ste ven . ind rev . block entities . Machine Block Entity Ċ import Ġme . ste ven . ind rev . block entities . cr after s . Upgrade Provider Ċ import Ġme . ste ven . ind rev . block entities . far ms . AO EM achine Block Entity Ċ import Ġme . ste ven . ind rev . gui . Patch oul i Entry Shortcut Ċ import Ġme . ste ven . ind rev . gui . widgets . machines . W Energy Ċ import Ġme . ste ven . ind rev . gui . widgets . machines . W Temperature Ċ import Ġme . ste ven . ind rev . gui . widgets . misc . W Book Entry Shortcut Ċ import Ġme . ste ven . ind rev . gui . widgets . misc . W Text Ċ import Ġme . ste ven . ind rev . gui . widgets . misc . W Tip Ċ import Ġme . ste ven . ind rev . gui . widgets . misc . W Tooltip ed Item Slot Ċ import Ġnet . minecraft . entity . player . Player Inventory Ċ import Ġnet . minecraft . inventory . Inventory Ċ import Ġnet . minecraft . item . ItemStack Ċ import Ġnet . minecraft . nbt . Compound Tag Ċ import Ġnet . minecraft . screen . Property Delegate Ċ import Ġnet . minecraft . screen . Screen HandlerContext Ċ import Ġnet . minecraft . text . Trans latable Text Ċ import Ġnet . minecraft . util . Formatting Ċ import Ġnet . minecraft . util . Identifier Ċ import Ġnet . minecraft . util . registry . Registry Ċ import Ġv az k ii . patch oul i . client . book . Client Book Registry Ċ Ċ fun ĠW Grid Panel . add ( w : ĠW Widget , Ġx : ĠDouble , Ġy : ĠDouble , Ġwidth : ĠDouble , Ġheight : ĠDouble ) Ġ{ ĊĠĠĠ Ġthis . add ( w , Ġx . toInt (), Ġy . toInt (), Ġwidth . toInt (), Ġheight . toInt ()) ĊĠĠĠ Ġw . setLocation (( x Ġ* Ġ 1 8 ). toInt (), Ġ( y Ġ* Ġ 1 8 ). toInt ()) Ċ } Ċ Ċ fun ĠW Grid Panel . add ( w : ĠW Widget , Ġx : ĠDouble , Ġy : ĠDouble ) Ġ{ ĊĠĠĠ Ġthis . add ( w , Ġx . toInt (), Ġy . toInt ()) ĊĠĠĠ Ġw . setLocation (( x Ġ* Ġ 1 8 ). toInt (), Ġ( y Ġ* Ġ 1 8 ). toInt ()) Ċ } Ċ Ċ fun ĠSync ed Gui Description . configure ( ĊĠĠĠ Ġtitle Id : ĠString , ĊĠĠĠ Ġscreen HandlerContext : ĠScreen HandlerContext , ĊĠĠĠ Ġplayer Inventory : ĠPlayer Inventory , ĊĠĠĠ Ġblock Inventory : ĠInventory , ĊĠĠĠ Ġproperty Delegate : ĠProperty Delegate Ċ ) Ġ{ ĊĠĠĠ Ġ( root Panel Ġas ĠW Grid Panel ). also Ġ{ Ġpanel Ġ-> ĊĠĠĠĠĠĠĠ Ġpanel . setSize ( 1 5 0 , Ġ 1 2 0 ) ĊĠĠĠĠĠĠĠ Ġpanel . add ( create Player Inventory Panel (), Ġ 0 , Ġ 5 ) ĊĠĠĠĠĠĠĠ Ġpanel . add ( W Text ( Trans latable Text ( title Id ), ĠHorizontal Alignment . CENTER , Ġ 0 x 4 0 4 0 4 0 ), Ġ 4 , Ġ 0 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġenergy Widget Ġ= ĠW Energy ( screen HandlerContext ) ĊĠĠĠĠĠĠĠ Ġpanel . add ( energy Widget , Ġ 0 , Ġ 0 , Ġ 1 6 , Ġ 6 4 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbattery Slot Ġ= ĠW Tooltip ed Item Slot . of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock Inventory , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTrans latable Text (" gui . ind rev . battery _ slot _ type "). formatted ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFormat ting . BLUE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFormat ting . ITAL IC ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġpanel . add ( battery Slot , Ġ 0 . 0 , Ġ 3 . 7 ) ĊĊĠĠĠĠĠĠĠ Ġscreen HandlerContext . run Ġ{ Ġworld , Ġblock Pos Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpanel . add ( W Tip ( world . random ), Ġ- 1 , Ġ- 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblock Entity Ġ= Ġworld . getBlock Entity ( block Pos ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( block Entity Ġis ĠUpgrade Provider ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ(( i , Ġslot ) Ġin Ġblock Entity . get Upgrade Slots (). with Index ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġs Ġ= ĠW Tooltip ed Item Slot . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblock Inventory , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġslot , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTrans latable Text (" gui . ind rev . upgrade _ slot _ type "). formatted ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFormat ting . BLUE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFormat ting . ITAL IC ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpanel . add ( s , Ġ 8 , Ġi ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( block Entity Ġis ĠMachine Block Entity Ġ&& Ġblock Entity . temperature Component Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontroller Ġ= Ġblock Entity . temperature Component !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpanel . add ( W Temperature ( property Delegate , Ġcontroller ), Ġ 1 , Ġ 0 , Ġ 1 6 , Ġ 6 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcool er Slot Ġ= ĠW Tooltip ed Item Slot . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblock Inventory , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTrans latable Text (" gui . ind rev . co oler _ slot _ type "). formatted ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFormat ting . BLUE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFormat ting . ITAL IC ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpanel . add ( co oler Slot , Ġ 1 . 0 , Ġ 3 . 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( block Entity Ġis ĠA O EM achine Block Entity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbutton Ġ= Ġobject Ġ: ĠW Button ( Trans latable Text (" block . ind rev . ao e . toggle . btn ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġadd Tooltip ( information : ĠTooltip Builder ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinformation ?. add ( Trans latable Text (" block . ind rev . ao e . toggle .${ block Entity . render Working Area } ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton . setOn Click Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblock Entity . render Working Area Ġ= Ġ! block Entity . render Working Area ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpanel . add ( button , Ġ 8 . 0 , Ġ 4 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġis ĠPatch oul i Entry Shortcut ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Book Entry Shortcut ( player Inventory , Ġpanel , Ġ 7 , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠPatch oul i Entry Shortcut . add Book Entry Shortcut ( player Inventory : ĠPlayer Inventory , Ġpanel : ĠW Grid Panel , Ġx : ĠInt , Ġy : ĠInt ) Ġ{ ĊĠĠĠ Ġval Ġcontains Book Ġ= ĊĠĠĠĠĠĠĠ Ġplayer Inventory . contains ( ItemStack ( Registry . ITEM [ Identifier (" patch oul i : guide _ book ")] ). also Ġ{ Ġstack Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstack . tag Ġ= ĠCompound Tag (). also Ġ{ Ġit . putString (" patch oul i : book ", Ġ" ind rev : ind rev ") Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġval Ġbutton Ġ= Ġobject Ġ: ĠW Book Entry Shortcut () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġadd Tooltip ( tooltip : ĠTooltip Builder ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( contains Book ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtooltip ?. add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTrans latable Text (" gui . ind rev . guide _ book _ shortcut . contains "). formatted ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFormat ting . BLUE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFormat ting . ITAL IC ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtooltip ?. add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTrans latable Text (" gui . ind rev . guide _ book _ shortcut . missing "). formatted ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFormat ting . RED , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFormat ting . ITAL IC ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( contains Book ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbutton . setOn Click Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClient Book Registry . INSTANCE . display Book Gui ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" ind rev : ind rev "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . getEntry (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . getPage () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġpanel . add ( button , Ġx , Ġy ) ĊĠĠĠ Ġbutton . setSize ( 1 6 , Ġ 1 6 ) Ċ }