Valheim
You are viewing a potentially older version of this package. View Latest Version
Install with App

Details

Date Uploaded
Downloads
170
Size
187KB
ADDatHost Valheim hosting
30% off

Forge of Idols

A standalone BepInEx mod that adds idol recipes to Valheim's Forge of Potential. Forge Rework is optional; this mod has its own DLL, configuration, and package.

  • Convert protection idols into battle idols, or battle idols into protection idols, of the same tier. Default: one input idol per attempt, 80% success in either direction.
  • Combine lower tier idols into one idol of the next tier, keeping the idol type. Default: three input idols per attempt, 80% success.

Both recipes consume the input idols on failure and produce nothing. Each success produces one idol. Both conversion directions share the conversion settings. Upgrades advance one tier at a time; the highest tier has no upgrade recipe. All eight vanilla tiers are supported. Successful conversions and tier upgrades play the forge's native success lightning and sound. Failed or blocked attempts do not play the success effect. Recipes appear at the Forge of Potential only for input idol types and tiers currently carried in your inventory. A stack smaller than the configured cost still shows the recipe, with the attempt disabled until requirements are met. Your character must also have discovered the exact output idol at least once. This applies to both tier upgrades and conversions: a pile of lower-tier idols cannot unlock an undiscovered higher tier or opposite idol type. Discovery is remembered, so you do not need to keep the output idol in your inventory. The forge has two full-width native tabs: Upgrade first, then Convert. Upgrade lists both gear for refinement and recipes for next-tier idols. Convert lists protection-to-battle and battle-to-protection recipes. Select an idol recipe and press Attempt Upgrade or Attempt Conversion as appropriate. Ordinary stations retain their native tab captions, layout, and recipes. The status area displays Chance To Upgrade: 80% or Chance To Convert: 80%, using the selected recipe's configured probability, in the same place Forge Rework shows refinement odds. The details also show the input cost. Crafting requires room for the output before the attempt, even if consuming the inputs would free a slot. Attempts run one at a time. Other crafting and gear refinement retain their existing behavior.

Installation

Install BepInEx and Conditional Config Sync 1.0.9+, then import the ZIP with Thunderstore Mod Manager. For manual installation, copy ForgeOfIdols.dll into BepInEx/plugins/ForgeOfIdols. Restart Valheim after installation. Do not install duplicate DLLs. This mod does not require Forge Rework.

Configuration

First launch creates BepInEx/config/MerlinofMines.ForgeOfIdols.cfg:

[Conversion]
Input Idols = 1
Success Probability = 80

[Tier Upgrading]
Input Idols = 3
Success Probability = 80

Each input setting is the cost per attempt to produce one idol (1–10000). The two probabilities are independent percentages (0–100). A 0% recipe remains visible but cannot be attempted and consumes nothing; 100% always succeeds. Each category's settings apply to every tier. Configuration Manager changes apply live. Restart after editing the file externally.

Install the mod and Conditional Config Sync on the server and every client. The server controls all four recipe settings; only server administrators may edit them. This is fixed behavior, with no configuration-lock toggle. Clients wait for initial synchronization before crafting, and disconnecting restores local values. Craft attempts execute on the player's client; configuration synchronization does not provide server-side anti-cheat.

Build and validation

Requires .NET SDK 9, a local Valheim installation, BepInEx 5, and Conditional Config Sync. Default reference paths are in Directory.Build.props; override GamePath, BepInExPath, or ConfigSyncPath as MSBuild properties as needed.

.\build.ps1

This builds the standalone DLL, runs tests and installed-game binding checks, and creates artifacts/MerlinofMines-ForgeOfIdols-1.0.0.zip. It does not deploy to a profile or publish the package.

Tests exercise the actual plugin source with game/framework doubles, including tier mappings, exact costs, deterministic success rates, inventory rejection, sync gates, live updates, tab switching, category filtering, menu entries, and ordinary-crafting pass-through. Binding checks inspect the installed game assembly. Live Unity and multiplayer testing remains necessary: check tab layout and controller navigation, the recipe list, input/output inventory changes, failed attempts, server settings, and coexistence with Forge Rework in game.

Local development with ScriptEngine

The test client's ScriptEngine r11.2 installation loads ForgeOfIdols.dll and its matching .pdb from BepInEx/scripts. Keep only ScriptEngine in plugins for this mod's development workflow; do not also keep a normal ForgeOfIdols DLL there. Forge Rework and Conditional Config Sync remain regular plugins.

.\Deploy-HotReload.ps1

This rebuilds, tests, packages, and copies the DLL and symbols to the ValheimVR profile. ScriptEngine automatically reloads after three seconds; F6 is the manual fallback. Close the forge panel before reloading. The plugin removes patches, generated recipes, and its tab changes on unload, and retains one process-wide configuration-sync registration across reloads. Local solo testing is the first validation target; live reload while connected to a dedicated server is not yet verified. Dedicated-server deployments still use the normal plugin DLL and restart.

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.