diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/worldgen/placement/AbstractEnormousPlacement.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/worldgen/placement/AbstractEnormousPlacement.kt index defd2c7c4..750d6263b 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/worldgen/placement/AbstractEnormousPlacement.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/worldgen/placement/AbstractEnormousPlacement.kt @@ -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 = 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) }