You are viewing a potentially older version of this package. View all versions.
Chazman-RunicProduction-1.0.17 icon

RunicProduction

Automate your base with chest-linked ingredients, fuel, outputs, and stock replenishment for Valheim's existing production stations.

Date uploaded 3 days ago
Version 1.0.17
Download link Chazman-RunicProduction-1.0.17.zip
Downloads 235
Dependency string Chazman-RunicProduction-1.0.17

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2350 icon
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.2350

README

Runic Production 1.0.17

Chest synchronization recovery

Recover nearby chest access after native ownership changes without a matching Runic handoff receipt. The server independently confirms the current ownership generation, data revision, and saved item fingerprint before the client refreshes and resumes. Stale or mismatched snapshots, busy chests, and denied access remain blocked.

Install Crafting 1.1.12, Storage 1.4.2, and Production 1.0.17 wherever those mods are used, on the server/host and participating clients. Each mod still works independently. Restart the game and server after installing; replacing a DLL does not update an already running process. Custom storage without a native saved-item payload retains its existing recovery path.

Includes shared-chest recovery and broader fermenter recipe support. Keep the companion versions listed above synchronized across host and clients. Production waits while a chest is open, then retries automatically. It does not forcibly take ownership from a player. Normal smelter drops remain possible while linked storage is unavailable.

Fermenters use their live recipes and native fermentation duration. An invalid recipe no longer disables unrelated recipes. Output links support different bases producing the same item; stock replenishment requires one unambiguous input for each requested output. Existing stock plans whose recipe quantity or duration changed must be refreshed by relinking their replenishment destination.

This release improves how Runic mods share chest supplies. No extra Runic mod is required. Update the server/host and participating clients together for the multiplayer improvements.

Fermenter fix in 1.0.12

Fixes automatic input consuming a mead base while the fermenter displays Empty on current Valheim. New batches use the game's native content format. Existing fermenters with stranded old-format contents pause to avoid consuming another base and may need batch recovery; this update does not automatically recover those batches. Update the server/host and all participating clients together.

Automated stations retain their native action sounds, including when linked chests carry items onward through production chains. Kilns and smelters play loading, fueling, and output effects; cooking stations and ovens play loading, fueling, and collection effects; fermenters play filling, tapping, and output effects; automated crafting plays the station's crafting effects. Fires, torches, and lamps retain native refueling sounds. Normal cooking-done, burning, and ambient effects remain controlled by the game.

Automate your base without replacing Valheim's machines. Link chests to smelters, ovens, fermenters, production stations, fires, and lamps for automatic ingredients, fuel, output collection, and stock replenishment. Chain stations together to create complete production workflows using the containers and machines already in your base.

Your stations still do the work and consume the normal materials. Runic Production simply moves eligible resources through explicit links you create, letting an ore chest feed a smelter, a fuel chest keep it running, and an output chest supply the next stage of your production line.

Highlights

  • Link multiple Input, Fuel Input, Output, or Replenishment chests to supported stations.
  • Build connected workflows such as a mead ketill feeding a chest that supplies fermenters.
  • Keep fires and lamps fueled from linked containers using their normal fuel items.
  • Stock chosen food, mead-base, cooking, or fermentation outputs by placing physical examples in a Replenishment chest.
  • Let supported cooking and recipe stations draw ingredients from eligible nearby storage.

Safety and compatibility

Runic Production keeps Valheim's normal station state and container inventories as the gameplay owners of that data. Install BepInExPack Valheim 5.4.2350 only. Storage and Crafting are optional gameplay mods.

For multiplayer, install the same version on the server/host and every player's client. Existing links remain in place; the player who configured them does not need to remain nearby or online. Keep Production enabled on the machines participating in the session.

Beehives and cooking experience

Link a beehive to an Output chest with Alt+Right Mouse on the hive, then the same gesture on the chest. Honey is collected only after the bees produce it normally. Biome, space requirements, production timing, and world resource scaling stay native. If no linked chest can hold the complete harvest, the honey stays in the hive.

