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.
BuildResourceRequirements Updated
Configurable build resource requirements per build category. Fork of Jammerbam's mod, updated for Valheim 1.0.
| Last updated | a month ago |
| Total downloads | 164 |
| Total rating | 0 |
| Categories | Mods Server-side Client-side Building |
| Dependency string | eoger-BuildResourceRequirements_Updated-1.2.1 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
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.2350README
Build Resource Requirements (Updated for Valheim 1.0)
This is a fork of Jammerbam's Build Resource Requirements (original Thunderstore listing), rebuilt for Valheim 1.0 (Unity 6). All credit for the mod itself goes to Jammerbam; this fork only updates it for the current game version. Source: https://github.com/eoger/BuildResourceRequirements
Build Resources Requirements is a mod that allows control over whether resources are required for specific build categories, tools, and pieces. This includes support for vanilla and modded categories, and configuration syncing. I wrote this mod because I didn't really like how the world modifier for disabling resources turned off everything, including the cultivator.
Features
- Category-Based Resource Requirements: Configure resource requirements for specific build categories (e.g., Crafting, Furniture, Misc.).
- Tool-Specific Configurations: Enable or disable resource requirements for tools such as the Cultivator and Hoe.
- Piece Exceptions: Specify individual pieces that should never require resources, regardless of their category.
- Modded Category Support: Automatically detects and configures newly added modded categories.
- Skill Based Resource Requirements: Configurable option to reduce resource requirements depending on the players crafting skill level.
- Multiplayer Synchronization: Ensures all players share the same configuration when connected to a multiplayer server.
Requirements
- Valheim 1.0.x (Unity 6). Older game versions (0.22x and earlier) need mod version 1.1.0.
- BepInExPack_Valheim 5.4.2350 or newer (BepInEx 5.4.23.5, Unity 6 aware).
Installation
- Install BepInEx (BepInExPack_Valheim 5.4.2350+).
- Extract the
BuildResourcesMod.dllinto theBepInEx/pluginsfolder. - Launch Valheim to generate the configuration file.
Building from source
The project is an SDK-style csproj and builds with the .NET 8 SDK (no Visual Studio needed). ServerSync is pulled in as a git submodule and compiled straight into the plugin, so clone with submodules:
git clone --recurse-submodules https://github.com/eoger/BuildResourceRequirements.git
or, in an existing checkout, git submodule update --init. Then:
dotnet build -c Release -p:GamePath="C:\Program Files (x86)\Steam\steamapps\common\Valheim"
GamePath defaults to the standard Steam location. BepInExCore defaults to <GamePath>\BepInEx\core
and can be overridden the same way. The output is a single bin/Release/BuildResourcesMod.dll.
Configuration
The configuration file is generated in BepInEx/config/Jammerbam.buildresourcesmod.cfg.
Categories
These are the available categories and their defaults:
[Categories]
MiscRequiresResources = true
CraftingRequiresResources = true
FurnitureRequiresResources = false
BuildingWorkbenchRequiresResources = false (Build)
BuildingStonecutterRequiresResources = false (Heavy Building)
DeepNorthRequiresResources = false (new in Valheim 1.0: the 67-degree steep roof/wall pieces)
CultivatorRequiresResources = true
HoeRequiresResources = true
Exceptions
Individual pieces can be added to the exceptions list:
[Exceptions]
## Comma-separated list of pieces that are always buildable.
# Setting type: String
# Default value:
PieceExceptions = darkwood_wolf,darkwood_raven,wood_dragon1
Add piece names as a comma-separated list. Exceptions override category-based settings and never require resources.
Skill Based Resource Reduction
The mod has an option to enable a feature to reduce resource requirements depending on the players crafting sill level.
This works as a percentage, so if the player has a crafting skill of 50, the required resources will be 50% less.
There is also another option to completly disable resource requirements if the player has a crafting skill of 100. If this option is disabled, all pieces will require at least 1 of each required item.
Modded Categories
The mod will detect modded categories and add them to the config file. These categories are usually added when you load a world. If you want to configure a modded category, load a world, then close the game.
Currently, the way that modded categories are displayed in the config file is by a numerical value, which is assigned when it is loaded in the game.
## Require resources for modded category: <label from the piece table>
# Setting type: Boolean
# Default value: true
9RequiresResources = true
If you need to find the category, enable the debugging option, and select a piece from the category. In the log it should show something like this:
[Info : Unity Log] [BuildResourcesMod] Piece 'Armory_TW' in category '9' requires resources: True
You can also use this same method to find the name of a piece to add it to exceptions.
Disclaimer
This is my very first mod, and my first time coding in C#. There are things that will inevitably be broken as I haven't been able to test for all scenarios. Please report if anything goes wrong so I can fix it.
Changelog
1.2.1
- Resource-consumption and requirement hooks now run at the highest Harmony priority. Fixes free pieces still being charged (including from nearby chests) when AzuCraftyBoxes is installed.
1.2.0
- Updated for Valheim 1.0 (Unity 6). Rebuilt against the 1.0.7 game assemblies and BepInExPack_Valheim 5.4.2350.
- Bundled ServerSync rebuilt for 1.0 (the old build crashed on load with a
MissingFieldException). - Added the new DeepNorth build category to the config. Despite the name it contains the new 67-degree steep roof, wall and beam pieces, so it defaults to free like the other building tabs.
- Modded category config descriptions now use the category label from the piece table instead of an unlocalized
$category_Ntoken. - Fixed a null reference when a piece could not be resolved while checking requirements.
- Config version requirement raised to 1.2.0 so 1.1.0 clients are rejected by 1.2.0 servers (they would not work on Valheim 1.0 anyway).
Planned Changes
- Fix the naming scheme in the config to make it more user-friendly.
- Continue updating and support for game updates.
Credits
Almost all of the code was written by me however the config syncing is powered by: https://github.com/blaxxun-boop/ServerSync