Valheim
Install with App

Details

Latest version
0.1.0
Last Updated
First Uploaded
Downloads
20
Likes
0
Size
111KB
Dependants
ADDatHost Valheim hosting
30% off

Craft Planner (Valheim)

In-game material calculator. Pick any craftable item or building piece and the mod expands its recipe down to raw materials, then compares the total with what you already have in your inventory and in nearby containers.

Built against Valheim 1.0.21 (Unity 6000.0.75f1) and BepInEx 5.4.23.6.

What it does

  • Searchable list of every crafting recipe and build piece known to the game database.
  • Search understands both Russian and English names at once (plus station names and localization ids), no matter which language the game is running in.
  • UI language follows the game (auto), or can be forced with General.UiLanguage.
  • Recursive ingredient tree: Bronze → Copper ×2, Tin ×1; Iron armor → bars, leather, ...
  • Smelting/milling chains: bars are shown as ore, flour as barley (toggle in config).
  • Target amount (×1 / ×5 / ×10 / ×25) and item quality (1–5) selectors, so upgrade costs are visible too.
  • "Have / need" totals against your inventory plus all containers within ScanRadius (default 40 m). Missing materials are highlighted.
  • Client-side only: no server install, no version handshake, works on vanilla servers.

Install

  1. Install BepInExPack Valheim (5.4.2360 or newer) into the game folder.
  2. Drop CraftPlanner.dll into Valheim/BepInEx/plugins/.
  3. Launch the game, load a world, press F6.

Config

Valheim/BepInEx/config/opencode.craftplanner.cfg

Key Default Meaning
General.ToggleKey F6 Window hotkey
General.ScanRadius 40 Container scan radius, meters
General.DecomposeProcessing true Show bars as ore, flour as barley
General.UiLanguage auto auto (follow game), en or ru

Build

dotnet build

ValheimDir defaults to F:\SteamLibrary\steamapps\common\Valheim; override it if needed:

dotnet build -p:ValheimDir="D:\Steam\steamapps\common\Valheim"

The build copies the DLL into BepInEx/plugins automatically.

How it works

  • GameData snapshots ObjectDB (recipes, items) and reads the private m_buildPieces list through Harmony's AccessTools.FieldRefAccess, with an asset-scan fallback.
  • Smelting/milling pairs are derived from Smelter.m_conversion on loaded prefabs; entries with more than one source are skipped, so the map never lies.
  • Materials expands the tree with cycle/depth guards and aggregates leaves.
  • StorageScanner sums ItemData.m_stack across the player inventory and nearby Container components.

Known limitations

  • Container scan covers only the loaded zone around the player (the radius limits it further).
  • Recipes produced by multiple stations use the first one found.
  • UI text is English; item names are localized by the game itself.

Roadmap

  • Show the crafting station requirement per step and warn when no station is in range.
  • Persist the selected item between sessions.
  • Optional Russian UI localization.
  • Pin the window position and add a UI scale setting.
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.