/* Ċ Ġ* ĠMIT ĠLicense Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 7 ĠI an ĠC ron k right Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ċ Ġ* Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE Ċ Ġ* ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġcom . github . tx ur itan . ment al . script . common . utils Ċ Ċ import Ġcom . github . tx ur itan . ment al . script . common . IG lobal Ċ import Ġnet . minecraftforge . fml . common . registry . Game Registry Ċ import Ġnet . minecraftforge . ore dict . O re Dictionary Ċ import Ġnet . minecraftforge . ore dict . Sh aped O re Recipe Ċ import Ġorg . lu aj . vm 2 . Lua Value Ċ Ċ /** Ċ Ġ* Ġ@ author ĠI an Ġ' Tx ur itan / Capt ain ĠD aro ' Ma ' So h ni ĠT av ia ' ĠC ron k right Ċ Ġ*/ Ċ class ĠRecipe Ġ: ĠI Global Ġ{ ĊĠĠĠ Ġoverride Ġvar Ġname Ġ: ĠString Ġ= Ġ" recipe " ĊĊĠĠĠ Ġfun Ġadd Sh aped Recipe ( output Ġ: ĠLua Value , Ġcraft ing Ġ: ĠLua Value , Ġelements Ġ: ĠLua Value ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Sh aped O re Recipe ( output Ġ: ĠLua Value , Ġcraft ing Ġ: ĠLua Value , Ġelements Ġ: ĠLua Value ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( elements . length () Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGame Registry . add Recipe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSh aped O re Recipe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠO re Dictionary . get O res ( output . to j string ())[ 0 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcraft ing . get ( 1 ), Ġcraft ing . get ( 2 ), Ġcraft ing . get ( 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 1 ). get ( 1 ). to char (), Ġelements . get ( 1 ). get ( 2 ). to j string () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( elements . length () Ġ== Ġ 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGame Registry . add Recipe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSh aped O re Recipe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠO re Dictionary . get O res ( output . to j string ())[ 0 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcraft ing . get ( 1 ), Ġcraft ing . get ( 2 ), Ġcraft ing . get ( 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 1 ). get ( 1 ). to char (), Ġelements . get ( 1 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 2 ). get ( 1 ). to char (), Ġelements . get ( 2 ). get ( 2 ). to j string () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( elements . length () Ġ== Ġ 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGame Registry . add Recipe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSh aped O re Recipe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠO re Dictionary . get O res ( output . to j string ())[ 0 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcraft ing . get ( 1 ), Ġcraft ing . get ( 2 ), Ġcraft ing . get ( 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 1 ). get ( 1 ). to char (), Ġelements . get ( 1 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 2 ). get ( 1 ). to char (), Ġelements . get ( 2 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 3 ). get ( 1 ). to char (), Ġelements . get ( 3 ). get ( 2 ). to j string () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( elements . length () Ġ== Ġ 4 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGame Registry . add Recipe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSh aped O re Recipe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠO re Dictionary . get O res ( output . to j string ())[ 0 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcraft ing . get ( 1 ), Ġcraft ing . get ( 2 ), Ġcraft ing . get ( 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 1 ). get ( 1 ). to char (), Ġelements . get ( 1 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 2 ). get ( 1 ). to char (), Ġelements . get ( 2 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 3 ). get ( 1 ). to char (), Ġelements . get ( 3 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 4 ). get ( 1 ). to char (), Ġelements . get ( 4 ). get ( 2 ). to j string () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( elements . length () Ġ== Ġ 5 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGame Registry . add Recipe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSh aped O re Recipe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠO re Dictionary . get O res ( output . to j string ())[ 0 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcraft ing . get ( 1 ), Ġcraft ing . get ( 2 ), Ġcraft ing . get ( 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 1 ). get ( 1 ). to char (), Ġelements . get ( 1 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 2 ). get ( 1 ). to char (), Ġelements . get ( 2 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 3 ). get ( 1 ). to char (), Ġelements . get ( 3 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 4 ). get ( 1 ). to char (), Ġelements . get ( 4 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 5 ). get ( 1 ). to char (), Ġelements . get ( 5 ). get ( 2 ). to j string () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( elements . length () Ġ== Ġ 6 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGame Registry . add Recipe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSh aped O re Recipe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠO re Dictionary . get O res ( output . to j string ())[ 0 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcraft ing . get ( 1 ), Ġcraft ing . get ( 2 ), Ġcraft ing . get ( 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 1 ). get ( 1 ). to char (), Ġelements . get ( 1 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 2 ). get ( 1 ). to char (), Ġelements . get ( 2 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 3 ). get ( 1 ). to char (), Ġelements . get ( 3 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 4 ). get ( 1 ). to char (), Ġelements . get ( 4 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 5 ). get ( 1 ). to char (), Ġelements . get ( 5 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 6 ). get ( 1 ). to char (), Ġelements . get ( 6 ). get ( 2 ). to j string () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( elements . length () Ġ== Ġ 7 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGame Registry . add Recipe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSh aped O re Recipe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠO re Dictionary . get O res ( output . to j string ())[ 0 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcraft ing . get ( 1 ), Ġcraft ing . get ( 2 ), Ġcraft ing . get ( 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 1 ). get ( 1 ). to char (), Ġelements . get ( 1 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 2 ). get ( 1 ). to char (), Ġelements . get ( 2 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 3 ). get ( 1 ). to char (), Ġelements . get ( 3 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 4 ). get ( 1 ). to char (), Ġelements . get ( 4 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 5 ). get ( 1 ). to char (), Ġelements . get ( 5 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 6 ). get ( 1 ). to char (), Ġelements . get ( 6 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 7 ). get ( 1 ). to char (), Ġelements . get ( 7 ). get ( 2 ). to j string () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( elements . length () Ġ== Ġ 8 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGame Registry . add Recipe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSh aped O re Recipe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠO re Dictionary . get O res ( output . to j string ())[ 0 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcraft ing . get ( 1 ), Ġcraft ing . get ( 2 ), Ġcraft ing . get ( 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 1 ). get ( 1 ). to char (), Ġelements . get ( 1 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 2 ). get ( 1 ). to char (), Ġelements . get ( 2 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 3 ). get ( 1 ). to char (), Ġelements . get ( 3 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 4 ). get ( 1 ). to char (), Ġelements . get ( 4 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 5 ). get ( 1 ). to char (), Ġelements . get ( 5 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 6 ). get ( 1 ). to char (), Ġelements . get ( 6 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 7 ). get ( 1 ). to char (), Ġelements . get ( 7 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 8 ). get ( 1 ). to char (), Ġelements . get ( 8 ). get ( 2 ). to j string () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( elements . length () Ġ== Ġ 9 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGame Registry . add Recipe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSh aped O re Recipe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠO re Dictionary . get O res ( output . to j string ())[ 0 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcraft ing . get ( 1 ), Ġcraft ing . get ( 2 ), Ġcraft ing . get ( 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 1 ). get ( 1 ). to char (), Ġelements . get ( 1 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 2 ). get ( 1 ). to char (), Ġelements . get ( 2 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 3 ). get ( 1 ). to char (), Ġelements . get ( 3 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 4 ). get ( 1 ). to char (), Ġelements . get ( 4 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 5 ). get ( 1 ). to char (), Ġelements . get ( 5 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 6 ). get ( 1 ). to char (), Ġelements . get ( 6 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 7 ). get ( 1 ). to char (), Ġelements . get ( 7 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 8 ). get ( 1 ). to char (), Ġelements . get ( 8 ). get ( 2 ). to j string (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelements . get ( 9 ). get ( 1 ). to char (), Ġelements . get ( 9 ). get ( 2 ). to j string () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