Automated ovens and cooking stations grant the native Cooking XP: 0.4 per item loaded to the Input or Replenishment link's configuring player, and 0.6 per item collected to the selected Output or Replenishment link's configuring player. XP is granted only after a successful transfer, including native burnt-item collection. The player must be online; XP is sent to their client even when the server or another player owns the station. Offline production continues without banking XP. This does not add skill-based bonus yields.

Supported links

Station Input Fuel Input Output Replenishment
Smelter-family station Yes Yes Yes No
Cooking station / oven Yes When fuelled Yes Yes
Allowed recipe station Yes No Yes Yes
Fermenter Yes No Yes Yes
Beehive No No Yes No
Refillable fire or lamp No Yes No No

Input supplies exact accepted ingredients while preserving configured reserves. Fuel Input is a separate role selected at the station's native fuel control and supplies only the station's native fuel prefab while keeping Fuel.ProtectedReserve in the chest. Existing Input links continue to supply fuel until that station receives its first explicit Fuel Input link. Output is a throughput destination. Replenishment keeps approved output types stocked from physical exemplars in its linked chests.

Fireplace-family objects use their own native fuel definition. A wood fire therefore draws Wood from its Fuel Input chest, while a resin lamp draws Resin, without maintaining a separate Runic fuel list.

Every role accepts multiple chests. Cooking and fermenting prefer an eligible below-reserve Replenishment destination and may also retain ordinary Output links. Recipe stations can use linked Input chests or eligible nearby ingredient chests. Smelter output interception suppresses Valheim's normal spawn only after the complete output batch is deposited successfully; otherwise the ordinary vanilla output path runs.

A physical chest may be the Output of one station and the Input of another, including a mead ketill-to-chest-to-fermenter line. Roles are scoped independently to each station, and a chest may also hold more than one explicit role for the same station. Exact conversion tables and configured reserves still decide which item types a station is allowed to consume; the relay relation itself does not copy, rename, or guess an item.

Linking controls

Start a link while pointing anywhere at the station. Hold Alt and click the role's mouse button, release the mouse button, then point at the desired chest and repeat that exact Alt+mouse gesture within 30 seconds. Either Alt key works; Ctrl is deliberately excluded. The accepted click is consumed so it cannot also attack, block, open the build menu, remove a piece, or perform a secondary attack.

To remove a link, perform the same two steps with Shift also held at both the station and the linked chest. Link and unlink modes cannot be mixed during the 30-second selection.

Station gesture Selected role
Alt+Left Mouse on an ingredient control or station body Input
Alt+Left Mouse on the native fuel control Fuel Input
Alt+Right Mouse Output
Alt+Middle Mouse Replenishment

The station hover always lists Input, Fuel Input, Output, and Replenishment, showing empty, 1 chest, or the exact linked-chest count. Output selection is station-level; it no longer requires aiming at a front bay, food slot, tap, or spout. Successful commits report Linked as input/output/replenishment for <station name>. Successful removals report the corresponding Link removed message.

Loaded linked chests are visually identified whenever the player points at their station: Input (including migrated legacy Fuel links) has bright green rings, Output has bright yellow rings, and every Replenishment destination has turquoise rings. A successfully linked chest keeps its ring for 12 seconds immediately after the commit; contextual station aiming renews the rings while the station remains pointed. Fuel Input uses the same green input ring. Every role is additive and shows every linked destination, up to the configured bounded limit. Each of the three animated rings has its own child renderer; if any visual object becomes invalid, that chest's marker tears itself down once instead of throwing repeatedly or affecting automation. A later display lease can then create a fresh marker.

A Replenishment chest may be linked while empty. It remains inert until a physical exemplar is placed inside; scheduler polling then derives the exact uniquely supported target and producer signature. Removing every exemplar disables that target without guessing. A positive exemplar count below Replenishment Stock.DefaultReserve triggers production; exact-prefab overrides are available in PrefabReserves. The single default soft limit is eight chests per station role and the hard limit is sixteen, with at most thirty-two authorized target types.

A link requires loaded endpoints, player reach, the configured link range, Valheim chest and ward access, and a static non-wagon container. During explicit link setup, the mod requests native ownership when needed and verifies that both endpoints are locally owned before committing the link. Background automation does not claim ownership; it repeats the access and ownership checks before use.

