
SorosQualityOfLife
Co-op QoL: Production Chest (Input/Output), auto animal feeding/taming, full-duration food, Recycle tab, shared chests, Craft Totem, fuel-free lights. Made with AI assistance; limited in-game testing.Soro's Quality of life mod
⚠️ AI disclosure
This mod was developed with the help of an AI assistant and has had limited in-game testing so far. Please back up your world and report any problems.
BepInEx 5 mod for Valheim (GUID soro.qualityoflife, DLL SorosQualityOfLife.dll).
Install it on every player's game, including the host. When you're connected to a host, the host's config values are used. Clients keep their own file but ignore it while connected.
Install: copy SorosQualityOfLife.dll into BepInEx\plugins\. Config file: BepInEx\config\soro.qualityoflife.cfg.
Features (each can be switched off in the config)
1. Production Chest and Reinforced Production Chest (hammer → Misc, need a Workbench)
- Production Chest: cloned from the wood chest, costs 10 Wood + 2 Resin.
- Reinforced Production Chest: cloned from the reinforced chest, so it has the larger inventory, costs 10 Fine Wood + 2 Iron. It works exactly like the Production Chest.
Regular chests are never touched. Each Production Chest (either size) has a role, chosen in its window (default: Input):
- Input pushes its contents into nearby stations: ore, wood, raw food, mead bases and fuel.
- Output takes finished products from nearby stations: bars, coal, cooked food, mead, honey, sap and so on.
- The role and station type are saved on the chest, so every player sees the same setting. Hovering over the chest shows both.
- Upgrading from 1.0.8 or older: the old separate Input/Output chests no longer exist. Empty them and remove them before updating, or their contents will be lost. Then place new Production Chests.
- Open the chest and press the Settings button (next to "Place stacks") to show the picker panel. It starts closed and closes with the chest. In it you choose the role (Input/Output) and the station type: All, Smelter, Blast Furnace, Kiln, Eitr Refinery, Fermenter, Beehive, Sap Collector, Cooking Station, Oven, Windmill, Spinning Wheel, Fuel, and Animal Feeding (Input only). Modes that don't apply to the current role are hidden. Chests set to the old combined "Windmill/Spinning Wheel" option keep serving both until you pick a new option.
- Fuel mode (Input only) refuels every fuel-burning station in range with whatever fuel each one accepts: campfires, hearths, smelters, kilns, furnaces, ovens and hot tubs. It doesn't put in ore or food.
- "All" means every station type, but not animals.
- Range: each chest has its own range, set with the slider in its Settings panel (1 m steps). It goes from 5 m up to the host's
Max Rangeconfig (default and limit 30 m). Saved values are always kept within 5–30 m. Chests without their own value use theRangeconfig (default 10 m). The value is saved on the chest and applies to feeding, collecting, fuel and animals. - Co-op safety:
- Only the player who currently "owns" the chest in the network runs it.
- Stations owned by another player are changed through the game's own station network calls.
- Each station has its own cooldown.
- If the first Output chest is full, items go to the next Output chest in range. If none has room, they drop at the station, so nothing is lost.
2. Animal feeding
A Production Chest in the Input role set to Animal Feeding feeds hungry tamed animals in range. It also feeds hungry wild tameable animals, so they tame by themselves. Each animal only gets food it accepts. The chest owner takes one item, and the animal's owner runs the game's normal "ate food" logic. Vanilla taming still requires a player to be nearby and the animal to be calm.
3. Full-duration food
Food gives its full health, stamina and eitr until it runs out.
4. Recycle tab
At a crafting station, a Recycle tab appears next to Craft/Upgrade. It lists items you can recycle and what you get back. The default return is 100% and can be changed. By default you must be at the item's own station and level. It only changes your own inventory.
5. Multi-user chests
Up to 3 players (configurable) can have the same chest open at once. Only the chest's network owner changes its contents. Other players' clicks are sent to the owner as take/put requests. Items are always removed from one side before they're handed to the other, so they can't be duplicated. If an item doesn't fit, it's returned or dropped.
- Supported for other players: click to take, Shift-click to take half, drop an item onto a slot, Ctrl/Shift-click to move from your inventory, and Take All.
- Stack All is only available to the first player using the chest.
6. Craft Totem (hammer → Misc)
Inside its radius (default 50 m), crafting and building can use materials from accessible player-built chests in range. Carts, ships and warded chests you don't have access to are excluded. Recipes and build pieces count your inventory plus all those chests. When you craft or build, the shortfall is taken from the chests instantly: chests you own are used first, and other players' chests remove the items through their owner. There's no waiting and no second press.
7. Lights need no fuel
Torches, sconces, braziers, lanterns, lamps and candles stay lit forever. Campfires, hearths, kilns, smelters, furnaces, ovens and other stations still use fuel. Only the light's network owner writes the fuel value.
Building from source
dotnet build -c Release. Reference DLLs go in lib/ (public "publicized" reference packages). To build against your own game install, use -p:GameRefs=<folder>.
Credits & licences
- Multi-user chests are based on MultiUserChest (No-Chest-Block) by MSchmoecker, used under the MIT licence:
MIT License
Copyright (c) 2022 Maximilian Schmöcker
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
- Fuel-free lights are based on TorchesEternal (WTFPL). Thanks to its author.
- Craft Totem (crafting/building from chests) is inspired by aedenthorn's CraftFromContainers (public domain). Thanks, aedenthorn.
- All other features are original code.