NegroniForge-RainproofBuildings icon

RainproofBuildings

Protect your buildings from rain and water wear.

Last updated 4 days ago
Total downloads 386
Total rating 0 
Categories Mods Tweaks Building
Dependency string NegroniForge-RainproofBuildings-1.0.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2350 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.2350

README

Rainproof Buildings

Protect your buildings from rain and water wear.

Keep your Valheim builds protected from rain and water wear, with configurable filters, wear limits and damage rates. The default settings fully protect every piece that would normally take this type of wear, while preserving wet visuals.

Rainproof Buildings does not repair existing damage or prevent attacks, loss of structural support, snow, ash, lava or other damage sources. Roof and shield checks remain part of the game's normal behavior.

Features

  • Full protection by default, or a configurable health floor and wear rate.
  • Protect all eligible pieces, include selected name patterns, or exclude selected patterns.
  • Coverage for both exposed rain wear and submersion wear.
  • Nonnegative wear damage: already damaged pieces are never healed, and rain protection never subtracts from another damage source.
  • A focused Harmony transpiler changes only the rain/water condition and contribution inside the original wear method.
  • No per-frame plugin update, world scans, per-piece health cache or wet-piece log messages. Filter text is parsed when settings change.

Requirements and installation

Tested on Valheim 1.0.16, Windows, with BepInExPack_Valheim 5.4.2350 (BepInEx 5.4.23.5). The package declares denikson-BepInExPack_Valheim-5.4.2350 as its dependency. Harmony is supplied by that pack; no separate Harmony installation is needed.

Mod manager

  1. Close Valheim normally.
  2. Install RainproofBuildings by NegroniForge in your Valheim profile using r2modman or Thunderstore Mod Manager. Allow the manager to install the declared dependency.
  3. Start the game through that profile. After the first launch, the configuration file is available in the profile's config editor.

Manual installation

  1. Close Valheim and install BepInExPack_Valheim according to its instructions.
  2. Copy this package's BepInEx folder into your Valheim installation folder. The plugin should be at BepInEx/plugins/NegroniForge-RainproofBuildings/RainWearProtection.dll. The DLL and configuration keep their original technical names; the plugin appears as Rainproof Buildings.
  3. Start the game once to generate the configuration. Keep only one copy of this plugin installed. If upgrading an earlier local RainWearProtection installation, back it up and remove its old DLL before installing this package; retain the existing configuration.

Configuration

File: BepInEx/config/negroniforge.valheim.rainwearprotection.cfg

Section Setting Default Meaning
General Enabled true Enable the configured protection. False uses normal game wear.
Damage Filter Filter Type ALL ALL selects every eligible piece. INCLUSIVE selects matching names. EXCLUSIVE selects names that do not match.
Damage Filter Filter List empty Comma-separated, case-sensitive substrings of internal GameObject names, not translated display names. Spaces around entries and empty entries are ignored.
Rain Damage Max Damage 0 Fraction of maximum HP that rain/water may remove, from 0 to 1. Zero fully protects; 0.25 sets a 75% health floor; 1 permits wear down to zero where game rules allow it.
Rain Damage Damage Per Minute 5 Percentage points of maximum HP per normal rain step. Five means 5 HP on a 100-HP piece or 20 HP on a 400-HP piece, limited by the health floor.

The game schedules rain steps after more than 60 seconds of eligible wet time. This is not continuous damage or a catch-up rate. Normal timer behavior is retained when conditions or settings change.

Finite Max Damage values are clamped to 0..1; non-finite values become 0. Negative or non-finite Damage Per Minute values become 0. A zero rate prevents rain/water wear on selected pieces. Pieces below the configured health floor keep their existing HP; they are not repaired. Other damage can still take them below that floor.

Unselected pieces use normal game wear. An empty INCLUSIVE list selects nothing; an empty EXCLUSIVE list selects everything. Settings changed through a BepInEx configuration UI take effect when applied. If editing the file directly, close the game first, or use a configuration tool that explicitly reloads the file; this mod does not watch the file itself.

Example: protect everything

[General]
Enabled = true

[Damage Filter]
Filter Type = ALL
Filter List =

[Rain Damage]
Max Damage = 0
Damage Per Minute = 5

Example: limited wear on selected wood pieces

Use Filter Type = INCLUSIVE, Filter List = wood_floor, wood_wall, Max Damage = 0.25, and Damage Per Minute = 2. Matching names lose up to two percentage points per rain step, stopping at 75% of their current maximum HP. Other pieces retain normal wear. Name patterns match substrings, including prefab variants; check the internal names of modded pieces before relying on a filter.

Multiplayer

Wear is calculated by the network owner of each object. The settings used are those on the owning client or server, and ownership can change during play. A local installation does not guarantee protection for objects owned elsewhere.

For consistent behavior among players, install the same version on every participating client and agree on the same settings. This is a coverage recommendation, not a connection requirement: this plugin adds no version handshake, mandatory-client check or configuration synchronization. It does not change the connection rules imposed by other mods or the server.

A client installation does not cover server-owned objects. If server-side ownership matters to your setup, test a matching server installation and matching settings in a separate environment before relying on it. Dedicated-server operation and real ownership transfer between different peers have not been validated. Installing only on a server is not a guarantee of protection for the whole world.

Compatibility and validation

The plugin checks the expected structure of the rain section before applying either change. If a game update or another patch makes that structure unrecognizable, protection is not applied and an error is logged; the plugin does not leave a partial patch installed.

Known conflict: do not enable NoRainDamage (uk.co.oliapps.valheim.noraindamage) alongside this plugin. BepInEx incompatibility metadata prevents Rainproof Buildings from loading with that plugin enabled. Other mods that rewrite the same wear method may also conflict.

Version 1.0.0 has passed automated checks of damage boundaries, filters and patch rejection, plus controlled in-game checks of rain, submersion, a physical roof, wet visuals, damaged pieces, live settings, ordinary damage and unsupported-piece collapse. Local loss and restoration of ownership was exercised. Snow, ash, lava and shield behavior were checked for preserved code, but were not individually tested in gameplay. Other game versions and operating systems are unverified.

The public build updates the display name and release metadata. Its compiled method bodies match the tested pre-release build; a new in-game run of the renamed build has not been performed.

The implementation avoids recurring plugin scans and logging; this is not a promise of higher FPS or removal of stutters.

Troubleshooting and support

On a supported setup, BepInEx/LogOutput.log contains Rain/water wear patch applied (two validated edits) at startup. If it reports that protection is not active, check the game version and conflicting plugins before relying on protection.

For help, visit NegroniForge on Discord. Include your game/mod versions, the relevant settings, a short reproduction and the relevant startup error excerpt. Remove private information before sharing logs.

To uninstall, close the game, disable/remove RainproofBuildings in your manager or remove its DLL manually. Normal rain/water wear resumes. The configuration can be retained for later use.

License

MIT License. The plugin, documentation and original icon are provided by NegroniForge; see LICENSE. Game and dependency assets are not included.