NishinkusSmelterLink
Pick which chest each smelter, kiln or blast furnace takes its ore and fuel from, and which chest the finished bars go into. Linked smelters keep working while you are somewhere else.
About this mod Author’s original text
Nishinku's SmelterLink
Mark a specific input, fuel and output chest per smelter, kiln, blast furnace, windmill
or spinning wheel. Linked smelters keep running while you are away from them.
Built against Valheim 1.0.12 (network version 40, Unity 6000.0.75), BepInEx 5.4.2350.
Using it
Marking hangs off the switches the smelter already has, so what you are looking at decides
what you are about to set:
| Looking at | Press G to set |
| --- | --- |
| the ore / item slot | input chest |
| the fuel slot | fuel chest |
| the empty / output slot | output chest |
The hover text on each switch says which one it is and what is currently linked. Once
selection has started, a panel appears at the top of the screen showing all three slots,
and every chest you look at says what it would become.
| Key | While selecting |
| --- | --- |
| G on a chest | Bind it to the active slot |
| 1 / 2 / 3 | Switch to input / fuel / output |
| X | Clear the active slot |
| Esc | Cancel |
The 1 / 2 / 3 fallback exists because not every piece has all three switches — a
charcoal kiln has no separate fuel slot, for instance.
Lines are drawn to whatever is already linked while you are marking. Several smelters can
point at the same chest, and distance does not matter.
The linker rod
A craftable rod that makes the whole network visible at once. Workbench, 5 wood,
1 surtling core, 2 resin.
While it is in hand:
- every link within Range (default 64m) is drawn, colour-coded per slot
- looking at a chest fades all links except the ones touching it
- a chest's hover text says what it feeds — Feeds: 3 input 1 fuel, or that it is unused
Marking still works without the rod; the rod is for reading a base rather than editing one.
The rod is registered through Jotunn and reuses the club model, so it looks like a wooden
stick. Change the second argument of the CustomItem call in src/LinkerTool.cs to clone
something else. Because it is a modded item, any rod sitting in an inventory will be
dropped from the save if this mod is ever uninstalled.
Why a marked chest is better than a radius
Vanilla picks the first item in m_conversion that it can find — there is no notion of
preferring one fuel over another. A charcoal kiln will happily eat core wood and fine wood.
Radius-based feeder mods inherit the same problem from the other side: they pull from
whatever chest happens to be nearby.
Linking makes the chest itself the filter. A kiln pointed at a wood-only chest burns wood
and nothing else, and when that chest runs dry the kiln stops instead of moving on to your
building material.
Running while unloaded
Valheim only instantiates objects in loaded zones, but all of a smelter's state — fuel,
the ore queue, the bake timer, the pending output — lives in its ZDO, and a chest's
contents live in its ZDO as a serialised ZPackage under items. In singleplayer the
whole ZDO database is resident in memory, so this mod runs the conversion loop directly
on that data. No zones are kept alive and no physics or AI is simulated.
Offline production requires a linked output chest, because there is nowhere to put the
result otherwise — the vanilla code path instantiates an ItemDrop at the smelter, which
needs the object to exist.
Two things the simulation cannot observe without the object: the roof check and windmill
wind. Both are cached in the ZDO on every vanilla tick, so they reflect the last time you
were standing there.
The vanilla 1-hour cliff
Vanilla smelters do advance while unloaded — Smelter.UpdateSmelter computes elapsed time
from StartTime in the ZDO — but the accumulator is clamped to 3600f. Being away for
five hours yields one hour of smelting and discards the rest. This mod ticks continuously,
so the clamp never comes into play. MaxCatchupSeconds sets the mod's own limit
(default 24h).
World time only advances while the world is loaded, so closing the game does not bank
production.
Config
BepInEx/config/nishinku.smelterlink.cfg
| Setting | Default | |
| --- | ---
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file. In multiplayer, the host and every client need the same mods installed.
Install these first, or the mod will not work: