THIS MOD IS IN SUPER EARLY DEVELOPMENT. IT IS WHAT IT IS AND WILL NOT CHANGE MUCH. USED FOR PRIVATE SERVER AND CUSTOM MAP.
Tarn
Water at any height. Valheim has one water level, so every lake above the sea is a dry hollow. Tarn puts real vanilla water in them, at their own height. You can swim in it, sail on it, and see it on the map. It was made for the Ravenrest map, by Raven Iron.
Prototype. It works and is used on test worlds, but the details may still change.
What it does
- Lakes at their own level. Each lake fills its basin: everything below its level that joins its deepest point. The water is vanilla's own (sea tiles and water volumes), so swimming, wet status, boats, floating and the underwater view all behave as at sea. Lakes are built as you come near and dropped behind you, a few milliseconds a frame.
- On the map. Lakes are drawn as water on the minimap and the large map.
- Multiplayer. The server, or the host in single player, owns the lake list and sends it to every player. A dedicated server builds no water of its own.
- Clearing (0.2.0; synced from the server since 0.3.0). No trees, rocks, bushes or pickable debris are placed on ground a map maker marked, such as roads and lake beds. Tarn uses vanilla's own clear areas, the same ones that keep trees out of locations. Only what would have stood on a marked spot is removed; everything else is placed exactly as vanilla places it.
Files (per world, in BepInEx/config/Tarn/)
<world name>.txt: the lake list, read on the server or host. One lake per line:name;x;z;level;minX;minZ;maxX;maxZ;depth. Here x and z are the deepest point,levelis the absolute world height of the water surface, and the box is the area the lake may fill. Lines starting with#are ignored.<world name>.clear: the clearing mask (optional). The header isTARNCLR1, then an int32 size and a float32 half-extent in metres, then size × size bits: row 0 is the north edge, high bit first (numpypackbitsorder). It's read on the server, the host, or in single player, and sent to every joining player (0.3.0+), because whoever generates a zone places its vegetation. It only affects zones generated after it exists, so make a new world, or reset those zones. If a player generates a zone in the seconds before the mask arrives, the log names it.
Commands (console)
tarn here [radius] [margin]: fill the hollow you're standing in, up to just under its spill point.tarn list [n]: the nearest lakes, and whether they're built.tarn depth [scale]: how deep lakes look (colour, foam, waves). Applies live.tarn reload: re-read this world's lake file on the server.tarn at <x> <z> [radius] [margin],tarn remove <name|all>,tarn info.
On a server, changing commands need the player to be on adminlist.txt.
Config
| Setting | Default | What it does |
|---|---|---|
Look.DepthScale |
0.5 | How deep lakes look. |
Sound.LakeVolume |
0.35 | Lake water sound. |
Performance.BuildRange |
400 | Lakes within this many metres are built. |
Performance.BuildBudgetMs |
2 | Milliseconds per frame spent building lakes. |
Notes
- Grass: vanilla's grass clutter uses a fixed water level, so a lake bed needs dirt paint on its ground, or grass stands up through the water. The Ravenrest map paints its beds.