Disallow to specify seed mix as zero to avoid EXTREMELY unlikely case where world's seed is zero, and we are generating chunk at 0, 0, in which Xoshiro256 will generate an exception
This commit is contained in:
parent
92846cbad0
commit
0c15c93dcd
@ -3,6 +3,7 @@ package ru.dbotthepony.mc.otm.worldgen.placement
|
||||
import com.github.benmanes.caffeine.cache.Caffeine
|
||||
import com.github.benmanes.caffeine.cache.Scheduler
|
||||
import com.mojang.serialization.Codec
|
||||
import com.mojang.serialization.DataResult
|
||||
import com.mojang.serialization.MapCodec
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder
|
||||
import it.unimi.dsi.fastutil.HashCommon
|
||||
@ -102,7 +103,7 @@ abstract class AbstractEnormousPlacement(val parameters: Parameters) : Placement
|
||||
val PARAMETERS_CODEC: MapCodec<Parameters> = RecordCodecBuilder.mapCodec {
|
||||
it.group(
|
||||
Codec.INT.minRange(0).fieldOf("chunk_scan_range").forGetter(Parameters::chunkScanRange),
|
||||
Codec.LONG.fieldOf("seed_mix").forGetter(Parameters::seedMix),
|
||||
Codec.LONG.validate { if (it == 0L) DataResult.error { "Due to technical limitations, seed_mix can not be zero" } else DataResult.success(it) }.fieldOf("seed_mix").forGetter(Parameters::seedMix),
|
||||
CODEC.listOf().fieldOf("placement").forGetter(Parameters::placementModifiers),
|
||||
).apply(it, ::Parameters)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user