Rannok_Industries-NordicWindmill icon

NordicWindmill

A taller Nordic windmill with a custom two-section rotor, adjustable blade radius and configurable processing speed.

Last updated 10 hours ago
Total downloads 20
Total rating 0 
Categories Mods Misc Crafting Utility Building
Dependency string Rannok_Industries-NordicWindmill-0.1.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2351 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.2351

README

Nordic Windmill

Version 0.1.0 | Author: GethLegion | Valheim / BepInEx 5

Give your windmill a taller Nordic silhouette and a custom four-arm rotor with two sail sections per arm. Adjust tower height, blade radius and item processing speed independently.

Features

  • Custom Blender-edited rotor with wooden frames, stitched sails and support pieces.
  • Sails visible from both sides with the native game material.
  • Adjustable blade radius; the rotor scales uniformly around its spin axis.
  • Adjustable tower height with optional collision for the upper extension.
  • Native wind-driven rotation, orientation and processing.
  • Configurable processing speed, including existing windmills.
  • Existing vanilla windmills are updated automatically; no new building recipe is added.

Requirements

  • Valheim with BepInExPack Valheim installed.
  • Optional: Configuration Manager by shudnal, with its required dependencies, for the F1 settings menu.
  • No Blender or Unity installation is needed to use the mod.

Installation

Thunderstore / r2modman

Install NordicWindmill by GethLegion and its dependencies. For a local ZIP, use Settings > Import local mod and select GethLegion-NordicWindmill-0.1.0.zip.

Manual / Nexus Mods

Close the game, extract the archive, and copy plugins/NordicWindmill.dll into BepInEx/plugins/NordicWindmill/. Start the game once to generate the configuration file.

Updating from a development build

Remove the older Nordic Windmill DLL before installing this release. Keep only one NordicWindmill.dll in your profile. The first public release is numbered 0.1.0; earlier 1.x builds were private development versions. Since 0.1.0 is numerically lower, replace a development build manually instead of relying on automatic update detection.

Existing settings in BepInEx/config/local.nordic.windmill.cfg are retained. Old SailSegments entries are unused. The package does not include a configuration file that overwrites your values.

Configuration

With Configuration Manager installed, press F1 and open Nordic Windmill. Otherwise, close the game and edit BepInEx/config/local.nordic.windmill.cfg.

Section Setting Default Range / behavior
General Enabled true Enable custom appearance and processing speed; false restores vanilla behavior.
Dimensions HeightMultiplier 1.55 1 to 3; independent of blade radius.
Dimensions BladeRadiusMultiplier 1.5852476 0.5 to 3; relative to the measured vanilla rotor radius.
Collision UpperTowerCollision true Collision for the added upper tower section.
Processing SpeedMultiplier 1 0.1 to 100; 1 = normal, 2 = twice as fast, 0.5 = half speed.

Blade radius

The default blade radius is approximately 4.845 meters (9.69 meters in diameter). A value of 1 matches the measured vanilla radius of approximately 3.056 meters. Radius is measured from the spin axis to the outermost vertex. The model scales uniformly, including its depth.

Processing speed

Processing duration = original duration / SpeedMultiplier. For example, 2 halves the time per item. The default of 1 keeps vanilla timing. Wind remains required and still affects production. Recipes, input/output quantities and queue capacity are unchanged.

Changes apply on the next native processing tick. The current item's completion percentage is retained when changing the multiplier. The network owner updates saved progress. Other processing stations are unaffected. Disabling the mod in its settings restores the original duration.

Multiplayer and compatibility

Use the same version and settings on the server and all clients. Settings are not automatically synchronized or enforced by this mod. The network owner runs the native production simulation.

Mods that also change windmill geometry, blade materials or processing duration may conflict. Increase the blade radius only where there is enough clearance. The blade damage area keeps its native size and may not reach enlarged blade tips.

Validation

The rotor's two-sided appearance was confirmed in game by the model author during development. The public release adds English documentation/settings and the processing speed control. Automated tests cover rotor scaling and reverse faces, tower geometry, processing speed, progress preservation, owner changes and installed game API compatibility. The new processing control still needs an in-game check, including multiplayer if used there.

Credits and license

Author and model editing: GethLegion.

The plugin reuses Valheim materials and textures at runtime. It does not bundle the texture atlas exported by Blender. The rotor mesh is derived from Valheim geometry; original game assets belong to Iron Gate / their respective owners. This is an unofficial mod and is not affiliated with or endorsed by the game developers.

Plugin code is distributed under the included MIT license. The MIT license does not grant rights to third-party game assets. Derived shared implementation credits are retained in LICENSE.

Building from source

Use the supplied Build.ps1 with the paths to your installed Valheim and BepInEx directories:

.\Build.ps1 -ValheimDir 'PATH_TO_VALHEIM' -BepInExDir 'PATH_TO_BEPINEX'
.\tests\Run-Tests.ps1
.\tests\Verify-GameApi.ps1 -ValheimDir 'PATH_TO_VALHEIM' -BepInExDir 'PATH_TO_BEPINEX'

The build embeds assets/RotorMesh.bin. To convert an updated centered rotor GLB, use tools/Convert-Rotor.py; its metadata records the source and coordinate mapping. Source archives omit the original GLB and its embedded game texture. Legacy procedural sail helpers remain for regression tests and are not used to render the current rotor.