sighsorry-NoSnowyBiome icon

NoSnowyBiome

Removes the snow accumulation visual effect from vegetation-like world objects and whitened minimaps in selected biomes, mainly for custom biomes added by Expand World Data

Last updated 2 weeks ago
Total downloads 125
Total rating 0 
Categories Mods Client-side World Generation AI Generated
Dependency string sighsorry-NoSnowyBiome-1.0.2
Dependants 1 other package depends on this package

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2333 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.

Preferred version: 5.4.2333
JereKuusela-Expand_World_Data-1.63.0 icon
JereKuusela-Expand_World_Data

Allows adding new biomes and changing most of the world generation.

Preferred version: 1.63.0

README

NoSnowyBiome

In Valheim, snowy visuals on pieces, vegetation and minimap is hardcoded. Thid mod removes the snow accumulation visual effect from vegetation-like world objects in selected biomes, mainly for custom biomes added by Expand World Data.

The active build handles two things:

  • Vegetation-oriented world object snow visuals
  • Minimap high-altitude whitening

Expand World Data is the intended setup because this mod reads custom biome rules from expand_biomes.yaml.


Snowy visuals of vegetations and pieces over altitude > 50


After installing this mod and configuring to not have snowy visuals
(Can't remove snowy visuals on pieces for now unfortunately)


Minimap color is like mountains for zones that is higher than altitude 50 although it is not mountain


After installing this mod and configuring those biomes to not have whitened minimaps


Now the minimap color somewhat fits the custom biome

What It Reads

This mod supports extra fields inside Expand World Data's expand_biomes.yaml biome entries:

  • noSnow
  • noSnowMinAltitude
  • noSnowWhitening
  • noSnowWhiteningMinAltitude

These are not official Expand World Data fields. NoSnowyBiome reads them from the same synced YAML and applies its own behavior.

expand_biomes.yaml Example

- biome: MyCustomBiome
  terrain: Plains
  nature: Plains
  noSnow: true
  noSnowMinAltitude: 50
  noSnowWhitening: true
  noSnowWhiteningMinAltitude: 50

Meaning:

  • noSnow: true Enables snow visual removal for supported vegetation-like objects in that biome.
  • noSnowMinAltitude: 50 Starts removing supported object snow visuals at altitude 50 and above.
  • noSnowWhitening: true Disables minimap whitening for that biome only.
  • noSnowWhiteningMinAltitude: 50 Starts suppressing minimap whitening at altitude 50 and above for that biome.

Behavior Priority

For world object snow removal, priority is:

  1. expand_biomes.yaml rule for that biome

If a biome does not have a noSnow YAML rule, the active build leaves that biome unchanged.

For minimap whitening, only YAML rules are used:

  • noSnowWhitening: true enables biome-specific minimap whitening suppression
  • noSnowWhitening: false leaves that biome unchanged
  • If the field is missing, that biome is unchanged

If noSnowMinAltitude is missing but noSnow: true exists, the active build uses the internal default altitude 50.

If noSnowWhiteningMinAltitude is missing but noSnowWhitening: true exists, the active build uses:

  1. noSnowMinAltitude
  2. internal default 50

Installation

  • Server doesn't need NoSnowyBiome.dll but if server's expand_biomes.yaml have those 4fields it can sync to clients.
  • Clients should have NoSnowyBiome.dll for those fields to work on them. But they don't need expand_biomes.yaml entries because server sync those fields to them.

Supported Active Object Types

The active build attaches suppression to vegetation-oriented runtime objects such as:

  • StaticPhysics
  • Pickable
  • PickableItem
  • Plant
  • TreeBase
  • TreeLog

How Vegetation Suppression Works

The vegetation patch is simple:

  1. When a supported vegetation-like object wakes up, the mod checks its biome and altitude.
  2. If that biome has noSnow: true and the object is above the configured minimum altitude, the mod forces the material snow value _AddSnow to 0.
  3. If the shader uses the _ADDSNOW_ON keyword, that snow path is disabled as well.

In practice, this means the mod is not repainting the whole world every frame. It attaches to supported vegetation-style objects when they load, applies the no-snow material state, and then stops.

How Minimap Whitening Suppression Works

The minimap patch is separate from vegetation.

  1. Valheim stores a height texture that the minimap uses to brighten high-altitude areas.
  2. When the minimap is generated or loaded, the mod checks pixels that belong to biomes with noSnowWhitening: true.
  3. For those pixels, if the world height is above the configured threshold, the mod clamps the whitening contribution so the biome does not get forced to white just because it is high up.

This only changes the minimap's high-altitude whitening overlay. It does not change terrain textures in the world.

Why Pieces Are Not Patched In The Active Build

Vegetation and pieces do not expose the same controls.

  • Vegetation shaders expose _AddSnow, so the active mod can disable snow accumulation directly and cleanly.
  • Many build pieces use Custom/Piece, and that shader path does not expose a matching _AddSnow control in the same way.

That made piece handling much less reliable:

  • direct suppress paths did not consistently remove the visual
  • replacement-material experiments changed the look of the piece and could drift away from the original material appearance