Authoring world-gen details¶
Sandbox world profiles point at a WGD file (WorldGenerator/WGD_*.json) that
tells the New Earth terrain system what to build. This page covers the parts
you usually retune. Pair it with Sandbox world profiles
for the menu entry, sky, gravity, and save rules.
Two recipes that work¶
| Approach | When to use | Starting point |
|---|---|---|
| Rich world | You want ores, biomes, prefabs, and surface seating like New Earth | Clone the game’s New Earth WGD and retune (Example Mod Flatlands) |
| Bare sandpit | You want a simple test surface | Keep only the passes you need (Example Mod Moon: SurfaceHeight + marble fill) |
Do not invent a third pipeline — pack worlds still run through New Earth’s generator. You change inputs, not the engine.
WGD fields that matter¶
| Field | Role |
|---|---|
SurfaceTileHeight |
Vertical seating for the surface (tile Y). Horizon / sky often track this ground level. |
DefaultBlockID |
Fill block when nothing else paints a tile (e.g. dirt 2, marble 17). |
WorldGenPassUUIDs |
Ordered terrain passes by built-in id (Stone, SurfaceHeight, Tunnels, …). Packs can also ship extra pass JSON under WorldGenerator/. |
OreGenPassUUIDs |
Ore distribution passes (CopperOre, Coal, …). Empty list = no ore. |
BackgroundWGBDPath |
Optional background layers. Prefer a pack-relative file beside the WGD (e.g. WGBD_Moon.json). |
FlatnessRegions |
Softer / flatter bands of surface along X (percent of map width). |
PrefabGroups / Prefabs |
Placed structures and seating density. |
StructureGroups / ItemGroups / Creatures |
Ambient structures, loose items, and creature rolls. |
SimpleOverlayDistributions |
Light overlays (scatter, cover). |
Stock pass ids stay available. You do not need every New Earth pass — Moon proves a one-pass world is valid.
Flatness and prefabs¶
- Raise
FlatnessPercenttoward1.0for plains-style seating (Flatlands). StartPercent/EndPercentare fractions of map width.- On SMALL maps, dense prefab groups over-seat easily — lower
CountPerTile(or similar density fields) when you shrink the recommended size.
Sky and horizon¶
Prefer ParallaxDefinitionPath on the world profile (pack parallax_*.json)
over borrowing a stock style alone. That keeps the sky with your pack and lets
the horizon follow the world’s ground level.
For asteroid-style mirrored hills on an Earth-pipeline surface:
- Use
HorizonMode: AsteroidAltitudewith the stock void/bias values (512 / 600). - Set
HorizonReferenceGroundTileY(stock asteroid uses900) so live world Y remaps into that skyline space. - Avoid
PinTopToGroundfor that art — it parks hill peaks on the terrain line and hides the cliffs.
Stock Asteroid vs Xenoid Bauble skies share hill art but differ in lighting (fixed noon vs day/night cycle). Copy the one that matches the mood you want, then retune layers in your pack file.
Spawns¶
SpawnDetailsName on the profile must match the Name inside your
Spawning/SPWN_*.json. An empty or missing spawn file means no ambient fauna
from that path.
Checklist before you publish¶
- Profile JSON points at real pack-relative WGD / SPWN / parallax paths.
- Mod Prep Validate passes on the pack folder.
- Create a SMALL Sandbox world of your type and walk the surface, caves, and sky once.
- Confirm a save of that world still requires your pack enabled to load.
See also¶
- Sandbox world profiles — menu entry and profile fields
- Content packs — pack layout
- Example Mod Flatlands / Moon — worked samples when the pack is enabled