Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
CraftPlanner
In-game recursive material calculator: expands recipes and build pieces down to raw materials and compares them with your inventory and nearby containers.
By ENVYTM
| Date uploaded | 3 days ago |
| Version | 0.1.0 |
| Download link | ENVYTM-CraftPlanner-0.1.0.zip |
| Downloads | 22 |
| Dependency string | ENVYTM-CraftPlanner-0.1.0 |
This mod requires the following mods to function
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.2360README
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 withGeneral.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
- Install BepInExPack Valheim (5.4.2360 or newer) into the game folder.
- Drop
CraftPlanner.dllintoValheim/BepInEx/plugins/. - 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
GameDatasnapshotsObjectDB(recipes, items) and reads the privatem_buildPieceslist through Harmony'sAccessTools.FieldRefAccess, with an asset-scan fallback.- Smelting/milling pairs are derived from
Smelter.m_conversionon loaded prefabs; entries with more than one source are skipped, so the map never lies. Materialsexpands the tree with cycle/depth guards and aggregates leaves.StorageScannersumsItemData.m_stackacross the player inventory and nearbyContainercomponents.
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.
CHANGELOG
Changelog
0.1.0
- Initial release.
- Searchable list of every crafting recipe and build piece (recipes, forge, cauldron, hammer menu).
- Recursive ingredient tree down to raw materials, with smelting/milling chains (ore -> bar, barley -> flour).
- Target amount (x1 / x5 / x10 / x25) and item quality (1-5) selectors.
- Have/need totals against the player inventory and nearby containers.
- Bilingual search: localized names plus internal English ids.
- UI language follows the game, can be forced to English or Russian.
- Camera and player input are paused while the planner window is open.