You are viewing a potentially older version of this package. View all versions.
SoulEmper0r-TerraHoe-2.0.0 icon

TerraHoe

Expand Valheim terrain tool radius with synced preview ring, Ctrl+Wheel radius adjust, and optional full terraforming mode. Author: SoulEmper0r

Date uploaded 2 weeks ago
Version 2.0.0
Download link SoulEmper0r-TerraHoe-2.0.0.zip
Downloads 1948
Dependency string SoulEmper0r-TerraHoe-2.0.0

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2202 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.

Preferred version: 5.4.2202

README

TerraHoe

Author: SoulEmper0r

Expand the radius of Valheim's terrain tools while keeping the preview and the actual operation synchronized.

Features

  • Hold Left Ctrl and scroll the mouse wheel to change the terrain operation radius.
  • Works with the selected vanilla or modded TerrainOp.
  • The preview ring is resized together with the real operation.
  • Optional Full Terraforming mode: press F8 to force a large-radius flatten operation and extend the vanilla height limits.
  • Debug diagnostics can be disabled in-game with F9 while they are enabled.

Configuration

The file is BepInEx/config/terrahoe.cfg.

[General]
Enabled = true
FullTerraformingEnabled = true
FullTerraformingToggle = F8

[Radius]
ScrollModifier = LeftControl
ScrollStepMeters = 0.5
MinRadius = 0.5
MaxRadius = 100
ShowRadiusMessage = true

[FullTerraforming]
MinHeight = -200
MaxHeight = 200

[Debug]
EnableDebugLogging = true
DebugToggle = F9
LogInput = true
LogSelection = true

FullTerraformingEnabled is the global permission switch. F8 only works when it is enabled. F9 turns active diagnostic logging off; when logging is already off, F9 does nothing.

Installation

Install with r2modman/Thunderstore, or place TerraHoe.dll in:

BepInEx/plugins/TerraHoe/TerraHoe.dll

Requires BepInExPack for Valheim.

Notes

Very large radii can temporarily freeze the game because Valheim recalculates the terrain synchronously. Start with 10–20 metres and increase gradually.

TerraHoe is an independent continuation inspired by the radius behavior of MagicMike's MyDirtyHoe.

CHANGELOG

Changelog

2.0.0

  • Full terraforming mode: extend the vanilla +/- 8 m height limit to -200/200 m by configuring General.FullTerraformingEnabled and FullTerraforming.MinHeight / MaxHeight. The clamps are global configuration, not a session hotkey, so the heightmap owner and every client agree and terrain survives a re-log.
  • Network-synchronized radius: the scrolled radius is now embedded in the RPC payload (RadiusWire v2). The placing client and the heightmap owner see the same radii, so the preview ring and the actual operation always match.
  • Terrain clamps derived from config, not from a session value, so they are identical on the server and on every client.
  • Unit-test suite (TerraHoe.WireTest, 65 cases) covering the wire format, the clamp wrappers and Harmony patch resolution — runs outside the game.
  • Author: SoulEmper0r.

1.0.0

  • Finalized MyDirtyHoe-style radius control.
  • Added full terraforming mode with F8 toggle and global enable switch.
  • Added runtime Debug control with F9.
  • Updated Thunderstore metadata and documentation.

0.4.0

  • Full terraforming now forces the selected operation to LevelTerrain only.
  • Added runtime DebugToggle (default F9) for diagnostic logging.
  • Full-mode changes are applied immediately to the currently selected operation.

0.3.0

  • Added global FullTerraformingEnabled setting.
  • Added runtime FullTerraformingToggle (default F8).
  • Ported MyDirtyHoe heightmap limit transpilers for LevelTerrain, RaiseTerrain and ApplyToHeightmap.
  • Added configurable MinHeight and MaxHeight limits (default -200 / 200).

0.2.0

  • Radius control rewritten to follow the working MyDirtyHoe 2.0.2 path.
  • Reads Input.mouseScrollDelta from the plugin Update() loop.
  • Changes the selected TerrainOp.m_settings directly and scales _GhostOnly.
  • Added [Debug] settings for modifier, wheel and selected-operation logging.

0.1.1

  • Fixed the argument binding of TerrainComp.DoOperation via the Harmony position __2.
  • Eliminated the Parameter "tc" not found error that prevented actual terrain changes.

0.1.0

  • Legacy MyDirtyHoe for Valheim 1.0.x.
  • TerrainComp.DoOperation Prefix: scales all 4 radii (level/raise/smooth/paint) by _currentRadius / 2f.
  • TerrainOp.Settings.GetRadius Prefix (ref, return false): preview ring and heightmaps receive the new radius.
  • Player.UpdatePlacement Prefix: Ctrl+Wheel intercepts m_scrollCurrAmount, changes radius, resets the counter (build menu does not scroll).
  • Top-left message: "TerraHoe radius: N m".
  • Configuration via BepInEx/config/terrahoe.cfg.
  • Dependency: BepInExPack.
  • Stable: no custom prefabs (no "Failed to deserialize TerrainOp").