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.
NearbyCraftingForked
Fork of Nearby Crafting (original by IPA38 / mikeg) with Quick Deposit exclusions, fuel/ore from nearby chests, and a nearby item-locate command.
| Date uploaded | a month ago |
| Version | 1.5.1 |
| Download link | SonicDM-NearbyCraftingForked-1.5.1.zip |
| Downloads | 163 |
| Dependency string | SonicDM-NearbyCraftingForked-1.5.1 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.
Preferred version: 5.4.2202README
Nearby Crafting Forked
Nearby Crafting Forked lets you craft and build using materials stored in nearby player-built containers, so you do not need to move resources into your inventory first.
This is a source fork of Nearby Crafting 1.2.1 (original by IPA38 / mikeg) with Quick Deposit exclusions and fuel/ore assist from nearby chests for smelters, kilns, fires and lights.
Identity
| Author | SonicDM |
| Plugin name | Nearby Crafting Forked |
| Plugin GUID | com.sonicdm.valheim.nearbycraftingforked |
| Assembly | NearbyCraftingForked.dll |
| Version | 1.5.1 |
| Config file | BepInEx/config/com.sonicdm.valheim.nearbycraftingforked.cfg |
Do not run this fork at the same time as the original Nearby Crafting plugin. Both patch the same Valheim methods; use one or the other.
This may break other CraftFromChests-style plugins that also patch crafting, building, or station fueling.
Features
- Craft using materials from nearby eligible containers.
- Build using materials from nearby eligible containers.
- Mass Quick Deposit sends matching inventory items to nearby chests with one configurable hotkey.
- Quick Deposit can be enabled or disabled independently from Nearby Crafting.
- Optional glow on chests that received a Quick Deposit (off by default; color is independent of item locate).
- Quick Deposit exclusions keep consumables, ammo, equipment and utility items in your inventory by default.
- Per-item exclude / allow lists with
*wildcards (for example deposit mushrooms while keeping other food). - Fuel smelters, charcoal kilns, blast furnaces, campfires, torches, braziers and similar stations from nearby chests on interact (uses each prefab’s own fuel item: Wood, Resin, Coal, Greydwarf eye, etc.).
- Optionally pull smelter/kiln ore and other cookable inputs from nearby chests.
- Locate items in nearby chests with the
nearbyconsole/chat command (glows nearest matches). - Containers are processed nearest-first.
- Configurable container range and player-built / moving-container filters.
- Compatibility support for BalrondConstructions storage layouts.
- Optional auto-reload when the
.cfgfile changes on disk (edit, save, apply in-game).
Mass Quick Deposit
Press the configured hotkey to deposit matching items into eligible nearby chests.
- An item is only deposited into a chest that already contains that item type.
- If one matching chest cannot accept the full amount, the remaining items can continue to another matching chest.
- A HUD message reports how many items were deposited and how many chests received items.
- Optional chest glow (
HighlightChests, off by default) shows which chests received items. Color isHighlightColor(default green0.25,0.95,0.4), separate from Item Locate's gold glow. Duration matches Item LocateDurationSeconds. Clear withnearby clear. - Only stackable items are deposited (max stack size greater than 1).
- Exclusion rules apply only to Quick Deposit. Nearby crafting and building can still pull materials from chests.
Default Quick Deposit settings:
[Quick Deposit]
Enabled = true
Hotkey = F6
HighlightChests = false
HighlightColor = 0.25,0.95,0.4
Quick Deposit exclusions
Defaults are intentionally conservative so a combat/food loadout stays on you:
[Quick Deposit - Exclusions]
ExcludeConsumables = true
ExcludeAmmo = true
ExcludeEquipment = true
ExcludeUtility = true
ExcludedItemTypes =
ExcludedItems =
AllowedItems =
| Setting | Purpose |
|---|---|
ExcludeConsumables |
Keep food, meads, potions, etc. |
ExcludeAmmo |
Keep arrows, bolts, and non-equipable ammo |
ExcludeEquipment |
Keep weapons, armor, shields, tools, torches |
ExcludeUtility |
Keep Utility item types |
ExcludedItemTypes |
Extra ItemType names to exclude (comma-separated, case-insensitive) |
ExcludedItems |
Force-exclude specific items by prefab / shared name |
AllowedItems |
Exceptions: still deposit these even if their type is excluded |
Matching rules
ExcludedItemsandAllowedItemsmatch the item localized display name, prefab name, and internal shared name (case-insensitive). Item descriptions are never searched.- Prefer prefab-style names such as
MushroomYellow. Display names also work (Oatmealmatches the dish even though its prefab isOatmealLingonberryJam). *wildcards are supported:Mushroom*,*Egg,Cooked*Meat*.- A pattern that starts with
*(*Berr*,*Egg) matches the display name and the first prefab word only. Later words in a compound prefab are ignored, so*Berr*deposits Blueberries / Lingonberries / Raspberry, not Oatmeal (prefabOatmealLingonberryJam). - If an item appears in both lists,
ExcludedItemswins. - Exclusions do not affect crafting or building material pulls.
Useful examples
With ExcludeConsumables = true, cooked meals, cauldron food, and meads stay on you. Use AllowedItems only for surplus forage you want dumped into chests. Prefab IDs below match the Valheim wiki Item IDs / Food lists.
Usually keep on you (default exclusions already cover these)
These are the foods you typically want for combat and progression — leave them excluded:
- Cooked station food (
CookedMeat,CookedDeerMeat,FishCooked,SerpentMeatCooked, …) - Cauldron / oven meals (
QueensJam,CarrotSoup,Sausages,Bread,BloodPudding, Mistlands/Ashlands dishes, …) - Meads and barley wine (
MeadHealthMinor,MeadStaminaMedium,MeadFrostResist,BarleyWine, …) — wildcardMead*/BarleyWine*if you ever allow consumables broadly and need to re-exclude them - Mead bases (
MeadBase*) if those show up as depositable stacks in your setup
Raw butcher meats (RawMeat, etc.) are normally Material, not Consumable, so they already deposit without an allow-list entry.
Early game — Meadows / Black Forest forage
Safe surplus to deposit while exploring (weak foods; also crafting ingredients, so keep a small pile if you are brewing):
AllowedItems = Mushroom,MushroomYellow,MushroomBlue,Raspberry,Blueberries,Honey
Or shorter:
AllowedItems = Mushroom*,Raspberry,Blueberries,Honey
Optional farm surplus (also used in recipes — only allow-deposit if you have plenty):
AllowedItems = Mushroom*,Raspberry,Blueberries,Honey,Carrot
Mid game — Mountains / Plains
Add cloudberries (Plains) and optional onion surplus (Mountain farm crop / soup ingredient):
AllowedItems = Mushroom*,Raspberry,Blueberries,Cloudberry,Honey,Carrot,Onion
Late game — Mistlands / Ashlands forage
These mushrooms/plants are edible and key cooking/eitr ingredients. Allow-deposit only when you are stocked:
# Mistlands
AllowedItems = Mushroom*,Raspberry,Blueberries,Cloudberry,Honey,MushroomMagecap,MushroomJotunPuffs
# Ashlands (add when relevant)
AllowedItems = Mushroom*,Raspberry,Blueberries,Cloudberry,Honey,MushroomMagecap,MushroomJotunPuffs,SmokePuff,Fiddlehead,Vineberry*
Trash consumables
Bukeperries (Pukeberries) are usually worth dumping:
AllowedItems = Mushroom*,Raspberry,Blueberries,Cloudberry,Honey,Pukeberries
Ammo + forage
ExcludeAmmo = true
AllowedItems = Mushroom*,Raspberry,Blueberries,Cloudberry,Honey,ArrowWood,ArrowFlint
Valuables / name families
ExcludedItems = Coins,DragonEgg
ExcludedItems = *Trophy*,Dragon*,*Egg
ExcludedItemTypes = Trophy,Misc
Starter preset — deposit early forage, keep meals/meads/gear
[Quick Deposit - Exclusions]
ExcludeConsumables = true
ExcludeAmmo = true
ExcludeEquipment = true
ExcludeUtility = true
ExcludedItemTypes =
ExcludedItems = Coins,DragonEgg
AllowedItems = Mushroom*,Raspberry,Blueberries,Cloudberry,Honey,Pukeberries
Expand AllowedItems as you progress (Carrot/Onion → Magecap/Jotun → Ashlands forage) when those stacks become clutter instead of ingredients you still need on hand.
Station fuel and ore
When you interact with a fuel switch / fire / light and you do not already have the required item, the mod can pull one matching item from a nearby eligible chest into your inventory so vanilla can consume it.
This covers Valheim’s shared components (fuel type comes from the prefab, not a hardcoded list):
| Structures | Component | Typical fuels / inputs |
|---|---|---|
| Smelter, charcoal kiln, blast furnace, eitr refinery | Smelter |
Coal / Wood (fuel) + ores/scrap (optional ore assist) |
| Campfire, hearth, wood/iron torches, braziers (incl. blue) | Fireplace |
Wood, Resin, Coal, Greydwarf eye, etc. |
| Cooking stations that use their own fuel | CookingStation |
Prefab m_fuelItem |
| Shield generator | ShieldGenerator |
Prefab m_fuelItems list |
Non-refillable / infinite-fuel lanterns and wisplights are left to vanilla. There is no background “keep everything lit” auto-refuel (client-only limitation).
Assist only runs for the local player and only when the station will actually accept fuel/ore (not full, not fireplace tap-to-toggle). Chest takes are best-effort on the client — same pattern as nearby craft consume — and can desync on some dedicated-server setups if another player is using the same chest.
[Station Fuel]
Enabled = true
EnableOreFromChests = true
Item locate (nearby)
Find which eligible nearby chests contain an item and glow the nearest matches (same range and container filters as crafting).
| Command | Effect |
|---|---|
nearby Resin / /nearby Resin |
Search by prefab/shared name (* wildcards allowed, same as Quick Deposit lists) |
nearby / /nearby |
Search for the currently held/selected item |
nearby clear / /nearby clear |
Clear highlights immediately |
locate is an alias for nearby (same args).
Matching uses Quick Deposit-style * wildcards, and also treats the text between wildcards as a substring — so surtling, surtling*, and *surtling* all find both SurtlingCore and TrophySurtling. Searches also match localized display names (for example majestic carapace finds QueenDrop / $item_seekerqueen_drop), plus prefab and shared/token names. Only player-built container inventories are searched (wall-mounted trophy stands are not).
Highlights auto-clear after the configured duration. A new search replaces the previous set. Feedback is a local chat line only (for example Found Resin in 3 chests.).
[Item Locate]
Enabled = true
MaxHighlights = 10
DurationSeconds = 15
GlowColor = 1,0.85,0.2
Configuration
Nearby Crafting Forked includes options for:
- Enabling or disabling the mod.
- Enabling or disabling nearby-resource building.
- Changing the nearby-container range.
- Ignoring ships and carts that are actively in use (parked carts stay eligible).
- Ignoring Obliterators (default on).
- Requiring containers to be player-built.
- Enabling or disabling the crafting requirement indicator fix.
- Enabling or disabling Mass Quick Deposit.
- Changing the Mass Quick Deposit hotkey.
- Optional Quick Deposit chest glow and color (off by default).
- Quick Deposit type exclusions and per-item exclude/allow lists.
- Station fuel/ore assist from nearby chests.
- Item locate (
nearbycommand) glow and duration. - Auto-reloading config when the
.cfgchanges on disk. - Optional manual config-reload hotkey (unset by default).
- BalrondConstructions compatibility.
- Debug logging.
The configuration file is generated at:
BepInEx/config/com.sonicdm.valheim.nearbycraftingforked.cfg
Settings can also be changed through a compatible mod-config interface (for example Official BepInEx Configuration Manager).
Config reload
[General]
AutoReloadConfig = true
ReloadConfigHotkey =
AutoReloadConfig(defaulttrue) watches the.cfgand reloads shortly after you save it.ReloadConfigHotkeyis optional and unset by default so it does not conflict with other mods. Assign a free key if you want a manual force-reload.- Container caches are invalidated after reload.
Installation
Mod manager (r2modman / Thunderstore)
- Disable or uninstall the original Nearby Crafting package if it is present.
- Install Nearby Crafting Forked (or import the local package / DLL into the profile).
- Launch once so the config file is created, then edit exclusions as needed.
- With
AutoReloadConfig = true, saving the cfg applies changes without restarting Valheim.
Recommended r2modman plugin layout (same pattern as other managed mods):
BepInEx/plugins/SonicDM-NearbyCraftingForked/
NearbyCraftingForked.dll
manifest.json
README.md
CHANGELOG.md
icon.png
Manual
- Install BepInExPack for Valheim.
- Place
NearbyCraftingForked.dllinBepInEx/plugins/(or a subfolder as above). - Remove any original
NearbyCrafting.dllfrom the profile.
Notes
- Nearby Crafting Forked uses Valheim's recipe requirement logic so conditional recipe requirements introduced in Valheim 1.0 are handled correctly.
- Resource consumption can be split between the player's inventory and multiple eligible nearby containers.
- Obliterators (Incinerator) are ignored by default via
Containers.IgnoreObliterators(Quick Deposit, crafting/building, and station fuel/ore assist). - This may break other CraftFromChests-style plugins that also patch crafting, building, or station fueling.
- For troubleshooting, enable debug logging in the mod configuration and check
BepInEx/LogOutput.log. - Enable
DebugContainerDetailsonly when needed; it is noisy.
Credits
- Author: SonicDM
- Original mod: Nearby Crafting by IPA38 / mikeg (
com.mikeg.valheim.nearbycrafting). - This fork adds Quick Deposit exclusion controls, allow-list exceptions, wildcards, live config reload, and station fuel/ore from chests under a separate plugin identity.
Build (developers)
Default Valheim / BepInEx reference folder:
E:\Scripts\Valheim Mods\Reqs
.\build.ps1
.\build.ps1 -Package
.\package.ps1
.\package.ps1 -SkipBuild
.\build.ps1 -LibDir "D:\Somewhere\ValheimRefs"
package.ps1 builds a Thunderstore-compatible zip under dist/ per Thunderstore package docs:
manifest.json,README.md,icon.png(256×256), optionalCHANGELOG.md, andNearbyCraftingForked.dllat the zip root- Validates manifest fields, UTF-8 readme, and icon dimensions before packing
Release (developers)
GitHub-hosted Actions cannot compile this mod (Valheim Managed DLLs stay local). Releases are cut from your machine:
- Bump
PluginVersion, csproj<Version>, andmanifest.jsonversion_numbertogether. - Add a
## X.Y.Zsection toCHANGELOG.md. - Package locally (
.\package.ps1), then publish:
.\release.ps1 -SkipPackage # use existing dist\NearbyCraftingForked-X.Y.Z.zip
# or
.\release.ps1 # package then release
release.ps1 validates versions, tags vX.Y.Z, pushes, and creates a GitHub Release whose body is the matching CHANGELOG section, with the Thunderstore zip attached. The Release workflow on tag push refreshes those notes if the tag lands first.
CHANGELOG
Changelog
1.5.3
- Item locate and Quick Deposit now glow parked carts. Cart inventories sit on a child container, so the glow uses the parent wagon meshes.
- Glow skips line and trail renderers so cart ropes and trails stay unlit.
1.5.2
- Quick Deposit glow duration is its own setting (
HighlightDurationSeconds, default 15). - Glow colors take hex (
#248038) or RGB (36,128,56/0.14,0.50,0.22), with a separate opacity slider (HighlightAlpha/GlowAlpha). - Default glow colors are dimmer (
#248038deposit,#8C731Alocate).
1.5.1
- Quick Deposit name lists no longer treat cooked foods as berries just because an ingredient is in the prefab id (Oatmeal /
OatmealLingonberryJamvs*Berr*). Patterns that start with*match the display name and the first prefab word only; item descriptions are never searched. Exact names likeOatmealmatch the localized display name, andExcludedItemsstill wins overAllowedItems. - Optional Quick Deposit chest glow:
HighlightChests(off by default) andHighlightColor(default green0.25,0.95,0.4, independent of Item Locate). Duration uses Item LocateDurationSeconds.nearby clearstill clears the glow.
1.5.0
- Add
nearbyconsole/chat command to locate an item in eligible nearby chests and glow the nearest matches ([Item Locate]config: Enabled, MaxHighlights, DurationSeconds, GlowColor). /nearby <name>supports Quick Deposit-style*wildcards;/nearbywith no args uses the held item;/nearby clearstops highlights.locateis registered as an alias fornearby.- Locate matching also treats the search text as a substring (so
surtling*finds both cores and trophies), matches localized display names (e.g.majestic carapace→QueenDrop), and chat lists distinct matched item names. - Parked carts are eligible when
IgnoreMovingContainersis on; carts that are attached/in use and ships are still ignored. - Local chat feedback only; auto-clears after the configured duration.
1.4.5
- Prune destroyed containers from the trait cache on each nearby-container refresh.
- Station fuel/ore helpers use cached Harmony method delegates (no per-call
MethodInfo.Invoke/object[]allocs). - Quick Deposit equipment exclusions use
ItemTypeenums (adds Hands + Trinket; avoids string drift). - Removed unused
HaveAggregatedRequirements. - Cleaned Quick Deposit config indentation and simplified build
HaveRequirementsoverride logic.
1.4.4
- Show vanilla “no room” (
$msg_noroom) when station fuel/ore assist finds the item in a chest but the player inventory cannot accept it.
1.4.3
- Station fuel/ore pull checks
CanAddItemand rolls back to the chest if the player inventory cannot accept the item (avoids destroying a stack on a full inventory). - Ore assist skips when the smelter/kiln queue is already full (same class of fix as fuel capacity in 1.4.2).
CraftingContext.Depthpairs via Harmony__stateso mid-craft disable/reload cannot leave consume intercept stuck on; sharedResetRuntimeState()on enable toggle, config reload, and destroy.- Nested
HaveRequirementItemsno longer wipes outerRecipeConsumptionRules. - Removed dead
Fireplace.UseItemassist path (Interact handles empty-hand fueling). package.ps1asserts manifest version matchesPluginVersionin source.
1.4.2
- Station fuel assist only pulls when the interaction will actually consume fuel (room for fuel; fireplace tap-to-toggle no longer pulls). Avoids stray fuel in inventory from rapid Use / macros on full or toggle-only lights.
1.4.1
- Fix station fuel assist for braziers, torches, campfires, and other
Fireplacelights: chest lookup usedGetItem(..., isPrefabName: true), so shared names like$item_resin/$item_coalnever matched. Charcoal kilns still worked because their wood input uses the ore/FindCookableItempath. - Skip non-refillable / infinite-fuel fixtures.
1.4.0
- Station fuel assist: pull one required fuel item from nearby chests when interacting with smelters, kilns, blast furnaces, campfires, torches, braziers, cooking-station fuel switches, and shield generators (
[Station Fuel] Enabled). - Optional smelter/kiln ore (cookable input) assist (
EnableOreFromChests). - Fuel type comes from each prefab (
m_fuelItem/m_fuelItems) — Wood, Resin, Coal, Greydwarf eye, etc. - Intended to cover station fuel/ore from nearby chests so separate CraftFromChests-style fueling mods are unnecessary (those often collide on craft/build patches).
1.3.0
- Forked from supplied Nearby Crafting 1.2.1 decompile.
- New unique plugin GUID, name, namespace and assembly.
- Added configurable Quick Deposit exclusions for consumables, ammo, equipment and utility items.
- Added comma-separated custom ItemType exclusions.
- Added comma-separated specific item/prefab exclusions and allow-list exceptions (
AllowedItems). - Added
*wildcard matching for item name lists. - Added optional config auto-reload when the
.cfgchanges on disk. - Exclusions affect Quick Deposit only.
- Thunderstore packaging via
package.ps1(manifest, README, 256×256 icon, zip root layout). - Obliterators (Incinerator) are excluded by default via
Containers.IgnoreObliterators(configurable).