package Ġme . ste ven . ind rev . compat . rei . categories Ċ Ċ import Ġme . s hed an iel . math . Point Ċ import Ġme . s hed an iel . math . Rectangle Ċ import Ġme . s hed an iel . rei . api . Entry Stack Ċ import Ġme . s hed an iel . rei . api . widgets . Widgets Ċ import Ġme . s hed an iel . rei . gui . widget . Widget Ċ import Ġme . ste ven . ind rev . compat . rei . plugins . IR Machine Plugin Ċ import Ġnet . minecraft . item . ItemStack Ċ import Ġnet . minecraft . util . Identifier Ċ Ċ class ĠI RS aw mill Recipe Category ( ĊĠĠĠ Ġidentifier : ĠIdentifier , ĊĠĠĠ Ġlogo : ĠEntry Stack , ĊĠĠĠ Ġcategory Name : ĠString Ċ ) Ġ: ĠIR Machine Recipe Category ( identifier , Ġlogo , Ġcategory Name ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġsetup Display ( recipe Display : ĠIR Machine Plugin , Ġbounds : ĠRectangle ): ĠMutable List < Widget > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrecipe Ġ= Ġrecipe Display . recipe ĊĠĠĠĠĠĠĠ Ġval Ġstart Point Ġ= ĠPoint ( bounds . center X Ġ- Ġ 4 1 , Ġbounds . center Y Ġ- Ġ 2 7 ) ĊĠĠĠĠĠĠĠ Ġval Ġwidgets : ĠMutable List < Widget > Ġ= ĠlistOf ( Widgets . create Category Base ( bounds )). to Mutable List () ĊĠĠĠĠĠĠĠ Ġwidgets . add ( Widgets . create Arrow ( Point ( start Point . x Ġ+ Ġ 2 4 , Ġstart Point . y Ġ+ Ġ 1 8 ))) ĊĠĠĠĠĠĠĠ Ġval Ġinput Ġ= Ġrecipe Display . input Entries ĊĠĠĠĠĠĠĠ Ġwidgets . add ( Widgets . create Slot ( Point ( start Point . x Ġ+ Ġ 1 , Ġstart Point . y Ġ+ Ġ 1 9 )). entries ( input [ 0 ])) ĊĠĠĠĠĠĠĠ Ġval Ġoutputs Ġ= Ġrecipe . outputs . map Ġ{ ĠEntry Stack . create ( it . stack ) Ġ} ĊĠĠĠĠĠĠĠ Ġwidgets . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWidget s . create Slot ( Point ( start Point . x Ġ+ Ġ 6 1 , Ġstart Point . y Ġ+ Ġ 6 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. entry ( outputs . getOrElse ( 0 ) Ġ{ ĠEntry Stack . create ( ItemStack . EMPTY ) Ġ}) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwidgets . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWidget s . create Slot ( Point ( start Point . x Ġ+ Ġ 6 1 , Ġstart Point . y Ġ+ Ġ 2 4 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. entry ( outputs . getOrElse ( 1 ) Ġ{ ĠEntry Stack . create ( ItemStack . EMPTY ) Ġ}) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwidgets . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWidget s . create Slot ( Point ( start Point . x Ġ+ Ġ 7 9 , Ġstart Point . y Ġ+ Ġ 6 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. entry ( outputs . getOrElse ( 2 ) Ġ{ ĠEntry Stack . create ( ItemStack . EMPTY ) Ġ}) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwidgets . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWidget s . create Slot ( Point ( start Point . x Ġ+ Ġ 7 9 , Ġstart Point . y Ġ+ Ġ 2 4 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. entry ( outputs . getOrElse ( 3 ) Ġ{ ĠEntry Stack . create ( ItemStack . EMPTY ) Ġ}) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġwidgets ĊĠĠĠ Ġ} Ċ Ċ }