package Ġbr . com . game mods . j 2 n wc . internal Ċ Ċ import Ġbr . com . game mods . nbt manip ulator . N bt ByteArray Ċ import Ġbr . com . game mods . nbt manip ulator . N bt Compound Ċ import Ġbr . com . game mods . nbt manip ulator . N bt IntArray Ċ import Ġbr . com . game mods . nbt manip ulator . N bt List Ċ import Ġbr . com . game mods . region manip ulator . Chunk Ċ import Ġbr . com . game mods . region manip ulator . Chunk Pos Ċ import Ġjava . util .* Ċ Ċ internal Ġdata Ġclass ĠJava Palette ( ĊĠĠĠ Ġvar Ġblock Name : ĠString , ĊĠĠĠ Ġvar Ġproperties : ĠNbt Compound ? Ċ ) Ġ{ ĊĠĠĠ Ġconstructor ( compound : ĠNbt Compound ): Ġthis Ġ( ĊĠĠĠĠĠĠĠ Ġcompound . getString (" Name "), ĊĠĠĠĠĠĠĠ Ġcompound . get Nullable Compound (" Properties ") ĊĠĠĠ Ġ) Ċ } Ċ Ċ internal Ġdata Ġclass ĠJava Chunk Section ( ĊĠĠĠ Ġvar Ġchunk Pos : ĠChunk Pos , ĊĠĠĠ Ġvar Ġy Pos : ĠInt , ĊĠĠĠ Ġvar Ġblock States : ĠLong Array ?, ĊĠĠĠ Ġvar Ġpalette : ĠList < Java Palette > ?, ĊĠĠĠ Ġvar Ġsky Light : ĠByteArray ? Ċ ) Ġ{ ĊĠĠĠ Ġconstructor ( compound : ĠNbt Compound , Ġchunk Pos : ĠChunk Pos ): Ġthis Ġ( ĊĠĠĠĠĠĠĠ Ġchunk Pos , ĊĠĠĠĠĠĠĠ Ġcompound . getByte (" Y "). toInt (), ĊĠĠĠĠĠĠĠ Ġcompound . get Nullable Long Array (" Block States "), ĊĠĠĠĠĠĠĠ Ġcompound . get Nullable Compound List (" Palette ") ?. map Ġ{ ĠJava Palette ( it ) Ġ}, ĊĠĠĠĠĠĠĠ Ġcompound . get Nullable ByteArray (" Sky Light ") ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġother Ġas ĠJava Chunk Section ĊĊĠĠĠĠĠĠĠ Ġif Ġ( y Pos Ġ!= Ġother . y Pos ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( block States Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( other . block States Ġ== Ġnull ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! block States !!. content Equals ( other . block States !! )) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( other . block States Ġ!= Ġnull ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( palette Ġ!= Ġother . palette ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( sky Light Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( other . sky Light Ġ== Ġnull ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! sky Light !!. content Equals ( other . sky Light !! )) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( other . sky Light Ġ!= Ġnull ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġy Pos ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( block States ?. content HashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġpalette . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( sky Light ?. content HashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġdata Ġclass ĠJava Bio me Area ( ĊĠĠĠ Ġval Ġbio me : ĠInt , ĊĠĠĠ Ġval Ġx : ĠInt , ĊĠĠĠ Ġval Ġy : ĠInt , ĊĠĠĠ Ġval Ġz : ĠInt , ĊĠĠĠ Ġval Ġlast X : ĠInt , ĊĠĠĠ Ġval Ġlast Y : ĠInt , ĊĠĠĠ Ġval Ġlast Z : ĠInt Ċ ) Ċ Ċ internal Ġdata Ġclass ĠJava Chunk ( ĊĠĠĠ Ġvar Ġlast Modified : ĠDate , ĊĠĠĠ Ġvar Ġheight Map : ĠNbt Compound ?, ĊĠĠĠ Ġvar Ġstructures : ĠNbt Compound , ĊĠĠĠ Ġvar Ġentities : ĠNbt List < N bt Compound >, ĊĠĠĠ Ġvar Ġli qu ids ToBe Tick ed : ĠNbt List < N bt List <* >> ?, ĊĠĠĠ Ġvar Ġliquid Ticks : ĠNbt List < *> ?, ĊĠĠĠ Ġvar Ġpost Processing : ĠNbt List < N bt List <* >> ?, ĊĠĠĠ Ġvar Ġsections : ĠMap < Int , ĠJava Chunk Section >, ĊĠĠĠ Ġvar Ġtile Entities : ĠNbt List < N bt Compound >, ĊĠĠĠ Ġvar Ġtile Ticks : ĠNbt List < *> ?, ĊĠĠĠ Ġvar Ġto Be Tick ed : ĠNbt List < N bt List <* >> ?, ĊĠĠĠ Ġvar Ġin hab ited Time : ĠLong , ĊĠĠĠ Ġvar Ġis Light On : ĠBoolean , ĊĠĠĠ Ġvar Ġlast Update : ĠDate , ĊĠĠĠ Ġvar Ġstatus : ĠString , ĊĠĠĠ Ġvar Ġposition : ĠChunk Pos , ĊĠĠĠ Ġvar Ġbio mes : ĠList < Java Bio me Area >? Ċ ) Ġ{ ĊĠĠĠ Ġconstructor ( chunk : ĠChunk ): Ġthis ( ĊĠĠĠĠĠĠĠ Ġchunk . lastModified , ĊĠĠĠĠĠĠĠ Ġchunk . level . get Nullable Compound (" Height maps "), ĊĠĠĠĠĠĠĠ Ġchunk . level . get Compound (" Structures "), ĊĠĠĠĠĠĠĠ Ġchunk . level . get Nullable Compound List (" Entities ") Ġ?: ĠNbt List (), ĊĠĠĠĠĠĠĠ Ġchunk . level . get Nullable ListOf List (" Li qu ids ToBe Tick ed "), ĊĠĠĠĠĠĠĠ Ġchunk . level . get Nullable List (" Liquid Ticks "), ĊĠĠĠĠĠĠĠ Ġchunk . level . get Nullable ListOf List (" Post Processing "), ĊĠĠĠĠĠĠĠ Ġ( chunk . level . get Nullable Compound List (" Sections ") Ġ?: ĠNbt List ()). associate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . getByte (" Y "). toInt () Ġto ĠJava Chunk Section ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChunk Pos ( chunk . level . getInt (" x Pos "), Ġchunk . level . getInt (" z Pos ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġchunk . level . get Nullable Compound List (" Tile Entities ") Ġ?: ĠNbt List (), ĊĠĠĠĠĠĠĠ Ġchunk . level . get Nullable List (" Tile Ticks "), ĊĠĠĠĠĠĠĠ Ġchunk . level . get Nullable ListOf List (" ToBe Tick ed "), ĊĠĠĠĠĠĠĠ Ġchunk . level . get Nullable Long (" In hab ited Time ") Ġ?: Ġ 0 , ĊĠĠĠĠĠĠĠ Ġchunk . level . get Nullable Boolean Byte (" is Light On "), ĊĠĠĠĠĠĠĠ ĠDate ( chunk . level . getLong (" Last Update ") Ġ* Ġ 1 0 0 0 L ), ĊĠĠĠĠĠĠĠ Ġchunk . level . getString (" Status "), ĊĠĠĠĠĠĠĠ ĠChunk Pos ( chunk . level . getInt (" x Pos "), Ġchunk . level . getInt (" z Pos ")), ĊĠĠĠĠĠĠĠ Ġchunk . level [" Bio mes "]. let Ġ{ Ġtag Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( tag ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ġ-> Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNbt IntArray Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( tag . value . size Ġ== Ġ 2 5 6 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtag . value . map Indexed Ġ{ Ġindex , Ġbio me Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġz Ġ= Ġindex Ġand Ġ 0 xF ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġ( index Ġshr Ġ 4 ) Ġand Ġ 0 xF ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJava Bio me Area ( bio me Ġand Ġ 0 xFF , Ġx , Ġ 0 , z , Ġx , Ġ 2 5 6 , Ġz ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbio mes Ġ= Ġtag . value . as Sequence (). chunk ed ( 6 4 ). chunk ed ( 4 ). toList () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġareas Ġ= Ġmutable ListOf < Java Bio me Area >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbio mes . forEach Indexed Ġ{ Ġx , Ġx Bio mes Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx Bio mes . forEach Indexed Ġ{ Ġz , Ġz Bio mes Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġz Bio mes . forEach Indexed Ġ{ Ġy , Ġbio me Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġareas Ġ+= ĠJava Bio me Area ( bio me , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ* Ġ 4 , Ġy Ġ* Ġ 4 , Ġz Ġ* Ġ 4 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ(( x + 1 ) Ġ* Ġ 4 ) Ġ- 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ(( y + 1 ) Ġ* Ġ 4 ) Ġ- 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ(( z + 1 ) Ġ* Ġ 4 ) Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġareas ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNbt ByteArray Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtag . value . map Indexed Ġ{ Ġindex , Ġbio me Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġz Ġ= Ġindex Ġand Ġ 0 xF ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġ( index Ġshr Ġ 4 ) Ġand Ġ 0 xF ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJava Bio me Area ( bio me . toInt () Ġand Ġ 0 xFF , Ġx , Ġ 0 , z , Ġx , Ġ 2 5 6 , Ġz ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġerror (" Unexpected Ġtype Ġfor ĠBio mes Ġtag : Ġ${ tag :: class . java }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġother Ġas ĠJava Chunk ĊĊĠĠĠĠĠĠĠ Ġif Ġ( lastModified Ġ!= Ġother . lastModified ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( height Map Ġ!= Ġother . height Map ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( structures Ġ!= Ġother . structures ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( entities Ġ!= Ġother . entities ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( li qu ids ToBe Tick ed Ġ!= Ġother . li qu ids ToBe Tick ed ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( liquid Ticks Ġ!= Ġother . liquid Ticks ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( post Processing Ġ!= Ġother . post Processing ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( sections Ġ!= Ġother . sections ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( tile Entities Ġ!= Ġother . tile Entities ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( tile Ticks Ġ!= Ġother . tile Ticks ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( toBe Tick ed Ġ!= Ġother . toBe Tick ed ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( inh ab ited Time Ġ!= Ġother . inh ab ited Time ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( is Light On Ġ!= Ġother . is Light On ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( last Update Ġ!= Ġother . last Update ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( status Ġ!= Ġother . status ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( position Ġ!= Ġother . position ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( bio mes Ġ!= Ġother . bio mes ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġlast Modified . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġheight Map . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġstructures . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġentities . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġli qu ids ToBe Tick ed . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġliquid Ticks . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġpost Processing . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġsections . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġtile Entities . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġtile Ticks . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġto Be Tick ed . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġin hab ited Time . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġis Light On . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġlast Update . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġstatus . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġposition . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġbio mes . hashCode () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} Ċ } Ċ