Replenishment behavior

Cooking stations and fermenters select only an input that corresponds to an accessible, current Replenishment target. If the catalog is invalid or no target is currently eligible, the station does not pull an unrelated ingredient. Completed output is routed only to a destination whose physical exemplar and signed producer definition still match.

Allowed recipe stations can produce a complete recipe batch from one or more eligible linked Input or nearby chests directly into a Replenishment destination. The recipe must be enabled and unique for the exemplar, must not use Valheim's choose-one-ingredient rule, and must still match its recorded output, requirements, DLC, station, level, roof, fire, and producer signature. The destination must retain at least one matching exemplar.

Recipe Nearby Ingredients.Enabled=true is the default. Recipe, cooking, and fermenter replenishment may draw from bounded loaded nearby static chests; direct recipes combine split ingredients into one combined ingredient plan. Setting it false confines ingredients to linked Input chests. Every donor must be locally owned, accessible, ward-allowed, outside the station's Output, Replenishment, and legacy Fuel destination sets (unless explicitly linked as Input), and inside the link range. Search is bounded to 64 candidates and aborts rather than using a truncated result. Reserves are enforced independently in every donor.

For food or mead-base production, place one desired output exemplar in a Replenishment chest and link it to the recipe station; the station uses eligible Input and nearby ingredient chests to make that exact recipe into the exemplar chest. A fermenter pulls a compatible mead base from its Input and routes finished mead only to Replenishment chests already containing that exact mead. Repeat Alt+Middle Mouse on the station and then the chest for multiple exemplar chests; the bounded catalog chooses a matching destination fairly.

Production spreads its work across updates and checks idle or blocked stations less often. Unloaded stations do not produce catch-up batches or receive fuel service.

Ownership and failure behavior

Any player with normal chest and ward access can create or remove Production links; being the builder, an administrator, or the existing network owner is not required. Select the station, then repeat the matching gesture on a closed chest within range. Completing the link uses native ownership for that selected station and cooperative chest handoff, rechecks access, and reloads the chest's saved contents before publishing the link. Selecting a station alone does not claim it.

Background production follows the station's current network owner. When its linked chests belong to another peer, Production requests a handoff from that chest's current owner, rechecks the saved link and current chest/ward access, and waits for the synchronized inventory before moving items. Shared chests are serviced in turn. Open chests are left alone and service resumes after they close. Unloaded stations do not run automation; a loaded station may also pause while access is denied or its chest is unavailable. No new link setup is needed after a normal ownership handoff.

If a transfer fails, Production restores items only when it can do so safely. If it cannot confirm the result, it pauses the station and blocks further Runic transfers involving the affected storage for that session. Inspect the item counts and include the log in a support report. Restarting alone does not repair a failed transfer.

Existing links and stock targets are preserved. If an older or damaged link cannot be read safely, automation pauses rather than guessing; review and recreate the affected link if needed.

Multiplayer, configuration, and installation

If a station stops delivering to storage after a player leaves, check its hover status and the server log. Production may be waiting for the station or chest to become available again. Finished smelter items can drop on the ground instead; collect them. Rebuilding the affected station and relinking its chests has helped in a reported case, but is not a guaranteed fix.

Install the same version on the server/host and participating clients. Keep gameplay settings consistent between them.

Configuration is generated at BepInEx/config/chazman.RunicProduction.cfg. The example file documents link distance, moved-target tolerance, reserves, exact prefab allow/deny lists, optional nearby discovery, linked-chest limits, scheduler bounds, UI hints, and diagnostics. Deny entries override allow entries. Lowering a bound does not erase existing links.

Install BepInExPack Valheim 5.4.2350, then place RunicProduction.dll under BepInEx/plugins/RunicProduction/. Version 1.0.14 passed testing on the author's dedicated server.

When updating manually, replace the existing DLL instead of keeping multiple copies. Restart Valheim after updating; existing configuration and saved links are retained.

Community: Runic Mods Discord

Runic Production is an independent mod and is not affiliated with Iron Gate Studio.

Custom containers and Makail ItemDrawers

