package Ġcom . k ne el awk . w ired red stone . compat . rei Ċ Ċ import Ġcom . k ne el awk . w ired red stone . recipe . Red stone Assembler Recipe Ċ import Ġcom . k ne el awk . w ired red stone . recipe . Red stone Assembler Sh aped Recipe Ċ import Ġcom . k ne el awk . w ired red stone . recipe . Red stone Assembler Shape less Recipe Ċ import Ġme . s hed an iel . rei . api . common . category . Category Identifier Ċ import Ġme . s hed an iel . rei . api . common . display . Display Ċ import Ġme . s hed an iel . rei . api . common . display . Display Serializer Ċ import Ġme . s hed an iel . rei . api . common . entry . Entry Ingredient Ċ import Ġme . s hed an iel . rei . api . common . util . Entry Ing redients Ċ import Ġnet . minecraft . nbt . N bt Compound Ċ import Ġnet . minecraft . nbt . N bt Element Ċ import Ġnet . minecraft . nbt . N bt List Ċ Ċ class ĠRed stone Assembler Display ( ĊĠĠĠ Ġval Ġwidth : ĠInt , Ġval Ġheight : ĠInt , Ġval Ġinput : ĠList < Entry Ingredient >, ĊĠĠĠ Ġval Ġoutput : ĠList < Entry Ingredient >, Ġval Ġenergy Per Tick : ĠInt , Ġval Ġcook Time : ĠInt , Ġval Ġis Shape less : ĠBoolean Ċ ) Ġ: ĠDisplay Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġof ( recipe : ĠRed stone Assembler Recipe ): ĠRed stone Assembler Display ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( recipe ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠRed stone Assembler Sh aped Recipe Ġ-> ĠRed stone Assembler Display ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrecipe . width , Ġrecipe . height , ĠEntry Ing redients . of Ing redients ( recipe . ingredients ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Entry Ing redients . of ( recipe . output )), Ġrecipe . energy Per Tick , Ġrecipe . cook Time , Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠRed stone Assembler Shape less Recipe Ġ-> ĠRed stone Assembler Display ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 , Ġ 3 , ĠEntry Ing redients . of Ing redients ( recipe . ingredients ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Entry Ing redients . of ( recipe . output )), Ġrecipe . energy Per Tick , Ġrecipe . cook Time , Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Input Entries (): ĠList < Entry Ingredient > Ġ= Ġinput ĊĊĠĠĠ Ġoverride Ġfun Ġget Output Entries (): ĠList < Entry Ingredient > Ġ= Ġoutput ĊĊĠĠĠ Ġoverride Ġfun Ġget Category Identifier (): ĠCategory Identifier < *> Ġ= ĠW ired Red stone RE I . RED ST ONE _ AS SE MB LER _ CATEGORY ĊĊĠĠĠ Ġobject ĠSerializer Ġ: ĠDisplay Serializer < Red stone Assembler Display > Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġsave ( tag : ĠNbt Compound , Ġdisplay : ĠRed stone Assembler Display ): ĠNbt Compound Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( display ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtag . put Byte (" width ", Ġwidth . to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtag . put Byte (" height ", Ġheight . to Byte ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinput List Ġ= ĠNbt List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġinput ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput List . add ( i . save ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtag . put (" input ", Ġinput List ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoutput List Ġ= ĠNbt List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( o Ġin Ġoutput ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutput List . add ( o . save ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtag . put (" output ", Ġoutput List ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtag . put Int (" energy Per Tick ", Ġenergy Per Tick ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtag . put Int (" cook Time ", Ġcook Time ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtag . put Boolean (" shape less ", Ġis Shape less ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtag ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġread ( tag : ĠNbt Compound ): ĠRed stone Assembler Display Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwidth Ġ= Ġtag . getByte (" width "). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġheight Ġ= Ġtag . getByte (" height "). toInt () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinput Ġ= Ġtag . getList (" input ", ĠNbt Element . LIST _ TYPE . toInt ()). map Ġ{ ĠEntry Ingredient . read ( it Ġas ĠNbt List ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoutput Ġ= Ġtag . getList (" output ", ĠNbt Element . LIST _ TYPE . toInt ()). map Ġ{ ĠEntry Ingredient . read ( it Ġas ĠNbt List ) Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġenergy Per Tick Ġ= Ġtag . getInt (" energy Per Tick ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcook Time Ġ= Ġtag . getInt (" cook Time ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġshape less Ġ= Ġtag . getBoolean (" shape less ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠRed stone Assembler Display ( width , Ġheight , Ġinput , Ġoutput , Ġenergy Per Tick , Ġcook Time , Ġshape less ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