package Ġde . mine form ers . van ill aim m ersion . config . gui Ċ Ċ import Ġcom . google . common . base . Case Format Ċ import Ġde . mine form ers . van ill aim m ersion . Van illa Imm ersion Ċ import Ġde . mine form ers . van ill aim m ersion . config . Config Entry Ċ import Ġde . mine form ers . van ill aim m ersion . config . Config Storage Ċ import Ġnet . minecraftforge . fml . client . config . I Config Element Ċ Ċ /** Ċ Ġ* Ġ[ I Config Element ] Ġimplementation Ġfor Ġ[ configuration Ġentries ][ Config Entry ]. Ċ Ġ*/ Ċ class ĠConfig Element ( val Ġpath : ĠString , Ġval Ġentry : ĠConfig Entry , Ġval Ġstorage : ĠConfig Storage ) Ġ: ĠI Config Element Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠgetName () Ġ= Ġentry . name ĊĊĠĠĠ Ġoverride Ġfun Ġget QualifiedName () Ġ= Ġname ĊĊĠĠĠ Ġoverride Ġfun Ġget Language Key () Ġ= ĊĠĠĠĠĠĠĠ Ġentry . language Key Ġ?: Ġ" config .${ Van illa Imm ersion . MOD ID }.${ Case Format . LOWER _ HY P HEN . to ( Case Format . LOWER _ C AME L , Ġpath )}" ĊĊĠĠĠ Ġoverride Ġfun Ġget Comment () Ġ= Ġentry . comment ĊĊĠĠĠ Ġoverride Ġfun ĠgetType () Ġ= Ġentry . type ĊĊĠĠĠ Ġoverride Ġfun Ġis Property () Ġ= Ġentry Ġ! is ĠConfig Entry . Category ĊĊĠĠĠ Ġoverride Ġfun Ġrequires Mc Restart () Ġ= ĊĠĠĠĠĠĠĠ Ġwhen Ġ( entry ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠConfig Entry . Property < *> Ġ-> Ġentry . requires Game Restart ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrequires World Restart () Ġ= ĊĠĠĠĠĠĠĠ Ġwhen Ġ( entry ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠConfig Entry . Property < *> Ġ-> Ġentry . requires World Restart ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Child Elements () Ġ= ĊĠĠĠĠĠĠĠ Ġwhen Ġ( entry ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠConfig Entry . Category Ġ-> Ġentry . elements . map Ġ{ ĠConfig Element ("$ path .${ it . name }", Ġit , Ġstorage ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetConfig Entry Class () Ġ= ĊĠĠĠĠĠĠĠ Ġwhen Ġ( entry ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠConfig Entry . Property < *> Ġ-> Ġentry . gui Class ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetDefault () Ġ= ĊĠĠĠĠĠĠĠ Ġwhen Ġ( entry ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠConfig Entry . Property < *> Ġ-> Ġentry . default ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Default () Ġ= Ġget () Ġ== Ġdefault ĊĊĠĠĠ Ġoverride Ġfun Ġget Valid Values () Ġ= ĊĠĠĠĠĠĠĠ Ġwhen Ġ( entry ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠConfig Entry . Property < *> Ġ-> Ġentry . valid Values ?. to Typed Array () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget () Ġ= ĊĠĠĠĠĠĠĠ Ġwhen Ġ( entry ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠConfig Entry . List Property < *> Ġ-> Ġ( storage . get ( path ) Ġas ? ĠList < *> ?) ?. to Typed Array () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġstorage . get ( path ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset To Default () Ġ{ ĊĠĠĠĠĠĠĠ Ġset ( default ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset ( value : ĠAny ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġstorage . set ( path , Ġvalue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset ( value : ĠArray < out ĠAny > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġstorage . set ( path , Ġvalue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Validation Pattern () Ġ= ĊĠĠĠĠĠĠĠ Ġwhen Ġ( entry ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠConfig Entry . Validated Property < *> Ġ-> Ġentry . pattern ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget MinValue () Ġ= ĊĠĠĠĠĠĠĠ Ġwhen Ġ( entry ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠConfig Entry . Range d Property < *> Ġ-> Ġentry . minimum ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget MaxValue () Ġ= ĊĠĠĠĠĠĠĠ Ġwhen Ġ( entry ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠConfig Entry . Range d Property < *> Ġ-> Ġentry . maximum ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis List () Ġ= Ġentry Ġis ĠConfig Entry . List Property < *> ĊĊĠĠĠ Ġoverride Ġfun Ġget Array Entry Class () Ġ= ĊĠĠĠĠĠĠĠ Ġwhen Ġ( entry ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠConfig Entry . List Property < *> Ġ-> Ġentry . entry Gui Class ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetMax List Length () Ġ= ĊĠĠĠĠĠĠĠ Ġwhen Ġ( entry ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠConfig Entry . List Property < *> Ġ-> Ġentry . maxLength ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ- 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis List Length Fixed () Ġ= ĊĠĠĠĠĠĠĠ Ġwhen Ġ( entry ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠConfig Entry . List Property < *> Ġ-> Ġentry . fixed Length ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetList () Ġ= ĊĠĠĠĠĠĠĠ Ġwhen Ġ( entry ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠConfig Entry . List Property < *> Ġ-> Ġget () Ġas ? ĠArray < Any >? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Defaults () Ġ= ĊĠĠĠĠĠĠĠ Ġwhen Ġ( entry ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠConfig Entry . List Property < *> Ġ-> Ġentry . default ?. to Typed Array () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow In Gui () Ġ= Ġtrue Ċ }