RunicProduction has its own container compatibility list in BepInEx/config/chazman.RunicProduction.cfg, independent of RunicStorage and RunicCrafting:

[Modded Containers]
AllowedPrefabIds = piece_drawer

Use exact internal container prefab IDs, separated by commas or semicolons. piece_drawer enables the included adapter for Makail ItemDrawers 0.5.8. The list applies to Input, Fuel Input, Output, Replenishment, and nearby ingredient discovery. A blank list disables custom adapters. Ordinary modded containers using Valheim's native Container inventory/save format already work automatically. Other custom save formats require an adapter; listing a name alone does not implement one. No ItemDrawers installation is required when using ordinary containers.

Assign an item to each drawer through ItemDrawers before linking it. Assigned drawers remain usable at zero quantity for Input/Fuel/Output; unassigned drawers are skipped. Link them using the existing station-to-container workflow. Ingredient/fuel reserves, range, access, ownership, stock targets and full-container handling still apply. Drawer quantities use its actual capacity, while transfers onward to ordinary chests use normal stack limits. Replenishment still requires a physical exemplar; leave at least one item in its destination.

ItemDrawers saves only item type and count. Production refuses outputs carrying crafter attribution, custom data, quality/variant changes, cheated flags or other metadata the drawer cannot retain. In particular, direct recipe replenishment creates attributed items and therefore needs an ordinary destination chest; drawers can still supply its ingredients. Plain smelter, cooking, fermenter and beehive outputs can use matching assigned drawers.

Language files

This version follows Valheim's selected language using files in Translations/RunicProduction beside the DLL. Missing translations fall back to English. Copy English.json to the selected language name and translate its values. See TRANSLATING.md. No additional translation plugin is required.

Support My Work

Enjoying the mods? You can support my work and future creations. Thank you for playing!

Support My Work

CHANGELOG

2.3.0

  • Include the matching shared native-access and compatibility code used by this candidate set. Production scheduling, station timers and link behavior are unchanged in this version.
  • Use native chest ownership for foreground access, including when a compatible Runic server is present, without custom handoff acknowledgements.
  • Include the previously private native fallback and metadata compatibility fixes. Missing or differing Runic builds no longer trigger Runic's forced disconnects; older servers may still enforce their own checks.
  • Keep modules independently installable. No companion Runic dependency or new save format is added.

2.2.1

  • Remove durability from Runic material-change, inventory snapshot, sorting, stacking and drawer eligibility checks. Worn items no longer block unrelated transfers or nearby material use.
  • Remove the snapshot durability correction routine. Item wear and repair continue to use the game's normal behavior.

2.2.0

  • Keep shared native chest deltas tied to their planned slots instead of redirecting changes to another matching stack.

  • Let completed deliveries wait in character data without blocking deposits when the backpack is full; resume as space becomes available, using ordinary character saves.

  • Use the native owner's current chest inventory, dimensions, stack limits, and serialized item data as transaction input.

  • Apply only each requested item or rule change; stop projecting a separate inventory ledger over ordinary chest edits.

  • Preserve unrelated edits, modded item metadata, and native chest destruction behavior.

  • Retain legacy recovery data while moving active inventories to native world persistence. Read journal versions 1–2 and write version 2; use a complete matching backup to roll back.

  • Keep each Runic module independently installable. Matching server and client modules are still required; no companion Runic dependency is added.

  • Keep native production clocks and installed station patches active. Route actual spawned products, preserve their custom data, and release buffered contents on native station removal.

2.1.3

  • Honor legal stacks above 65,535 when a stack mod extends Valheim's native item serialization, including ItemStacksItemWeights.
  • Remove the old 16-bit cap from shared inventory loading and transfer capacity, while checking that the installed serializer preserves extended counts.
  • Allow saved pending deliveries affected by that cap to resume without deleting receipts or resetting the world.
  • No new dependencies, save format changes, or per-action character saves.

2.1.2

  • Fixed removed occupied chests being replaced by another recovery chest, including repeating unsupported chest collapses.
  • Recovered chest and enrolled production contents now drop as ordinary ground items; old recovery chests do not refund construction materials.
  • Preserved item metadata and large drawer quantities through bounded, restart-resumable recovery.
  • Shared fix included independently in this mod; no new mod dependencies or per-action saves.

