From 658c6b0fdec59e96963688f6c91e26858c532310 Mon Sep 17 00:00:00 2001 From: CeeVeeR Date: Fri, 2 Oct 2026 07:28:29 +0200 Subject: [PATCH] chore: - Extracted children generator seed derivation to deriveChildrenGeneratorSeed Ref.: https://github.com/VolmitSoftware/Iris/issues/1251 --- .../generation/terrain/IrisDimensionCarvingEntry.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/art/arcane/iris/generation/terrain/IrisDimensionCarvingEntry.java b/core/src/main/java/art/arcane/iris/generation/terrain/IrisDimensionCarvingEntry.java index 94b396eaf..f60072c5a 100644 --- a/core/src/main/java/art/arcane/iris/generation/terrain/IrisDimensionCarvingEntry.java +++ b/core/src/main/java/art/arcane/iris/generation/terrain/IrisDimensionCarvingEntry.java @@ -81,15 +81,17 @@ public class IrisDimensionCarvingEntry { } public CNG getChildrenGenerator(long seed, IrisData data) { - long idHash = hashOfId(); - long generatorSeed = seed ^ (idHash << 32) ^ 2137L; - return childGenerators.computeIfAbsent(generatorSeed, key -> { + return childGenerators.computeIfAbsent(deriveChildrenGeneratorSeed(seed), key -> { double scale = Math.max(0.0001D, getChildShrinkFactor()); RNG random = new RNG(key); return getChildStyle().create(random.nextParallelRNG(2137), data).bake().scale(scale).bake(); }); } + long deriveChildrenGeneratorSeed(long worldSeed) { + return worldSeed ^ (hashOfId() << 32) ^ 2137L; + } + private long hashOfId() { String entryId = getId(); return entryId == null ? 0L : entryId.trim().hashCode();