Valheim
You are viewing a potentially older version of this package. View Latest Version
Install with App

Details

Date Uploaded
3 weeks ago
Downloads
15.4K
Size
92KB
ADDatHost Valheim hosting
€1

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 One rule.
  • 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:

  1. Record which item returned and what action caused it.
  2. Save the client BepInEx log and current mod list.
  3. Check every equipment, quick, food, ammo, and extra slot supplied by the inventory mod.
  4. 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

  1. Remove or disable the older version on the server and every client.
  2. Install AzuCraftyBoxesBuildingOnly-1.4.1.zip everywhere.
  3. Do not keep both DLL versions.
  4. 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.

  1. Craft an item using only nearby-chest materials and confirm the timer finishes and creates exactly one item.
  2. Cancel a one-ingredient craft, then craft another item and confirm both inventory and chest amounts are correct.
  3. Toggle crafting through Configuration Manager during separate crafts and confirm no craft becomes stuck.
  4. Place the same piece normally and through Build Camera free-cam; each must consume exactly one recipe.
  5. Repeat with two non-admin players beside the same chest using opposite settings.
  6. Check client and server BepInEx logs for Harmony or AzuCraftyBoxes Fixes & Config errors.
  7. 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.
  8. Test a normal crafting station and an upgrader station; only the relevant resources should be charged.
  9. 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.

DatHost — Valheim server hosting, first month for one euro
DatHost — Valheim server hosting, first month for one euro
DatHost — Valheim server hosting, first month for one euro
DatHost — Valheim server hosting, first month for one euro
DatHost — Valheim server hosting, first month for one euro