2.1.1

  • Remove dismantled managed objects immediately instead of keeping their world records alive while inventory retirement waits; retain inventory data for background salvage.

  • Prevent repeated destruction callbacks from issuing the same managed piece's building-material refund again.

  • Continue furnace processing when an optional linked chest is enrolling or unavailable. Other usable links still transfer, and unrouted smelter output uses native world drops.

  • Retire a furnace that was dismantled during enrollment even while its previous owner remains connected, without waiting indefinitely for an owner snapshot.

  • Fix initial chest enrollment waiting indefinitely when a remote owner has unloaded the chest, its ownership changes, or its inventory exceeds the old 64 KB capture limit.

  • Give fresh owner capture one bounded 250 ms window, then use the replicated native contents. Existing enrolled chests do not wait for this step.

  • Recover unfinished owner-side enrollment markers from earlier releases; keep existing published ledger identities intact.

  • Compress initial owner snapshots and accept inventories up to the existing 1 MiB codec limit. Late capture replies cannot replace enrolled contents.

  • Preserve independent installation and ordinary autosaves. No new mod dependencies or per-action character saves.

2.1.0

  • Remove mandatory Runic-to-Runic dependencies. Storage, Crafting, and Production each include their own shared runtime and work independently with BepInEx.
  • Preserve native and third-party chest deposits and withdrawals when a chest also participates in Runic automation.
  • Merge native item changes with current chest contents, including item metadata and expanded rows, instead of replacing them with an older snapshot.
  • Keep pending native changes visible and retry the same request if the network queue is full.
  • Limit Storage chest controls to views opened through Storage; disabled Storage and native/third-party views retain normal interaction.
  • Separate Runic viewer presence from vanilla's chest-in-use lock.
  • Retain the one-click nearby building fix and ordinary-save behavior: no per-action character saves or forced disk synchronization.
  • Preserve existing configuration and chest-ledger data. Keep matching server/client builds for whichever modules you choose to install.

2.0.8

  • Retry a delivery blocked by a full backpack after 100 ms, so freeing a slot does not impose the previous two-second wait.

  • Remove mandatory character checkpoints from normal manual station inventory interactions.

  • Use buffered server journal and inventory writes without forcing disk synchronization for each production operation.

  • Preserve live inventory concurrency, permissions, revisions, native production timing, and ordinary game saves.

  • Recent transfers and buffered writes no longer carry a per-operation crash-persistence guarantee.

  • Require Runic Storage 2.0.8 and matching installed Runic module builds.

Earlier entries below describe their historical release behavior. Their per-operation saving guarantees were changed in 2.0.8.

2.0.7

  • Let manual inventory actions pass queued automatic station, recipe, drawer, and animal work; bounded scheduling still gives automation a turn.
  • Reuse an already verified Runic-only checkpoint for Character Vault 1.0.3 queued uploads instead of performing a redundant third full save.
  • Include the shared receipt update that preserves the original inventory slots of returned offered items when available, including interrupted-transfer recovery.
  • Preserve verified character saves, replay protection, and existing production behavior.
  • Require Runic Storage 2.0.7 and matching installed Runic module builds.

2.0.6

  • Keep Runic-origin queued Character Vault 1.0.3 follow-up saves quiet, while preserving ordinary and disconnect save indicators.
  • Apply shared quiet save-notification handling to Runic character checkpoints used by manual inventory interactions.
  • Preserve actual saving, transaction recovery, and ordinary save notifications.
  • Require Runic Storage 2.0.6.

2.0.5

  • Include the shared character-checkpoint reduction for manual inventory interactions, preserving their recovery behavior.
  • Wait safely for the native world context during connection and teardown.
  • Require Runic Storage 2.0.5.

2.0.4

  • Stop persisting clock-only changes for smelters and kilns that cannot work because input or fuel is missing.
  • Rebase idle clocks when manual or automated input/fuel arrives so idle time never produces retroactive output.
  • Preserve durable changes for active production, buffered output, fuel, input, and linked inventories.
  • Include shared server queue scheduling improvements; require Runic Storage 2.0.4.

