You are viewing a potentially older version of this package. View all versions.
sighsorry-NoCapLumber-1.0.7 icon

NoCapLumber

Chain attack combo on trees, Configurable chop damage per axe type, Immersive tree health UI, Supress lunge distance while chopping

Date uploaded a month ago
Version 1.0.7
Download link sighsorry-NoCapLumber-1.0.7.zip
Downloads 731
Dependency string sighsorry-NoCapLumber-1.0.7

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

NoCapLumber

NoCapLumber improves woodcutting in Valheim with axe combos, configurable chop damage, next-swing lunge suppression, and a tree health color overlay.

Features

  • Separate chop damage multipliers for one-handed axes, battle axes, and dual axes.
  • Optional axe combo continuation when hitting tree-type targets.
  • Optional slash damage blocking on stump-like woodcutting targets.
  • Optional lunge suppression on the next eligible combo swing after an axe chop hit.
  • A fixed-position, fixed-size health color overlay that remains visible for one second after an eligible hit. Color enables it; Off disables it. The fill shrinks with remaining health and changes color at one-third and two-thirds health.

Woodcutting targets include TreeBase, TreeLog, tree-typed destructibles, and stump-like destructibles identified by their name and components. The overlay has no number display, drag, resize, or duration controls.

Installation and multiplayer

Install with a Thunderstore-compatible mod manager, or install BepInEx for Valheim and place NoCapLumber.dll in <Valheim>\BepInEx\plugins\. The declared package dependency is denikson-BepInExPack_Valheim-5.4.2350.

Start the game once to generate <BepInEx config directory>\sighsorry.NoCapLumber.cfg. A compatible ConfigurationManager can also edit the settings. ConfigurationManager is optional.

Install the mod on clients and the server, and keep their mod versions aligned. Embedded ServerSync handles the required-mod/version checks and gameplay setting synchronization. UI settings remain local; headless servers skip installation of the UI patches.

Configuration

Server-synced settings: 1 - General

Setting Default Type / range
Lock Configuration On Toggle: Off, On; restricts synced setting changes to server admins when enabled
One-Handed Axe Tree Chop Damage Multiplier 0.85 Float: 0 to 2
Battle Axe Tree Chop Damage Multiplier 0.7 Float: 0 to 2
Dual Axes Tree Chop Damage Multiplier 0.55 Float: 0 to 2
Enable Axe Combo On Trees On Toggle: Off, On
Block Axe Slash On Stump Targets On Toggle: Off, On
Enable Next Swing Lunge Suppression After Tree Chop On Toggle: Off, On

Local settings: 2 - UI

Setting Default Type
Tree Health UI Mode Color Enum: Off, Color
Tree Health Color High HP RGBA components: 0.23, 0.8, 0.34, 0.25 Unity Color; health at or above two-thirds
Tree Health Color Mid HP RGBA components: 0.9, 0.76, 0.16, 0.25 Unity Color; health from one-third to below two-thirds
Tree Health Color Low HP RGBA components: 0.85, 0.29, 0.27, 0.25 Unity Color; health below one-third

The color defaults above describe red, green, blue, and alpha components, not literal .cfg serialization. Use a compatible ConfigurationManager or preserve the format BepInEx writes in the generated config. Legacy number, layout, lock, and duration UI keys are no longer used.

Building from source on Windows

Requirements:

  • The .NET SDK and .NET Framework 4.8 targeting pack.
  • An installed Valheim 1.0.7 and BepInEx, including the original valheim_Data/Managed/assembly_valheim.dll and Unity assemblies. The project does not require publicized game assemblies; non-public gameplay fields are accessed through Harmony field injection and a cached field accessor.
  • Paths in environment.props that point to those installations. NuGet restore obtains the ILRepack build task; ServerSync is included in Libs and merged into the output DLL.

For implementation, fixes, and local verification, run from the repository root:

dotnet build .\NoCapLumber.csproj -c Debug -p:DeployToGame=true

After compilation and DLL merging succeed, DeployToGame=true copies only the final NoCapLumber.dll into the plugin directory configured by CopyOutputDLLPath in environment.props, overwriting the existing DLL. The default destination is C:\Program Files (x86)\Steam\steamapps\common\Valheim\BepInEx\plugins. Configured secondary copy destinations are also used if they exist. Compare the SHA-256 hashes of bin\Debug\NoCapLumber.dll and the installed DLL to verify the copy.

When game installation is explicitly to be skipped, use dotnet build .\NoCapLumber.csproj -c Debug -p:DeployToGame=false. Local DLL copying is enabled only when DeployToGame=true.

Debug builds do not update the release manifest or create distribution ZIPs. Release builds are reserved for an explicit release request: they update Thunderstore\manifest.json from the built DLL version and create Thunderstore and Nexus ZIP files. The Thunderstore ZIP contains the DLL, this README, CHANGELOG, manifest, and icon; the Nexus ZIP contains the DLL only. A new ZIP in a Mod Release Manager watched folder can trigger automatic uploads, so do not run Release packaging as a routine build or test. For packaging-only requests, use an unwatched output folder or disable automatic uploads for this project before creating the ZIP.

A successful Debug build verifies compilation, DLL merging, and any requested local copy. Gameplay, Harmony patch behavior, configuration synchronization, and client/host/dedicated-server behavior still require testing in Valheim; this repository has no automated test suite.

CHANGELOG

Version Update Notes
1.0.8 - README change.
1.0.7 - Updated the embedded ServerSync integration for Valheim 1.0.7 while preserving configuration keys, synchronization policy, and wire formats.
- Compile against the original Valheim 1.0.7 game assembly instead of a stale publicized assembly.
- Access non-public attack and tree-network fields through Harmony field injection and a cached accessor, preserving existing combo, lunge, damage, and health UI behavior.
- Updated the required BepInExPack for Valheim dependency to 5.4.2350.
1.0.6 - Always dispose the configuration file watcher during shutdown, including when saving the configuration fails.
- Corrected the README to describe the current fixed Off/Color tree health UI and its supported settings.
- Added explicit DeployToGame control for local DLL installation and documented the Debug build workflow.
- Clarified the internal axe woodcutting effects method name without changing damage, combo, or lunge behavior.
1.0.5 - Unified Release packaging around the root README.md as the single README source.
- Release packages now derive their version from the built DLL and update manifest.json automatically.
- Thunderstore packages contain exactly DLL, README.md, CHANGELOG.md, manifest.json, and icon.png; Nexus packages remain DLL-only.
1.0.4 - Simplified tree health UI to fixed Off/Color modes and removed legacy number, drag, resize, and lock options.
- Fixed the UI position, scale, and one-second duration with proportional HP color fill.
- Skipped client-only UI patches on headless servers and unified required-version enforcement with ServerSync.
- Simplified lunge and damage paths and removed the unused localization/YamlDotNet subsystem.
1.0.3 - Much Simplified tree health UI and config
1.0.2 - Simplified tree health UI and config
1.0.1 - Improved dedicated server performance by skipping client-only UI patches on headless servers.
- Reduced version handshake timeout checks so they only run while peers are pending validation.
- Reworked next-swing lunge suppression to avoid broad physics spherecasts during woodcutting combos.
1.0.0 - Initial Release