
AzuCraftyBoxesBuildingOnly
Per-player chest-use toggles, crafting and building safeguards, plus clean startup checks for incompatible dependencies.AzuCraftyBoxes Fixes & Config 1.4.1
- Separately toggle nearby-chest use for building, crafting, and machines.
- Gives every player independent settings and configurable hotkeys; admin status is not required.
- Includes crafting-transaction cleanup for stale nearby-resource state.
- Includes material-consumption checks for normal and optional Build Camera placement.
- Applies Configuration Manager and config-file changes live.
- Stops clearly if AzuCraftyBoxes did not initialize or required methods are incompatible.
- Corrects ore/fermenter network payloads and preserves transferred materials' cheated flags.
This is the renamed and expanded continuation of AzuCraftyBoxesBuildingOnly. The Thunderstore package ID, DLL, plug-in GUID, and config filename remain unchanged, preserving player settings.
1.4.1 startup hotfix — current limitation
This update does not make the supplied AzuCraftyBoxes 1.8.15 work on Valheim 1.0.12. Its base ZRoutedRpc.Everybody/ServerSync initialization error remains outside this add-on. With that failed dependency, this add-on stays inactive and explains why.
The old 1.4.0 adapter also failed before its IL rewrite could run. The installed MonoMod reader cannot resolve obsolete methods in these dependency binaries. Version 1.4.1 checks those targets before installing anything and reports their original exceptions. It does not claim that an offline rewrite proves a working runtime adapter.
- Checks Azu's completed-startup state before config binding, version registration, or integration.
- Logs the original startup exception before cleanup.
- Names each installation target; catches cleanup errors separately and continues cleanup on other targets.
- Keeps callbacks inactive after failed initialization, even if a hook could not be removed.
- Logs Loaded successfully only after all required patches, the watcher, and version registration succeed.
The existing feature settings and safeguards below are preserved. They become active only after successful startup. Live crafting, machine transfers, and free-camera building are not verified with the failed dependency. See VALIDATION.md and STARTUP_DIAGNOSTICS.md for the exact results.
The compatibility contract is still limited to the supplied AzuCraftyBoxes 1.8.15 and optional Build Camera 1.2.10 layouts. Unknown layouts are rejected; installing a newer base version will require a fresh contract check, not an assumption of compatibility.
Per-player feature switches
| Local setting | Default | Controls |
|---|---|---|
Building From Nearby Chests |
true |
Requirement display and material consumption for placed building pieces |
Crafting From Nearby Chests |
false |
Crafting, upgrading, and supported crafting-like interfaces |
Machines From Nearby Chests |
false |
Smelters, cooking stations, fires, fermenters, shield generators, and turrets |
The switches are independent, local to each player, and usable by non-admins. Two players beside the same chest can keep different choices.
AzuCraftyBoxes still controls range, eligible containers, YAML exclusions, permissions, its own enabled state, and its per-player Prevent Pulling Logic option. This add-on never approves a pull that AzuCraftyBoxes rejected.
Live changes and hotkeys
Configuration Manager changes take effect on the next relevant action. Saving the generated config file while the game is running also reloads the local values.
| Default key | Action |
|---|---|
F8 |
Toggle building from nearby chests |
F9 |
Toggle crafting from nearby chests |
F10 |
Toggle machine filling from nearby chests |
Every shortcut is configurable. Set a shortcut to None to disable that hotkey.
Craft-completion fix
AzuCraftyBoxes can defer one crafting ingredient until the craft completes. If the nearby-resource choice changes or a craft is cancelled at the wrong point, its global pending state can become stale and the crafting timer may finish without completing the item.
Each craft is treated as one transaction:
- Captures that player's crafting toggle when the craft actually starts.
- Keeps the same choice through requirement checks, ingredient withdrawal, and completion.
- Clears stale pending-consumption state before a new craft and after completion, cancellation, or closing the crafting panel.
- Resets AzuCraftyBoxes' temporary recipe-scan guard even if another patch throws an exception.
This targets the stuck-started-craft path without changing recipes or crafting speed.
Build Camera material-consumption fix
The add-on marks the successful placement transaction used by Valheim and Build Camera Custom Hammers Edition. It snapshots required amounts before AzuCraftyBoxes runs and audits the amounts afterward.
- If the normal path consumed everything, the fix does nothing.
- If Build Camera/AzuCraftyBoxes missed part of the withdrawal, only the missing remainder is removed.
- It uses the player's inventory first and then only AzuCraftyBoxes-approved nearby containers.
- It respects container access, exclusions, range, and AzuCraftyBoxes'
Leave Onerule. - It cannot intentionally charge more than one recipe.
Build Camera is optional and is not declared as a dependency.
Inventory items appearing again
This plug-in does not call Inventory.AddItem and does not move items into a player inventory. No safe AzuCraftyBoxes fix was added for that separate symptom.
The cause is not confirmed. An inventory expansion or automatic storage mod is one possibility. If it happens again:
- Record which item returned and what action caused it.
- Save the client BepInEx log and current mod list.
- Check every equipment, quick, food, ammo, and extra slot supplied by the inventory mod.
- Do not launch the character without its inventory mod until all special slots are emptied into normal chests.
Those details are needed before patching because guessing at an inventory transfer could duplicate or destroy items.
Multiplayer installation
Install the same version on:
- The dedicated server or host
- Every connecting client
After successful initialization, ServerSync requires the plug-in and a compatible version but synchronizes no gameplay toggle or hotkey. If this add-on stops before version registration, it does not provide version enforcement. Each client controls only its local player's three features. The dedicated server has no local player, so its local toggle values are inert.
Compatibility
Do not install this together with ValheimCompatibilityFixes; both contain the same AzuCraftyBoxes gate. It can be installed with the separate BreedingUpgradesChickenEggFix.
Inspected and built against these supplied files:
- BepInExPack Valheim 5.4.2350 (supplied BepInEx core 5.4.23.5)
- AzuCraftyBoxes 1.8.15
- Valheim 1.0.12 API
- Build Camera Custom Hammers Edition 1.2.10 (optional)
The startup/error-handling tests run on the supplied Harmony/MonoMod libraries in a managed Mono harness. The supplied dependency methods are rejected as unreadable. This list is not a claim of working gameplay compatibility.
Update from an earlier release
- Remove or disable the older version on the server and every client.
- Install
AzuCraftyBoxesBuildingOnly-1.4.1.zipeverywhere. - Do not keep both DLL versions.
- Existing config values and hotkeys are preserved.
For a manual installation, place AzuCraftyBoxesBuildingOnly.dll in BepInEx/plugins/AzuCraftyBoxesBuildingOnly/.
Config
Generated at:
BepInEx/config/local.valheim.azucraftyboxesbuildingonly.cfg
| Setting | Default | Scope |
|---|---|---|
1 - General / Mod Enabled |
true |
Local master switch; off leaves normal AzuCraftyBoxes behavior unfiltered |
2 - Per-Player Features / Building From Nearby Chests |
true |
Local player only |
2 - Per-Player Features / Crafting From Nearby Chests |
false |
Local player only |
2 - Per-Player Features / Machines From Nearby Chests |
false |
Local player only |
3 - Per-Player Hotkeys / Toggle Building |
F8 |
Local; None disables |
3 - Per-Player Hotkeys / Toggle Crafting |
F9 |
Local; None disables |
3 - Per-Player Hotkeys / Toggle Machines |
F10 |
Local; None disables |
See CONFIG_REFERENCE.md for the full behavior and migration reference.
Required copied-profile test
First resolve the base dependency outside this add-on and confirm its startup succeeds. Then verify the add-on logs Loaded successfully. If it reports a dependency or adapter failure, stop here; the gameplay checks below are blocked. Use STARTUP_DIAGNOSTICS.md to capture the first error.
- Craft an item using only nearby-chest materials and confirm the timer finishes and creates exactly one item.
- Cancel a one-ingredient craft, then craft another item and confirm both inventory and chest amounts are correct.
- Toggle crafting through Configuration Manager during separate crafts and confirm no craft becomes stuck.
- Place the same piece normally and through Build Camera free-cam; each must consume exactly one recipe.
- Repeat with two non-admin players beside the same chest using opposite settings.
- Check client and server BepInEx logs for Harmony or AzuCraftyBoxes Fixes & Config errors.
- Fill a smelter with ore, and a fermenter with one base from a nearby chest. Confirm exactly the accepted amount leaves the chest and the machine starts processing.
- Test a normal crafting station and an upgrader station; only the relevant resources should be charged.
- Compare carried/chest ingredients and their existing cheated flags. A clean craft fully funded by carried materials must not inherit a flag from an unused nearby chest.
Uninstall
Remove this package from the server and every client, then restart. AzuCraftyBoxes returns to its normal behavior. The add-on stores no world objects or item data.
Complete source is included under src/ and released under the MIT License.