2.0.3

  • Bound background request admission while preserving capacity for chest access and manual inventory operations.
  • Preserve all admitted production transactions and retry them with their original IDs; no inventory mutation is discarded to free queue space.
  • Require matching Runic Storage 2.0.3 on clients and server.

2.0.2

  • Fix production authorization and link owner lookup for remote players whose legacy peer player-ID field remains unset in current Valheim.
  • Use the connected player's owned character ZDO for identity while retaining ownership and access checks.
  • Require matching Runic Storage 2.0.2 on the server and clients.

2.0.1

  • Restore automatic visible smelter-family output when linked output chests cannot accept it. Ground collection uses durable shared transactions.
  • Restore production interaction effects and automatic cooking experience recipient metadata.
  • Consume nearby manual fuel/cooking input together with the station change when Runic Crafting is enabled.
  • Restore ItemDrawers inputs, output and replenishment integration with exact large quantities.
  • Respect cooking fire requirements and configured source-prefab lists.
  • Require matching Runic Storage 2.0.1 on the server and clients.

2.0.0

  • Replace inventory ownership handoffs with shared server authority and durable operations.
  • Allow concurrent chest viewing, crafting, transfers, and production.
  • Preserve character transfer receipts with verified character saves; reject stale/replayed changes.
  • Recover first-enrollment identity across native world reloads and recover destroyed inventory through marked chests.
  • Require matching module builds on host/server and clients. Crafting and Production now depend on Storage 2.0.0.
  • See README for changed building/manual-fetch controls and the supported container boundary.

Changelog

1.0.17 — Native ownership recovery

  • Recover nearby chest access after native ownership changes without a matching Runic handoff receipt. The server independently confirms the current ownership generation, data revision, and saved item fingerprint before the client refreshes and resumes. Stale or mismatched snapshots, busy chests, and denied access remain blocked.
  • Preserve native ownership, material accounting, access checks, and rollback behavior.
  • Add bounded server confirmation requests and reject stale or spoofed acknowledgements.
  • Update matching companion builds together and restart both client and server.

1.0.16 - test candidate

  • Fix shared-chest stalls when a handoff reply arrives late or another station requests the same chest. Pending snapshot receipts remain stable across retries.
  • Recognize fresh native chest-opening snapshots and resume automation after the player closes the chest. Transfers still pause while a chest is in use.
  • Allow the authoritative host to retire an impossible receipt after native ownership returns from a disconnected peer, only after refreshing the accepted chest inventory. No forced ownership claims were added.
  • Wake the bounded production scheduler after local chest use ends.
  • Use live fermenter recipe quantities and positive native fermentation durations. Skip unsupported recipes without disabling unrelated recipes; collapse identical duplicate entries. Multiple bases producing one output work with ordinary input/output links; replenishment still requires an unambiguous ingredient.
  • Report rejected recipes and their causes, including background validation failures without requiring verbose logging.
  • Update RunicCrafting to 1.1.9 and RunicStorage to 1.3.9 when installed together: all three embed the shared handoff implementation. Update participating clients and the server together.
  • Automated validation is recorded in TESTING.md. Live multiplayer acceptance remains required before publication.

1.0.15

  • Added per-mod language files using Valheim's selected language, with English fallback and no new plugin dependency.

Changelog

1.0.14 - 2026-09-23

  • Improve coordination with Crafting and Storage when they use the same chests.
  • Wait for linked chests to synchronize before moving ingredients, fuel or finished items.
  • Reduce repeated checks of idle or blocked stations and spread automation work across updates.
  • Handle interrupted transfers more carefully and pause affected production when a failed transfer needs inspection.
  • Show clearer status when a linked station or chest is waiting for an absent player's network ownership to recover. Finished smelter items can still drop normally when storage is unavailable.
  • Preserve existing production links, stock targets and ItemDrawers assignments.
  • No extra Runic mod is required.

