package Ġorg . k rypt on mc . k rypt on . api . world Ċ Ċ import Ġkotlinx . serialization . Serializable Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠRepresents Ġa Ġgame Ġmode , Ġthose Ġbeing Ġ[ SUR VI VAL ], Ġ[ CRE ATIVE ], Ġ[ AD VENT URE ] Ċ Ġ* Ġand Ġ[ S PECT ATOR ]. Ċ Ġ* Ċ Ġ* Ġ[ id ] Ġis Ġthe Ġlegacy ĠID Ġof Ġthe Ġgame Ġmode . ĠIt Ġshould Ġmostly Ġonly Ġbe Ġused Ċ Ġ* Ġinternally , Ġas Ġthe Ġprotocol Ġstill Ġuses Ġthese Ġlegacy ĠIDs . Ċ Ġ* Ċ Ġ* Ġ@ author ĠCall um ĠSe ab ro ok Ċ Ġ*/ Ċ @ Serializable Ċ enum Ġclass ĠGame mode ( val Ġid : ĠInt ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPlain Ġold Ġsurv ival Ġmode . ĠIn Ġthis Ġmode , Ġyou Ġhave Ġa Ġfinite Ġamount Ġof Ġhealth , ĊĠĠĠĠ Ġ* Ġand Ġyou Ġcan Ġtake Ġdamage . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠS UR VI VAL ( 0 ), ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIn Ġcre ative Ġthis Ġmode , Ġyou Ġare Ġcompletely Ġinv ulner able , Ġyou Ġcan Ġfly , ĊĠĠĠĠ Ġ* Ġand Ġyou Ġcan Ġspawn Ġand Ġuse Ġany Ġitem Ġyou Ġwish . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠCRE ATIVE ( 1 ), ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAd venture Ġmode Ġis Ġdesigned Ġfor Ġmap Ġcre ators , Ġin Ġthat Ġblocks Ġrequire Ġspecific ĊĠĠĠĠ Ġ* Ġtools Ġto Ġbreak , Ġand Ġyou Ġcannot Ġbreak Ġthem Ġwithout Ġthose Ġtools . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠAD VENT URE ( 2 ), ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIn Ġspect ator Ġmode , Ġyou Ġare Ġalso Ġcompletely Ġinv ulner able , Ġbut Ġyou Ġcan ĊĠĠĠĠ Ġ* Ġalso Ġfly Ġthrough Ġblocks , Ġas Ġthe Ġentire Ġworld Ġis Ġessentially Ġnon Ġexist ant ĊĠĠĠĠ Ġ* Ġto Ġyour Ġclient Ġ( you Ġcan Ġsee Ġthings , Ġbut Ġyou Ġwill Ġnever Ġcol lide Ġwith Ġthem ) ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠS PECT ATOR ( 3 ); ĊĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= Ġname . toLowerCase ( Locale . ROOT ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠVALUES Ġ= Ġvalues (). associate By Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠRetrieves Ġa Ġgame Ġmode Ġfrom Ġits Ġlegacy ĠID . ĠShould Ġonly Ġneed Ġto Ġbe Ġused Ġinternally . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġfrom Id ( id : ĠInt ) Ġ= ĠVALUES [ id ] ĊĠĠĠ Ġ} Ċ }