package Ġme kan ism . patch oul i . dsl Ċ Ċ import Ġcom . google . gson . JsonObject Ċ import Ġcom . google . gson . annotations . SerializedName Ċ import Ġme kan ism . api . providers . IG as Provider Ċ import Ġme kan ism . api . providers . I Item Provider Ċ import Ġme kan ism . common . regist ries . Me kan ism Blocks Ċ import Ġnet . minecraft . item . ItemStack Ċ Ċ interface ĠI Category Ġ{ ĊĠĠĠ Ġval Ġid : ĠString ĊĠĠĠ Ġval Ġbook : ĠPatch oul i Book ĊĊĠĠĠ Ġ@ Patch oul i DSL ĊĠĠĠ Ġfun Ġcategory ( id : ĠString , Ġinit : ĠCategory . () Ġ-> ĠUnit ): ĠCategory Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġthe Parent Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . book . category ( id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent Ġ= Ġthe Parent ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Patch oul i DSL ĊĠĠĠ Ġfun Ġcategory ( guide Cat : ĠI Guide Category , Ġinit : ĠCategory . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcategory ( guide Cat . id , Ġinit ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Patch oul i DSL ĊĠĠĠ Ġoperator Ġfun ĠI Guide Category . invoke ( init : ĠCategory . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcategory ( this , Ġinit ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Patch oul i DSL ĊĠĠĠ Ġfun Ġentry ( id : ĠString , Ġinit : ĠEntry . () Ġ-> ĠUnit ): ĠEntry Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠEntry ( id , Ġthis ). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . book . entries . add ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . init () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Patch oul i DSL ĊĠĠĠ Ġfun Ġentry ( item : ĠI Item Provider , Ġinit : ĠEntry . () Ġ-> ĠUnit ): ĠEntry Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġentry ( item . book Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= Ġitem ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Patch oul i DSL ĊĠĠĠ Ġoperator Ġfun ĠI Item Provider . invoke ( spot light Text : ĠString ? Ġ= Ġnull , Ġinit : Ġ( Entry . () Ġ-> ĠUnit )? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġentry ( this . book Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġtranslation Key ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= Ġthis @ invoke ĊĠĠĠĠĠĠĠĠĠĠĠ Ġread ByDefault Ġ= Ġtrue // no Ġone Ġwants Ġto Ġhave Ġto Ġgo Ġthrough ĠE VERY Ġitem Ġin Ġthe Ġindex ... ĊĠĠĠĠĠĠĠĠĠĠĠ Ġspot light ( this @ invoke , Ġspot light Text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit ?. invoke ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Patch oul i DSL ĊĠĠĠ Ġoperator Ġfun ĠI Gas Provider . invoke ( spot light Text : ĠString ? Ġ= Ġnull , Ġinit : Ġ( Entry . () Ġ-> ĠUnit )) Ġ{ ĊĠĠĠĠĠĠĠ Ġentry ( this . book Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġtranslation Key ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= ĠMe kan ism Blocks . UL TIM ATE _ CH EM ICAL _ T ANK // todo Ġicon Ġor Ġfilled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġread ByDefault Ġ= Ġtrue // no Ġone Ġwants Ġto Ġhave Ġto Ġgo Ġthrough ĠE VERY Ġitem Ġin Ġthe Ġindex ... ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit . invoke ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Patch oul i DSL ĊĠĠĠ Ġoperator Ġfun ĠI Guide Entry . invoke ( init : ĠEntry . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġentry ( this . entry Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** ĠCategory Ġthat Ġdoesn 't Ġmake Ġits Ġown ĠJSON Ġfile Ġ*/ Ċ @ Patch oul i DSL Ċ class ĠDelegate Category ( override Ġval Ġbook : ĠPatch oul i Book , Ġoverride Ġval Ġid : ĠString ): ĠI Category Ċ Ċ @ Patch oul i DSL Ċ class ĠCategory ( override Ġval Ġbook : ĠPatch oul i Book , Ġoverride Ġval Ġid : ĠString ): ĠI Category Ġ{ ĊĊĠĠĠ Ġ/** Ġmandatory . ĠThe Ġname Ġof Ġthis Ġcategory . Ġ*/ ĊĠĠĠ Ġlateinit Ġvar Ġname : ĠString ĊĊĠĠĠ Ġ/** Ġmandatory . ĠThe Ġdescription Ġfor Ġthis Ġcategory . ĠThis Ġdisplays Ġin Ġthe Ġcategory 's Ġmain Ġpage , Ġand Ġcan Ġbe Ġformatted . Ġ*/ ĊĠĠĠ Ġlateinit Ġvar Ġdescription : ĠString ĊĊĠĠĠ Ġ/** Ġmandatory . ĠThe Ġicon Ġfor Ġthis Ġcategory . ĠThis Ġcan Ġeither Ġbe Ġan ĠItemStack ĠString , Ġif Ġyou Ġwant Ġan Ġitem Ġto Ġbe Ġthe Ġicon , Ġor Ġa Ġresource Ġlocation Ġpointing Ġto Ġa Ġsquare Ġtexture . ĠIf Ġyou Ġwant Ġto Ġuse Ġa Ġresource Ġlocation , Ġmake Ġsure Ġto Ġend Ġit Ġwith Ġ. png Ġ*/ ĊĠĠĠ Ġ@ SerializedName (" icon ") ĊĠĠĠ Ġlateinit Ġvar Ġicon Str : ĠString ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġnot Ġdirectly Ġwritten Ġto Ġjson . ĠSets Ġthe Ġicon Str Ġfrom Ġthe Ġitem Ġprovider ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġicon : ĠI Item Provider ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠUnsupportedOperationException () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon Str Ġ= ĠItemStack Utils . serialize Stack ( value . item Stack ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġicon Item : ĠItemStack ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠUnsupportedOperationException () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon Str Ġ= ĠItemStack Utils . serialize Stack ( value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠThe Ġparent Ġcategory Ġto Ġthis Ġone . ĠIf Ġthis Ġis Ġa Ġsub - category , Ġsimply Ġput Ġthe Ġname Ġof Ġthe Ġcategory Ġthis Ġis Ġa Ġchild Ġto Ġhere . ĠIf Ġnot , Ġdon 't Ġdefine Ġit . ĠUse Ġfully - qualified Ġnames Ġincluding Ġboth Ġa Ġnamespace Ġand Ġa Ġpath . Ġ*/ ĊĠĠĠ Ġvar Ġparent : ĠI Category ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĠA Ġconfig Ġflag Ġexpression Ġthat Ġdetermines Ġwhether Ġthis Ġcategory Ġshould Ġexist Ġor Ġnot . ĠSee ĠUsing ĠConfig ĠFlags Ġfor Ġmore Ġinfo Ġon Ġconfig Ġflags . Ġ*/ ĊĠĠĠ Ġvar Ġflag : ĠString ? Ġ= Ġnull ĊĊĊĠĠĠ Ġ/** ĠThe Ġsorting Ġnumber Ġfor Ġthis Ġcategory . ĠDefaults Ġto Ġ 0 . ĠCategories Ġare Ġsorted Ġin Ġthe Ġmain Ġpage Ġfrom Ġlowest Ġsorting Ġnumber Ġto Ġhighest , Ġso Ġif Ġyou Ġdefine Ġthis Ġin Ġevery Ġcategory Ġyou Ġmake , Ġyou Ġcan Ġset Ġwhat Ġorder Ġthey Ġdisplay Ġin . Ġ*/ ĊĠĠĠ Ġvar Ġsort Num : ĠInt ? Ġ= Ġnull ĊĊĊĠĠĠ Ġ/** ĠDefaults Ġto Ġfalse . ĠSet Ġthis Ġto Ġtrue Ġto Ġmake Ġthis Ġcategory Ġa Ġsecret Ġcategory . ĠSecret Ġcategories Ġdon 't Ġdisplay Ġa Ġlocked Ġicon Ġwhen Ġlocked , Ġand Ġinstead Ġwill Ġnot Ġdisplay Ġat Ġall Ġuntil Ġun locked . Ġ*/ ĊĠĠĠ Ġvar Ġsecret : ĠBoolean ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Patch oul i DSL ĊĠĠĠ Ġfun Ġflags ( init : ĠFlags Builder . ()-> Unit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . flag Ġ= ĠFlags Builder (). apply ( init ). build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠtoJson (): ĠJsonObject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjson Ġ= ĠJsonObject () ĊĠĠĠĠĠĠĠ Ġjson . addProperty (" name ", Ġname ) ĊĠĠĠĠĠĠĠ Ġjson . addProperty (" description ", Ġdescription ) ĊĠĠĠĠĠĠĠ Ġjson . addProperty (" icon ", Ġicon Str ) ĊĠĠĠĠĠĠĠ Ġparent ?. let Ġ{ Ġ Ġjson . addProperty (" parent ", Ġit . id ) Ġ} ĊĠĠĠĠĠĠĠ Ġflag ?. let Ġ{ Ġ Ġjson . addProperty (" flag ", Ġit ) Ġ} ĊĠĠĠĠĠĠĠ Ġsort Num ?. let Ġ{ Ġ Ġjson . addProperty (" sort num ", Ġit ) Ġ} ĊĠĠĠĠĠĠĠ Ġsecret ?. let Ġ{ Ġ Ġjson . addProperty (" secret ", Ġit ) Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġjson ĊĠĠĠ Ġ} Ċ }