1.0.12 - 2026-09-20

  • Fixed fermenters consuming a mead base while displaying Empty on current Valheim: automation now reads and writes the native numeric prefab ID, including collection and rollback. Legacy string-format game APIs remain supported.
  • Empty fermenters no longer stall on a leftover fermentation timestamp after manual tapping.
  • Unknown items and stranded old-format batches stop further input consumption rather than overwriting their state. Existing affected fermenters may require batch recovery; this update does not automatically recover them.
  • Retained ItemDrawers support, station effects, beehive outputs, and cooking experience from 1.0.11.

1.0.11 - 2026-09-19

  • Added independent Modded Containers.AllowedPrefabIds configuration, defaulting to piece_drawer for Makail ItemDrawers. Applies to linked roles and nearby ingredient sources.
  • Synchronize ItemDrawers through its own save format. Preserve oversized stacks and assigned empty drawers through planning, consumption, output publication and rollback; honor drawer capacity and normal chest stack limits.
  • Refuse mismatched item types and metadata that ItemDrawers cannot save. Attributed direct-recipe outputs still require a normal destination chest.
  • Match timed cooking/fermenter output-capacity preflight to their actual unattributed output metadata.

1.0.10 - 2026-09-19

  • Added Output chest links for beehives, preserving native honey production and world drop scaling. Full or unavailable storage leaves honey in the hive.
  • Automated cooking now awards native loading and collection Cooking XP to the online player who configured the corresponding link, including server-owned stations.
  • XP is awarded only after committed transfers; retries and blocked storage do not award XP.

1.0.9 - 2026-09-16

  • Restored cooking-station and oven loading, refueling, and collection effects for automated transfers.
  • Restored fermenter filling, tapping, and batch-output effects, and crafting-station effects for automated recipes.
  • Preserved the existing native refueling effects for fires, torches, and lamps, and native cooking-done, overcooking, and ambient effects without duplicating them.
  • New effects run only after confirmed commits, at the station or its slot/output point. Cosmetic failures cannot roll back or repeat item transfers. Instant automated fermenter/crafting transactions play their effects at commit without changing production timing.

1.0.8 - 2026-09-16

  • Restored native kiln and smelter loading, fueling, and production effects for automated transfers, including output routed directly into linked chests and onward through production chains.
  • Effects play only after confirmed transfers. Blocked or rolled-back transfers stay silent; normal world-drop output keeps its vanilla effects.
  • Effect failures cannot roll back or replay completed item transfers.

1.0.7 - 2026-09-14

  • Fixed production stopping after the player who configured it leaves and station/chest ownership splits between peers.
  • Added coordinated chest handoff for linked ingredients, fuel, outputs, replenishment, and eligible nearby recipe inputs.
  • Removed the original player's presence requirement from pending and legacy replenishment activation.
  • Preserved ward and personal-chest access checks, shared-chest serialization, and the link-click fixes from 1.0.6.

1.0.6 - 2026-09-14

  • Fixed a repeated mouse-press signal across frames cancelling a newly selected production link.
  • Kept each accepted linking click captured until its button is released and the press signal clears, including fast clicks.
  • Preserved normal station-to-chest linking, Shift+Alt unlinking, and deliberate cancellation with a separate click.

1.0.5 - 2026-09-11

  • Fixed production's native item-status checks after Valheim 1.0.12 changed the underlying game API. Supports both the 1.0.7 field and the 1.0.12 property without changing the game's item-status rules.

1.0.4 - 2026-09-10

  • Fixed production link setup rejecting players who have chest and ward access but do not already own the station and chest's network state.

1.0.3 - PreProduction

  • Read container contents from Valheim 1.0's byte-array storage rather than the retired string field.
  • Accept the exact native one-load durability conversion while rejecting unrelated inventory differences.
  • Check the replicated integer busy flag before and after synchronization.
  • Cross-peer station/chest ownership remains a limitation; this update does not add remote transfers.

1.0.2 - 2026-09-09

  • Updated cheated-state provenance, queue, slot, item insertion, and inventory notification integration for Valheim 1.0.

1.0.1 - 2026-09-04

  • Fixed one Alt+mouse press being observed by both Player.SetControls and Player.Update, which could immediately cancel a newly armed production link before the player could select a chest.
  • Kept an accepted link gesture captured until its physical mouse button is released, preserving action suppression and the intended two-step station-to-chest workflow.

