package Ġnet . nd rei . tes lap ower ed thing ies . machines . compound maker Ċ Ċ import Ġme zz . je i . api . IM od Registry Ċ import Ġme zz . je i . api . gui . ID raw able Ċ import Ġme zz . je i . api . gui . I Recipe Layout Ċ import Ġme zz . je i . api . ingredients . I Ing redients Ċ import Ġme zz . je i . api . recipe . I Recipe Category Registration Ċ import Ġme zz . je i . api . recipe . I Recipe Wrapper Ċ import Ġnet . minecraft . client . Minecraft Ċ import Ġnet . minecraft . item . ItemStack Ċ import Ġnet . minecraftforge . fluid s . Fluid Stack Ċ import Ġnet . minecraftforge . fml . rel a unch er . Side Ċ import Ġnet . minecraftforge . fml . rel a unch er . Side Only Ċ import Ġnet . nd rei . tes lac ore lib . utils . isEmpty Ċ import Ġnet . nd rei . tes lap ower ed thing ies . client . Thing ies Texture Ċ import Ġnet . nd rei . tes lap ower ed thing ies . integrations . je i . Base Category Ċ import Ġnet . nd rei . tes lap ower ed thing ies . integrations . je i . Tes la Thing y J ei Category Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠCF Ġon Ġ 2 0 1 7 - 0 7 - 0 6 . Ċ Ġ*/ Ċ @ Tes la Thing y J ei Category Ċ object ĠCompound Maker Category ĊĠĠĠ Ġ: ĠBase Category < Compound Maker Category . Recipe Wrapper >( Compound Maker Block ) Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġfluid Overlay : ĠID raw able ĊĊĠĠĠ Ġoverride Ġfun Ġset Recipe ( recipe Layout : ĠI Recipe Layout , Ġrecipe Wrapper : ĠRecipe Wrapper , Ġingredients : ĠI Ing redients ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrecipe Ġ= Ġrecipe Wrapper . recipe ĊĊĠĠĠĠĠĠĠ Ġval Ġfluid s Ġ= Ġrecipe Layout . fluid Stack s ĊĠĠĠĠĠĠĠ Ġvar Ġfluid Index Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġif Ġ(! recipe . left . isEmpty ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfluid s . init ( 0 , Ġtrue , Ġ 5 , Ġ 1 5 , Ġ 8 , Ġ 2 7 , Ġ 1 0 0 0 , Ġtrue , Ġfluid Overlay ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfluid s . set ( 0 , Ġrecipe . left ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfluid Index Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ(! recipe . right . isEmpty ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfluid s . init ( fluid Index , Ġtrue , Ġ 7 1 , Ġ 1 5 , Ġ 8 , Ġ 2 7 , Ġ 1 0 0 0 , Ġtrue , Ġfluid Overlay ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfluid s . set ( fluid Index , Ġrecipe . right ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġstacks Ġ= Ġrecipe Layout . item Stack s ĊĠĠĠĠĠĠĠ Ġvar Ġstack Index Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġrecipe . top . forEach Indexed Ġ{ Ġi , Ġit Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstacks . init ( stack Index , Ġtrue , Ġ 1 5 Ġ+ Ġi Ġ* Ġ 1 8 , Ġ 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstacks . set ( stack Index , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstack Index ++ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrecipe . bottom . forEach Indexed Ġ{ Ġi , Ġit Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstacks . init ( stack Index , Ġtrue , Ġ 1 5 Ġ+ Ġi Ġ* Ġ 1 8 , Ġ 3 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstacks . set ( stack Index , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstack Index ++ ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġstacks . init ( stack Index , Ġfalse , Ġ 9 2 , Ġ 2 0 ) ĊĠĠĠĠĠĠĠ Ġstacks . set ( stack Index , Ġrecipe . output ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠRecipe Wrapper ( val Ġrecipe : ĠCompound Maker Recipe ) ĊĠĠĠĠĠĠĠ Ġ: ĠI Recipe Wrapper Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Ing redients ( ingredients : ĠI Ing redients ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfluid s Ġ= Ġmutable ListOf < Fluid Stack >() ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( this . recipe . left , Ġthis . recipe . right ). map NotNull To ( fluid s ) Ġ{ Ġit ?. copy () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( fluid s . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġingredients . set Inputs ( Fluid Stack :: class . java , Ġfluid s ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitems Ġ= Ġmutable ListOf < ItemStack >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitems . addAll ( this . recipe . top ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitems . addAll ( this . recipe . bottom ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( items . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġingredients . set Inputs ( ItemStack :: class . java , Ġitems . map Ġ{ Ġit . copy () Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġingredients . setOutput ( ItemStack :: class . java , Ġthis . recipe . output . copy ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Side Only ( Side . CLIENT ) ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdraw Info ( minecraft : ĠMinecraft , Ġrecipe Width : ĠInt , Ġrecipe Height : ĠInt , Ġmouse X : ĠInt , ĠmouseY : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . draw Info ( minecraft , Ġrecipe Width , Ġrecipe Height , Ġmouse X , ĠmouseY ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġregister ( registry : ĠI Recipe Category Registration ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . register ( registry ) ĊĊĠĠĠĠĠĠĠ Ġthis . recipe Background Ġ= Ġthis . gui Helper . create Drawable ( Thing ies Texture . JE I _ TEXTURE S _ 2 . resource , Ġ 1 2 4 , Ġ 6 6 , Ġ 1 2 4 , Ġ 5 7 ) ĊĠĠĠĠĠĠĠ Ġfluid Overlay Ġ= Ġthis . gui Helper . create Drawable ( Thing ies Texture . JE I _ TEXTURE S . resource , Ġ 1 3 2 , Ġ 1 4 7 , Ġ 8 , Ġ 2 7 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġregister ( registry : ĠI Mod Registry ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . register ( registry ) ĊĊĠĠĠĠĠĠĠ Ġregistry . handle Recipes ( Compound Maker Recipe :: class . java , Ġ{ ĠRecipe Wrapper ( it ) Ġ}, Ġthis . uid ) ĊĠĠĠĠĠĠĠ Ġregistry . add Recipes ( Compound Maker Registry . getAll Recipes (), Ġthis . uid ) ĊĠĠĠ Ġ} Ċ } Ċ