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.
TarDistillation
Burn tar out of resinous pine the way the old tar burners did: split core wood into tyrispik, dry it in a blast furnace, then sweat out tar and charcoal in a fermenter.
By plawo
| Date uploaded | 11 hours ago |
| Version | 0.0.1 |
| Download link | plawo-TarDistillation-0.0.1.zip |
| Downloads | 13 |
| Dependency string | plawo-TarDistillation-0.0.1 |
This mod requires the following mods to function
ValheimModding-Jotunn
Jötunn (/ˈjɔːtʊn/, 'giant'), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.
Preferred version: 2.30.2denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2351README
Tar Distillation
A Valheim mod that adds a second way to get tar: burn it out of resinous pine wood, the way Norwegian tar burners did it. The plains tar pits are untouched — you can still go and farm them, this is just the other option.
The chain is deliberately gated behind the blast furnace, which needs an artisan table and therefore Moder. You cannot reach tar this way any sooner than you could have walked into the plains and taken it.
The chain
| Step | Station | In | Out |
|---|---|---|---|
| 1. Split | Artisan table | 10 core wood + 5 resin | 1 Tyrispik |
| 2. Dry | Blast furnace (burns coal as usual) | 1 Tyrispik | 1 Dried Tyrispik |
| 3. Burn | Fermenter | 1 Dried Tyrispik | 6 Tar + 2 Coal |
One full run is a fermenter cycle, so roughly 40 minutes of real time per batch, and you scale it by building more fermenters — the same way you scale smelters.
Everything in that table is configurable; see Configuration.
Why these steps
From Tjærebrenning on Norwegian Wikipedia, the real process was:
- Tyri — the resin-soaked kjerneved (heartwood) and roots of pine. The best came from stumps that had stood 10–15 years or more, until the soft outer wood had rotted off and only the pitch-soaked core was left. In game that is core wood, which is literally the heartwood of pine, plus resin.
- Spik — the stump wood was cleaned, coarse-split, then fine-split into spik, sorted and stacked to dry. The article notes this preparation alone could take up to a man-year of work. That is step 1 and step 2 here.
- The mile — the dried spik was stacked in a funnel-shaped tjæredal lined with birch bark, covered with turf, and lit so it smouldered with as little air as possible. Tar melted out and ran down a hollowed log to be collected. The fermenter stands in for the mile: a covered vessel that works slowly and is tapped at the bottom. The small version, the minimile, burned for about half an hour — close enough to a fermenter cycle that the timing needs no apology.
- Charcoal — "store mengder trekull blir igjen etter brenningen og er verdsatt." A burn leaves a lot of valuable charcoal behind, so tapping the fermenter gives coal along with the tar. It roughly pays back what the blast furnace burned to dry the wood, which is the same loop the tar burners were in.
- The yield — tar was 20–25 % of the dry weight of the wood; about 1 m³ of pine (~280 kg) gave some 60 kg, around 50 litres. The default of 6 tar per batch keeps roughly to that fraction of what goes in.
What is deliberately not modelled: the fractions. Real tar was tapped in layers — thin watery turpentine first, then acidic tjærelóg, then clean tar at the bottom — and the burner read the smoke colour to steer the temperature. That is a mini-game, not a recipe, so the fermenter just hands over finished tar.
Install
Needs BepInExPack Valheim and Jotunn.
One package covers players and dedicated servers: install it with a mod manager, or
unpack the zip and copy its BepInEx folder over the game or server root. Steps for both
are in package/INSTALL.md.
Multiplayer
The mod adds items, so it is marked EveryoneMustHaveMod with VersionStrictness.Minor:
- Install it on the server and on every client, at the same version. A client without it will be refused, which is the point — the alternative is a client that cannot resolve the item prefabs.
- The server's config wins. Every setting is admin-only, so Jotunn locks the entries on clients and pushes the server's values down as part of the connect handshake. You only have to keep the server's config file correct.
- Amounts (
Core wood per batch,Resin per batch,Tar per batch,Coal per batch) are applied to the live recipe and the fermenter when they change, so a synced value takes effect without a restart. Fermenters that are already placed and loaded keep the yield they were built with until their zone reloads. - The two station settings are read once at startup and need a restart on every machine. Do not change those mid-session.
- Tapping is handled by the fermenter's owner only — vanilla checks that before it schedules the tap — so the charcoal cannot be duplicated by a second player standing at the same fermenter.
- On a dedicated server the items are built from an
ObjectDB.Awakeprefix as well as from Jotunn's usual vanilla-prefabs event. That event hangs offObjectDB.CopyOtherDB, which in the client build only the main menu calls, and a headless server is a different build of the game — so the content is registered either way rather than on an assumption.
Configuration
BepInEx/config/hakon.valheim.tardistillation.cfg
| Section | Setting | Default | Notes |
|---|---|---|---|
| 1 - Splitting | Splitting station | ArtisanTable |
Restart required |
| 1 - Splitting | Core wood per batch | 10 | Live |
| 1 - Splitting | Resin per batch | 5 | Live (0 removes it, but only after a restart) |
| 2 - Drying | Drying station | BlastFurnace |
Restart required. Smelter or CharcoalKiln make the chain reachable earlier |
| 2 - Drying | Drying seconds | 0 | Live. 0 = the station's own speed |
| 3 - Burning | Tar per batch | 6 | Live |
| 3 - Burning | Coal per batch | 2 | Live, 0 turns the by-product off |
| 3 - Burning | Burning seconds | 0 | Live, including on fermenters already running. 0 = the fermenter's own duration |
Both timers only apply to tyrispik: ore in the same blast furnace still smelts at its
normal speed, and mead still ferments at its normal speed. Vanilla keeps one timer per
station rather than per recipe, so this is done by patching the clock for our item only —
Smelter.m_secPerProduct is swapped in for the single update call that is working on a
tyrispik, and the fermenter's elapsed time is scaled so it crosses the station's finish
line at the configured moment.
Station names are Jotunn's, so the config file lists the valid values for you.
Building
Needs the .NET SDK. Valheim, BepInEx and Jotunn supply the references, so the paths in
TarDistillation.csproj must point at a real install:
dotnet build
Defaults to the Steam install under C:\Program Files (x86) and the Thunderstore
profile HWandMT, and copies the built DLL into that profile's BepInEx/plugins.
Override either:
dotnet build -p:ValheimDir="D:\SteamLibrary\steamapps\common\Valheim" -p:ProfileDir="..."
Packaging
.\pack.ps1
Builds Release and writes one archive to dist/: TarDistillation-<version>.zip, with
manifest.json, icon.png, README.md and INSTALL.md at the root and the plugin at
BepInEx/plugins/TarDistillation/TarDistillation.dll. That is the layout Thunderstore
takes on upload, the layout mod managers import, and the layout a server root already has,
so the same zip serves players and the server.
Entry paths are written with forward slashes, so unzip on a Linux server builds the
folder tree instead of one oddly named file.
BepInEx and Jotunn are dependencies and are not bundled.
Status
Compiles clean against Valheim build 25909357, BepInEx 5.4.2351 and Jotunn 2.30.2, and every game and Jotunn API it touches was checked against those assemblies. It has not been run in-game yet — that is the next step, ideally on a second profile before it goes near a live world.
CHANGELOG
Changelog
0.0.4
- Tyrispik and dried tyrispik have their own look. A bundle of split pine with its own wood texture and its own inventory icon, instead of the round log and the piece of elder bark they are cloned from. The dried bundle is the darker, cracked one.
- The models are plain OBJ and PNG files in
assets/, beside the plugin, read when the game loads — no asset bundle, so the material is borrowed from the vanilla wood and the items still darken in rain and sit in the fog like everything around them. - New section
4 - Appearancewith two settings,Custom modelsandModel scale. They are the first settings in the mod that are not server-synced: they change nothing but what one machine draws, so each player keeps their own. - Copy
assets/along with the DLL. Without it the items quietly fall back to the vanilla look and the log says which file it could not read.
0.0.3
- Source code published at github.com/Hakonwibergh/valheim-tar-distilation, now linked from the package page.
- Build: the Thunderstore profile path is a placeholder instead of a personal one, and a
gitignored
Local.propscan hold your own paths. No change to the mod itself.
0.0.2
- A batch now gives 25 tar and 10 coal, up from 6 and 2. Half a stack of tar per run:
less faithful to the real process, which gave tar worth about a fifth of the weight of
the wood, but worth the three stations and the fermenter cycle it costs. Set
Tar per batch = 6andCoal per batch = 0for the historical trickle. - Every setting now explains itself in the config file and in the in-game config menu:
units, what
0means, and whether it takes effect at once or needs a restart. - README documents configuration properly — where the file is, three ways to edit it, per-setting tables with ranges, the two timers in detail, and example setups.
0.0.1
- First release. Tar from resinous pine in three steps: split core wood and resin into tyrispik at an artisan table, dry it in a blast furnace, burn it in a fermenter.