1.0.0 - 2026-08-29

  • Made the plugin independently installable with BepInEx as its only runtime dependency while keeping version 1.0.0 and the established package identity.

  • Removed the shared registry, capability negotiation, permissions service, transaction composites, remote-owner handoff, custom Production RPC transport, persistent operation records, recovery, claims, global inventory guards, and account/global quarantine paths.

  • Rebuilt smelter, cooking, recipe-station, and fermenter automation around Valheim's exact loaded native owner. No path claims or transfers ZDO ownership.

  • Kept persistent explicit links, stable endpoint tokens, bounded multi-destination catalogs, physical exemplar plans, target signatures, and fairness cursors in their existing world-data formats.

  • Kept valid singleton-link migration. Tokenless singleton links upgrade only from one exact loaded local-owner chest, while tokenless catalog destinations require an explicit refresh.

  • Added bounded, expiring local link selections with fresh range, chest, ward, access, identity, creator, ownership, and synchronization checks at commit and use.

  • Preserved throughput Input, Fuel, and Output links, complete-batch smelter fallback, exact reserves, direct recipe replenishment, cooking/fermenting replenishment, and optional bounded nearby ingredient sourcing.

  • Added exact persisted-state compensation for multi-object mutations without leaving restart-time work or locking unrelated inventory. A proven rollback retains vanilla smelter fallback; an indeterminate publication suppresses duplicate fallback and pauses only that station until reload.

  • Replaced obsolete transport and crash-recovery coverage with focused standalone, native-owner, persistence-format, boundedness, rollback, and vanilla-fallback tests.

  • Added exact native Fireplace fuel service, so explicitly linked fires draw Wood and lamps draw Resin from player-facing Input chests with the existing reserve and rollback rules.

  • Added station-specific hover guidance for Input, throughput Output, and exemplar-backed Replenishment setup; enabled bounded nearby recipe ingredients by default.

  • Added exact station-level Alt mouse links: Left selects Input, Right selects Output, and Middle selects Replenishment. Repeating the same gesture on a chest within 30 seconds commits it; Shift+Alt at both steps removes that exact role link.

  • Reserved accepted mouse gestures through release so combat and build actions cannot leak through, and added vivid green Input, yellow Output, and turquoise multi-Replenishment chest rings on successful links and while their station is pointed.

  • Made role selection independent of a station's physical sub-control: aiming anywhere on the station uses the mouse button alone to select Input, Output, or Replenishment.

  • Added multiple persistent chests per role, station hover counts for all three roles, one unified per-role link limit, reserve-driven dynamic exemplar refresh, and server-side reconciliation.

  • Added exact composite nearby recipe sourcing across accessible shared chests, protected linked destinations, in-flight reserve admission, completed-output routing, and rollback readback guards.

  • Made empty Replenishment links crash-safe by publishing their signed principal plan while inert before the authoritative role link. Orphan plan bodies remain inert, and no link success is shown unless both publications complete.

  • Fixed linked-chest rendering by placing each LineRenderer on its own child GameObject. An invalid root or ring now tears that marker down once, preventing repeated UpdateVisuals exceptions without affecting Production links or transfers; a later lease may create a fresh marker.

  • Separated Fuel Input from ingredient Input when the player aims Alt+Left Mouse at a native fuel control, with distinct selection, link, removal, and hover text while retaining legacy Input-fuel compatibility until an explicit Fuel Input link is made.

  • Enabled Output links for allowed cauldron, mead-kettle, and preparation-table recipe stations.

  • Expanded ordinary cooking-station and oven ingredient sourcing from an explicit Input link to the same bounded eligible nearby-chest pool used by recipe automation, and exposed exact validation failures through the station status and verbose log instead of silently doing nothing.

  • Allowed one physical chest to carry independent roles, including serving as one station's Output and another station's Input for true chained production lines such as mead ketill to fermenter.

  • Kept finite native oven fuel states above the display capacity operational; automation stops adding fuel at capacity without disabling food input, cooking, or cooked-output routing.