You are viewing a potentially older version of this package. View all versions.
Dedryx-ContinuousBuild-1.0.0 icon

ContinuousBuild

Hold the placement button while building to continuously place pieces as you move through Valheim's snap points.

By Dedryx
Date uploaded 3 weeks ago
Version 1.0.0
Download link Dedryx-ContinuousBuild-1.0.0.zip
Downloads 336
Dependency string Dedryx-ContinuousBuild-1.0.0

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

ContinuousBuild

By Dedryx — version 1.0.0

Hold the placement button while building to continuously place pieces as you move through Valheim's snap points.

Features

  • Hold left click to continue building at new valid snap positions; release to stop.
  • Easier snapping while held, with a configurable capture distance.
  • Improved Auto snapping that tries another nearby connection when the nearest choice overlaps.
  • Duplicate protection and movement checks to prevent stationary placement spam.
  • Uses vanilla placement requirements, material costs, stamina, durability, effects, and networking.
  • Optional modifier key for players who prefer a two-button activation.

Usage

  1. Equip your hammer and select a building piece.
  2. Press and hold your normal configured placement input (left click by default). No modifier key is required.
  3. After the first normal successful placement, move the vanilla ghost to another valid snapped location to place another copy. Each repeat requires a change in your aim, position, or selected rotation since the last placement.
  4. Release the placement button to stop. After changing pieces/tools or opening a menu, start with another normal click.

A normal click still places one piece. While the placement button is down, snap capture expands from vanilla's 0.5 m to 1 m, making nearby snap points easier to acquire, including on the initial click. Releasing the button restores the normal capture distance. Building reach is unchanged. The mod uses the game's configured Attack / JoyPlace actions; it does not assume Mouse0. Continuous placement applies only to building pieces in build mode; attacking, repairing, and removing pieces are unaffected. To restore the old two-input behavior, set RequireModifier = true.

The optional modifier defaults to Left Alt: vanilla's default Left Shift / AltPlace disables snapping. Automatic placement pauses whenever vanilla does not accept a snap, including when you disable snapping. Manual placement remains available. ContinuousBuild does not override vanilla snap controls or introduce a grid/free-placement spacing system.

Easier Auto snapping

Vanilla Auto chooses its nearest snap pair before checking overlap. If that pair would overlap an existing piece, it gives up instead of trying another pair. While holding placement, ContinuousBuild now tries the next nearest available snap within the capture distance when the first choice overlaps or repeats a placement from this hold. It uses the existing piece snap points and vanilla nearest-point/overlap routines. Top, Bottom, and other named modes keep their existing selection behavior.

Set ImproveAutoSnapping = false to restore vanilla Auto selection. This fallback does not predict your intended building direction or bypass other placement restrictions; it may choose a different nearby connection in crowded builds.

Installation

Requires BepInExPack_Valheim (BepInEx 5).

  • Gale: import the ZIP as a local mod or install it from Thunderstore after publication.
  • Thunderstore Mod Manager / r2modman: import the ZIP as a local mod or install it from Thunderstore after publication.
  • Manual: copy ContinuousBuild.dll into BepInEx/plugins/ContinuousBuild/ in the active Valheim installation or mod-manager profile.

When upgrading from a preview version, replace the old DLL and keep only one installed copy. Existing configuration is preserved; no config reset is required.

Client-Side Only

Client installation only; no server plugin or network protocol changes. Each placement uses vanilla's normal requirements, resource consumption, stamina, durability, effects, construction and networking path. Structural stability follows normal vanilla behavior, including pieces collapsing after placement.

Configuration

Generated on first launch at BepInEx/config/dedryx.continuousbuild.cfg.

Setting Default Purpose
General.Enabled true Enable continuous building
General.RequireModifier false Require an extra key while holding placement input
General.ModifierKey LeftAlt Extra key used only when RequireModifier is true
General.DebugLogging false Log activation and placement attempts/results
General.HeldSnapDistance 1 Snap capture distance in meters while holding placement input; 0.5 restores vanilla, maximum 2
General.ImproveAutoSnapping true Try another nearby Auto snap when the nearest choice overlaps or repeats a placement
Advanced.PositionTolerance 0.05 Duplicate position tolerance in meters
Advanced.RotationTolerance 10 Duplicate rotation tolerance in degrees

A placement must be confirmed snapped and differ from successful transforms in the current hold. Newly built geometry moving the ghost is insufficient: your aim, position, or selected rotation must also change after each success. A secondary 0.1-second success interval and 0.25-second attempt debounce prevent bursts and rapid failed retries; time alone never permits a placement. Vanilla's tool delay still applies. After a failure, another valid snapped transform can resume placement when requirements permit.

Compatibility

  • Built against Valheim 1.0.12 and BepInEx 5.
  • The preview received user gameplay testing before promotion to 1.0.0.
  • Dedicated multiplayer and specific combinations with other mods have not been separately verified.
  • Mods that replace vanilla placement or snap-selection methods may conflict. Snap mods that bypass vanilla's snap acceptance path can pause automatic placement.

The mod uses ordinary client placement networking and does not require server installation. Compatibility with other game versions or every building mod is not claimed.

Troubleshooting

  • Continuous building does not start: make one successful normal placement first. Start a new click after changing pieces/tools or closing a menu. Check Enabled and RequireModifier.
  • The ghost will not snap: release vanilla's snap-disable input (Left Shift by default). Auto repeats require a confirmed snap, not free placement.
  • Snapping picks an unwanted nearby point: reduce HeldSnapDistance, use a named snap mode, or disable ImproveAutoSnapping.
  • Diagnosing an issue: enable DebugLogging and check the BepInEx log. Leave it disabled for normal play.

Building from source

Run ./ContinuousBuild/build.ps1 from the repository root. Optional parameters: -ValheimDir and -BepInExCoreDir. Requires .NET SDK and local game/BepInEx assemblies. Run standalone checks with dotnet run --project ContinuousBuild.Tests -c Release.

Package with ./release.ps1 -ModName ContinuousBuild. The release process checks the manifest, ZIP contents, icon dimensions, and packaged DLL hash. The standalone harness contains 96 placement and snap-fallback checks.

See IMPLEMENTATION.md in the source project for hook details and the in-game checklist.

Issues / Source

Source repository / issue tracker: not yet published.

CHANGELOG

Changelog

1.0.0

  • Initial public release by Dedryx following gameplay testing of the preview versions.
  • Hold the normal placement button to build continuously at new valid snap positions.
  • Configurable held snap distance and improved Auto snap selection.
  • Duplicate protection, failed-attempt debounce, and input/UI/tool/piece resets.
  • Client-side operation through vanilla placement, costs, effects, and networking.
  • Optional modifier and debug logging; existing preview configuration is preserved.
  • Release metadata and documentation finalized; gameplay behavior matches 0.1.4.

0.1.4

  • Add ImproveAutoSnapping = true: while holding placement in Auto mode, retry nearby snap candidates if the nearest pair would overlap an existing piece or repeat a successful placement from the current hold.
  • Reuse vanilla snap points, nearest-point lookup, and overlap checks. Preserve named snap modes and already-usable Auto choices.
  • Bound fallback work in dense builds; retain final vanilla validity checks and duplicate/aim protections.

0.1.3

  • Increase vanilla snap capture from 0.5 m to 1 m while holding placement input, including the initial click.
  • Add configurable HeldSnapDistance (0.5–2 m). Release restores the normal distance; building reach and duplicate protections are unchanged.
  • Keep vanilla snap selection and overlap checks; respect snap-disable controls and optional modifier requirements.

0.1.2

  • Hold only the normal placement button to continue building at new snap positions.
  • Add RequireModifier = false; set it to true to restore the optional modifier behavior. Existing ModifierKey settings remain saved but do not require a modifier by default after upgrading.
  • Keep accepted-snap checks, movement/rotation requirements, duplicate prevention, and build-mode/UI restrictions.

0.1.1

  • Fix repeated wall placement on unsnapped surfaces: automatic attempts now require a snap accepted by vanilla, checked again after the final ghost refresh.
  • Require player aim, position, or selected rotation to change after each success so newly built geometry cannot trigger a stationary placement chain.
  • Preserve normal manual placement, including the first unsnapped piece.
  • Add regression checks for drifting wall surfaces, stationary snap changes, and intentional snap movement.

0.1.0

  • Initial client-side continuous building through vanilla placement input.
  • Configurable modifier (Left Alt by default), duplicate tolerances, and optional diagnostics.
  • Successful-transform tracking, failed-attempt debounce, and input/UI/tool/piece resets.