package Ġworld . greg s . void ps . engine . entity . definition Ċ Ċ import Ġorg . k oin . dsl . module Ċ import Ġworld . greg s . void ps . cache . Definition Ċ import Ġworld . greg s . void ps . cache . Definition Decoder Ċ import Ġworld . greg s . void ps . cache . definition . Extra Ċ Ċ /** Ċ Ġ* ĠLooks Ġup Ġ[ Definition ]' s Ġusing Ġ[ Extras ] Ġunique Ġstring Ġidentifier Ċ Ġ* ĠSets Ġ[ Extra ] Ġvalues Ġinside Ġ[ Definition ] Ċ Ġ*/ Ċ interface ĠDefinitions Decoder < T , ĠD Ġ: ĠDefinition Decoder < T >> Ġ: ĠEx tras Ġwhere ĠT Ġ: ĠDefinition , ĠT Ġ: ĠExtra Ġ{ ĊĠĠĠ Ġval Ġdecoder : ĠD ĊĊĠĠĠ Ġval Ġsize : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdecoder . last ĊĊĠĠĠ Ġval Ġindices : ĠInt Range ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdecoder . indices ĊĊĠĠĠ Ġfun Ġget OrNull ( id : ĠInt ) Ġ= Ġdecoder . get OrNull ( id )?. apply Ġ{ ĊĠĠĠĠĠĠĠ Ġapply Extras ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget ( id : ĠInt ) Ġ= Ġdecoder . get ( id ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġapply Extras ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġapply Extras ( definition : ĠT ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġnames [ definition . id ] Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġval Ġmap Ġ= Ġextras [ name ] Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġset Extras ( definition , Ġname , Ġmap ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġset Extras ( definition : ĠT , Ġname : ĠString , Ġmap : ĠMap < String , ĠAny >) Ġ{ ĊĠĠĠĠĠĠĠ Ġdefinition . extras Ġ= Ġmap ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget OrNull ( name : ĠString ): ĠT ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmap Ġ= Ġextras [ name ] Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġmap [" id "] Ġas ? ĠInt Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġdefinition Ġ= Ġdecoder . get OrNull ( id ) Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġset Extras ( definition , Ġname , Ġmap ) ĊĠĠĠĠĠĠĠ Ġreturn Ġdefinition ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget ( name : ĠString ): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmap Ġ= Ġextras [ name ] ĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġmap ?. get (" id ") Ġas ? ĠInt Ġ?: Ġ- 1 ĊĠĠĠĠĠĠĠ Ġval Ġdefinition Ġ= Ġdecoder . get ( id ) ĊĠĠĠĠĠĠĠ Ġif Ġ( map Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Extras ( definition , Ġname , Ġmap ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġdefinition ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġinternal Ġfun ĠMap < String , ĠAny >. map Ids (): ĠMap < String , ĠMap < String , ĠAny >> Ġ= Ġmap Values Ġ{ Ġ(_, Ġvalue ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value Ġis ĠInt ) Ġmap Of (" id " Ġto Ġvalue ) Ġelse Ġvalue Ġas ĠMap < String , ĠAny > ĊĠĠĠĠĠĠĠ Ġ}. toMap () ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġtag Regex Ġ= Ġ"< .* ?> ". to Regex () ĊĊĠĠĠĠĠĠĠ Ġfun Ġremove Tags ( text : ĠString ) Ġ= Ġtext . replace ( tag Regex , Ġ"") ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġchars Ġ= Ġ"[ \" ', ()?. !] ". to Regex () ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġunderscore Chars Ġ= Ġ"[ Ġ/ - ] ". to Regex () ĊĊĠĠĠĠĠĠĠ Ġfun Ġto Identifier ( name : ĠString ) Ġ= Ġremove Tags ( name . toLowerCase (). replace ( underscore Chars , Ġ"_ ")). replace ( chars , Ġ""). replace ("& ", Ġ" and "). replace (" Ãł ", Ġ" a "). replace (" Ã© ", Ġ" e "). replace (" Ã¯ ", Ġ" i "). replace (" &# 3 9 ;", Ġ"") ĊĠĠĠ Ġ} Ċ } Ċ Ċ val Ġdefinitions Module Ġ= Ġmodule Ġ{ ĊĠĠĠ Ġsingle ( createdAt Start Ġ= Ġtrue ) Ġ{ ĠObject Definitions ( get ()). load () Ġ} ĊĠĠĠ Ġsingle ( createdAt Start Ġ= Ġtrue ) Ġ{ ĠN PC Definitions ( get ()). load () Ġ} ĊĠĠĠ Ġsingle ( createdAt Start Ġ= Ġtrue ) Ġ{ ĠItem Definitions ( get ()). load () Ġ} ĊĠĠĠ Ġsingle ( createdAt Start Ġ= Ġtrue ) Ġ{ ĠAnimation Definitions ( get ()). load () Ġ} ĊĠĠĠ Ġsingle ( createdAt Start Ġ= Ġtrue ) Ġ{ ĠGraph ic Definitions ( get ()). load () Ġ} ĊĠĠĠ Ġsingle ( createdAt Start Ġ= Ġtrue ) Ġ{ ĠContainer Definitions ( get ()). load () Ġ} ĊĠĠĠ Ġsingle ( createdAt Start Ġ= Ġtrue ) Ġ{ ĠInterface Definitions ( get ()). load () Ġ} ĊĠĠĠ Ġsingle ( createdAt Start Ġ= Ġtrue ) Ġ{ ĠSound Definitions (). load () Ġ} ĊĠĠĠ Ġsingle ( createdAt Start Ġ= Ġtrue ) Ġ{ ĠM idi Definitions (). load () Ġ} ĊĠĠĠ Ġsingle ( createdAt Start Ġ= Ġtrue ) Ġ{ ĠVariable Definitions (). load () Ġ} ĊĠĠĠ Ġsingle ( createdAt Start Ġ= Ġtrue ) Ġ{ ĠJ ingle Definitions (). load () Ġ} ĊĠĠĠ Ġsingle ( createdAt Start Ġ= Ġtrue ) Ġ{ ĠSpell Definitions (). load () Ġ} Ċ }