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

Details

Date Uploaded
3 days ago
Downloads
23
Size
84KB
ADDatHost Valheim hosting
30% off

PersonalChestHeeler

GitHub Release GitHub Downloads Last Commit Publish Status Thunderstore Hexium Nexus Mods Game: Valheim BepInEx Pack Target: .NET 4.8 Client & Server License AI Philosophy

Tiered personal locked storage chests scaled across Valheim progression ages with server-synced configurable capacity, crafting recipes, and subtle emissive lock indicators.

[!NOTE] Multiplayer Requirement: In multiplayer, this mod must be installed on both the dedicated server and all connecting clients because it registers custom piece prefabs. It also works seamlessly in standalone single-player.


Overview

In vanilla Valheim, private locked storage is limited to a single 6-slot Personal Chest (piece_chest_private). PersonalChestHeeler introduces a 7-tier progression of secure personal lockboxes and vaults scaled across Valheim's biomes and crafting stations. Each tier features dedicated physical sizing, themed emissive lock glows, custom sound layering, and full multiplayer server synchronization.

Progression Matrix

Tier Prefab Name Vanilla Donor Asset Grid (W x H) Slots Scale Lock Glow Hue Default Recipe Required Station Health
Tier 1 (Chained Lockbox) piece_chest_chained_personal TreasureChest_morkhalla 3 x 2 6 0.30x Gold Amber (#D2A700) Wood:8,Tin:1,Copper:1,Resin:4,GreydwarfEye:1 Workbench 250
Tier 2 (Bronze Trussed Chest) piece_chest_finewood_personal piece_chest_private 4 x 3 12 0.90x Forest Green (#00AA39) RoundLog:12,Bronze:4,Ooze:4,WitheredBone:2,Ectoplasm:1 Forge 1,000
Tier 3 (Ironbound Strongbox) piece_chest_reinforced_personal piece_chest 6 x 3 18 0.60x Fiery Orange (#FF7900) ElderBark:16,Iron:6,Guck:4,WolfFang:4,SurtlingCore:1 Forge 1,500
Tier 4 (Ornate Silver Coffer) piece_chest_dvergr_sm_personal TreasureChest_dvergrtower 6 x 4 24 1.10x Arcane Magenta (#E360E7) FineWood:20,Silver:8,Tar:4,LinenThread:8,WolfClaw:1 Artisan Table 2,500
Tier 5 (Dvergr Clockwork Vault) piece_chest_dvergr_lg_personal TreasureChest_dvergrtown 6 x 5 30 1.20x Cobalt Blue (#2359FF) YggdrasilWood:24,BlackMetal:10,Sap:4,MechanicalSpring:2,Eitr:1 Black Forge 4,000
Tier 6 (Charred Flametal Safehold) piece_chest_charred_personal TreasureChest_charredfortress 6 x 6 36 0.95x Crimson Red (#FF0000) Blackwood:28,FlametalNew:12,CharcoalResin:4,CeramicPlate:2,Wisp:1 Black Forge 10,000
Tier 7 (Ancient Morkhalla Reliquary) piece_chest_ancient_personal Morkhalla_ChestAncient 7 x 6 42 0.90x Pale Glacial Cyan (#CAFFFF) Grausten:32,Gold:14,OozeMork:4,Frostwood:8,MemorialCoal:1 Galdr Table 25,000

Features

  • Dedicated Hammer Category: Appears under a dedicated "Personal Chests" tab in the Hammer build menu using Jötunn's Valheim 1.x category support, while retaining Storage filter tags.
  • Normalized Piece Physics: All chest colliders are standardized on the piece physics layer (layer 10) for seamless building grid snapping, reliable repair targeting, and zero ground clipping.
  • Themed Emissive Lock Glow (ChestGlowController): Each chest features a gentle, lock-centered point light and material emission reflecting its metal/biome tier, instantly distinguishing private storage from shared chests.
  • Access Control & Dismantle Protection: Enforces creator ownership across multiplayer servers. Prevents deconstruction of chests containing items.
  • Admin Lock Bypass: Server administrators can optionally bypass personal chest locks (AdminBypassesLock).
  • HUD Ownership Indicators: Contextual hover text highlights lock status ([Personal Lock: Owned] in green, [Personal Lock: Restricted] in red).
  • Live Configuration Hot-Reload: Capacities, recipes, crafting stations, health, and visual glow settings synchronize across clients via ConditionalConfigSync.
  • Zero Asset Bundle Overhead: Uses zero-asset prefab cloning from built-in Valheim assets.

Configuration

Settings can be customized directly in-game using the BepInEx Configuration Manager (F1) or by editing BepInEx/config/dreamwraith.PersonalChestHeeler.cfg:

Section Key Type Default Description
1 - General EnableMod bool true Master switch to enable or disable mod functionality.
1 - General AdminBypassesLock bool true If true, server administrators bypass personal chest ownership restrictions.
1 - General PieceCategory string Personal Chests Hammer build menu category name (supports custom names or vanilla categories).
1 - General EnableChestGlow bool true Enables subtle emissive lock indicator and point-light on chests.
1 - General ChestGlowIntensity float 1.0 Intensity multiplier for chest lock glow and point lights (0.0 - 3.0).
1 - General EnableDebugLogs bool false Enables verbose diagnostic logging in the BepInEx console.
2 - Chest.Chained Chained Chest Enabled bool true Enable Tier 1 Chained Lockbox.
2 - Chest.Chained Chained Chest Health float 250.0 Structural health points.
2 - Chest.Chained Chained Chest Inventory Height int 2 Inventory grid row height (1 - 10).
2 - Chest.Chained Chained Chest Inventory Width int 3 Inventory grid column width (1 - 10) (6 slots total).
2 - Chest.Chained Chained Chest Crafting Station string piece_workbench Required crafting station.
2 - Chest.Chained Chained Chest Recipe string Wood:8,Tin:1,Copper:1,Resin:4,GreydwarfEye:1 Crafting requirements formatted as ItemPrefab:Amount,....
3 - Chest.FineWood Fine Wood Chest Enabled bool true Enable Tier 2 Bronze Trussed Chest.
3 - Chest.FineWood Fine Wood Chest Health float 1000.0 Structural health points.
3 - Chest.FineWood Fine Wood Chest Inventory Height int 3 Inventory grid row height (1 - 10).
3 - Chest.FineWood Fine Wood Chest Inventory Width int 4 Inventory grid column width (1 - 10) (12 slots total).
3 - Chest.FineWood Fine Wood Chest Crafting Station string forge Required crafting station.
3 - Chest.FineWood Fine Wood Chest Recipe string RoundLog:12,Bronze:4,Ooze:4,WitheredBone:2,Ectoplasm:1 Crafting requirements.
4 - Chest.Reinforced Reinforced Chest Enabled bool true Enable Tier 3 Ironbound Strongbox.
4 - Chest.Reinforced Reinforced Chest Health float 1500.0 Structural health points.
4 - Chest.Reinforced Reinforced Chest Inventory Height int 3 Inventory grid row height (1 - 10).
4 - Chest.Reinforced Reinforced Chest Inventory Width int 6 Inventory grid column width (1 - 10) (18 slots total).
4 - Chest.Reinforced Reinforced Chest Crafting Station string forge Required crafting station.
4 - Chest.Reinforced Reinforced Chest Recipe string ElderBark:16,Iron:6,Guck:4,WolfFang:4,SurtlingCore:1 Crafting requirements.
5 - Chest.SmallDvergr Small Dvergr Chest Enabled bool true Enable Tier 4 Ornate Silver Coffer.
5 - Chest.SmallDvergr Small Dvergr Chest Health float 2500.0 Structural health points.
5 - Chest.SmallDvergr Small Dvergr Chest Inventory Height int 4 Inventory grid row height (1 - 10).
5 - Chest.SmallDvergr Small Dvergr Chest Inventory Width int 6 Inventory grid column width (1 - 10) (24 slots total).
5 - Chest.SmallDvergr Small Dvergr Chest Crafting Station string piece_artisanstation Required crafting station.
5 - Chest.SmallDvergr Small Dvergr Chest Recipe string FineWood:20,Silver:8,Tar:4,LinenThread:8,WolfClaw:1 Crafting requirements.
6 - Chest.LargeDvergr Large Dvergr Chest Enabled bool true Enable Tier 5 Dvergr Clockwork Vault.
6 - Chest.LargeDvergr Large Dvergr Chest Health float 4000.0 Structural health points.
6 - Chest.LargeDvergr Large Dvergr Chest Inventory Height int 5 Inventory grid row height (1 - 10).
6 - Chest.LargeDvergr Large Dvergr Chest Inventory Width int 6 Inventory grid column width (1 - 10) (30 slots total).
6 - Chest.LargeDvergr Large Dvergr Chest Crafting Station string blackforge Required crafting station.
6 - Chest.LargeDvergr Large Dvergr Chest Recipe string YggdrasilWood:24,BlackMetal:10,Sap:4,MechanicalSpring:2,Eitr:1 Crafting requirements.
7 - Chest.CharredFortress Charred Fortress Chest Enabled bool true Enable Tier 6 Charred Flametal Safehold.
7 - Chest.CharredFortress Charred Fortress Chest Health float 10000.0 Structural health points.
7 - Chest.CharredFortress Charred Fortress Chest Inventory Height int 6 Inventory grid row height (1 - 10).
7 - Chest.CharredFortress Charred Fortress Chest Inventory Width int 6 Inventory grid column width (1 - 10) (36 slots total).
7 - Chest.CharredFortress Charred Fortress Chest Crafting Station string blackforge Required crafting station.
7 - Chest.CharredFortress Charred Fortress Chest Recipe string Blackwood:28,FlametalNew:12,CharcoalResin:4,CeramicPlate:2,Wisp:1 Crafting requirements.
8 - Chest.AncientMorkhalla Ancient Chest Enabled bool true Enable Tier 7 Ancient Morkhalla Reliquary.
8 - Chest.AncientMorkhalla Ancient Chest Health float 25000.0 Structural health points.
8 - Chest.AncientMorkhalla Ancient Chest Inventory Height int 6 Inventory grid row height (1 - 10).
8 - Chest.AncientMorkhalla Ancient Chest Inventory Width int 7 Inventory grid column width (1 - 10) (42 slots total).
8 - Chest.AncientMorkhalla Ancient Chest Crafting Station string piece_magetable Required crafting station.
8 - Chest.AncientMorkhalla Ancient Chest Recipe string Grausten:32,Gold:14,OozeMork:4,Frostwood:8,MemorialCoal:1 Crafting requirements.

Compatibility

  • Multiplayer: Must be installed on both the dedicated server and all connecting clients. Attempting to place custom chests on a server without the mod will result in missing prefab errors.
  • Single-Player: Fully functional in local single-player worlds.
  • Mod Managers: Fully compatible with Gale, Thunderstore Mod Manager, and r2modman.
  • Modded Setups: Cleanly integrates with other building and inventory mods without conflicts.

Installation

[!TIP] Mod Manager Recommended: Using a modern mod manager like Gale or Thunderstore makes installation and automatic dependency updates effortless.

Mod Manager (Recommended)

  1. Install via Gale, Thunderstore Mod Manager, or r2modman.
  2. Launch Valheim and enjoy!

Manual Installation

  1. Ensure BepInExPack Valheim is installed.
  2. Download and extract the latest release archive.
  3. Place PersonalChestHeeler.dll into your Valheim/BepInEx/plugins/ directory.
  4. Launch Valheim.

Building from Source

The project uses a portable MSBuild configuration that auto-detects standard Steam paths.

dotnet build -c Release

The compiled assembly will be placed in bin/Release/net48/PersonalChestHeeler.dll. Building in Release configuration automatically packages the distribution ZIP to bin/Publish/PersonalChestHeeler-<Version>.zip. For details on version bumping and standalone archive generation, see PACKAGE.md.

Custom & CI Paths

For non-standard Steam library locations or mod manager profiles, copy PersonalChestHeeler.csproj.user.example to PersonalChestHeeler.csproj.user in the project root:

<?xml version="1.0" encoding="utf-8"?>
<Project>
  <PropertyGroup>
    <GamePath>D:\SteamLibrary\steamapps\common\Valheim</GamePath>
    <BepInExCorePath>$(UserProfile)\AppData\Roaming\com.kesomannen.gale\valheim\profiles\<ProfileName>\BepInEx\core</BepInExCorePath>
  </PropertyGroup>
</Project>

Packaging, Publishing & Releases

All developer automation tools for release management, packaging, and publishing to Thunderstore, Hexium, and Nexus Mods are consolidated into the single PowerShell 7 entrypoint .scripts/modtools.ps1, powered by the shared DW.ValheimModTools module:

  • Release Management: pwsh ./.scripts/modtools.ps1 release compiles in Release, creates mod & source archives, extracts changelog notes, and publishes GitHub Releases (Draft by default, or published with -Publish) using the gh CLI.
  • Packaging & Version Bumping: pwsh ./.scripts/modtools.ps1 package -Bump Patch increments SemVer in PersonalChestHeeler.csproj, updates manifest.json, and bundles distribution archives.
  • Portal Publishing: pwsh ./.scripts/modtools.ps1 publish -Target All uploads directly to Thunderstore, Hexium, and Nexus Mods APIs.
  • CI/CD Workflow: .github/workflows/publish.yml provides an automated GitHub Actions workflow to publish to Thunderstore, Hexium, and Nexus Mods whenever a GitHub Release is published.

For detailed documentation on flags, workflows, and secret configuration, see .scripts/README.md.


License, Author Notes

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.