Ice lake seed checker
Rust decides whether the optional parts of an ice lake exist from the world seed and the lake's position, not by chance. Enter a lake placement and a seed to see what spawns, or search for seeds that give you the layout you want.
| Lake | Position | Rotation | At seed |
|---|
This lake has no optional elements. It looks the same on every seed.
Find seeds
How this works
Each optional group inside an ice lake carries a RandomDestroy component. When the monument spawns, the game runs:
num = SeedEx.Seed(groupWorldPosition, World.Seed + component.Seed) if (SeedRandom.Value(ref num) > Probability) keep the group else destroy the group
SeedEx.Seed is base + (uint)(x·10 + y·100 + z·1000), and SeedRandom.Value is one xorshift step scaled to 0–1. Nothing in it changes between restarts, so the same map, position and seed always give the same answer. Lakes 1, 3 and 4 have optional groups (each a 50% roll); lake 2 has none. Lake 1 can get snow mounds, a large rock and a medium rock independently; lake 3 has one large rock; lake 4 has the huge rock with snow mounds. The _arctic material variant is what you see on ice; the _temperate and _arid variants exist in the prefab but are picked by biome. This page reproduces that arithmetic exactly, including 32-bit wraparound and single-precision floats.