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.
Hoard
A hoard for your enchanted gear, per ward or shared, with a sortable, filterable list, plus a Rune Cache shelf for enchanting materials.
By HelixDev
| Last updated | a week ago |
| Total downloads | 173 |
| Total rating | 0 |
| Categories | Mods Tweaks Gear Server-side Client-side Utility Building AI Generated |
| Dependency string | HelixDev-Hoard-1.1.2 |
| 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.2350ValheimModding-Jotunn
Jötunn (/ˈjɔːtʊn/, 'giant'), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.
Preferred version: 2.30.2shudnal-ConditionalConfigSync
Shared config synchronization and server policy library for Valheim mods. Installed as a dependency and compatible with Jotunn and ServerSync.
Preferred version: 1.0.9RandyKnapp-EpicLoot
Adds loot drops, magic items, and enchanting to Valheim.
Preferred version: 0.14.13README
Hoard
A hoard for your enchanted gear, shown as a list you can sort and filter instead of a chest grid. A Hoard inside your ward opens your ward's own store, shared with the players on that ward. A Hoard outside any ward opens a store the whole server shares (or, if the server chooses, each player's own). Stores grow as you beat bosses. A second piece, the Rune Cache, is a labelled shelf for runestones, shard stones and enchanting materials.
Requires EpicLoot. The Hoard only takes enchanted equipment.
The Hoard
- Build it with the hammer (Misc) near a workbench: 20 Wood, 10 Stone, 5 Resin.
- Items are kept on the server, not in the piece, so removing a Hoard with the hammer loses nothing. Nothing damages it: raids, fire, weather and losing its support all leave it alone.
- It takes identified EpicLoot magic equipment, from any mod. Plain gear, unidentified items and materials are refused with a message.
- You have to stand within 5 m to use it.
- An item from a mod you removed stays in the Hoard as "Unknown item" until the mod is back.
Which store a Hoard opens
- Inside a player's ward: that ward's own store. Only the ward's owner and the players on its list can open it. Every Hoard inside the same ward opens the same store. A new ward starts with an empty store.
- Outside every ward: the shared store, which every such Hoard opens. A server can set this to each player's
own store instead (
UnwardedHoards); then the shared store can't be opened until it's set back. - Several wards over one Hoard: the ward whose store was set up first wins. If none has a store yet, the nearest ward.
- A switched-off ward: its store still opens, for the players on its list. While a ward is off, anyone can add
themselves to its list at the stone, so the window warns you. A server can make it owner-only
(
OffWardAccess). - A ward that's gone or switched off: its store is kept for its owner. Place a new ward and open a Hoard inside it: the window offers Claim. Claim before depositing there, because a deposit starts a new store for that ward instead.
- The window's title always says which store you're in: Shared, Yours, or someone's ward.
Only the base game's wards count, and mods that use them (such as ProtectiveWards). Wards from WardIsLove,
ArcaneWard or LegacyWard aren't recognised: Hoards near them open the shared store. If a mod changes the ward range
only inside the game (ValheimPlus, BetterWards), set WardRange to the range it uses.
Tiers
Every store starts at 40 slots and upgrades on its own. You can upgrade at any Hoard of that store, one tier per boss. The boss has to be dead in the world. The materials come from your inventory, or with AzuCraftyBoxes also from nearby chests, as crafting does. The chest's look changes as it grows, and coin piles appear around it.
| Tier | Boss | Slots | Default cost |
|---|---|---|---|
| 1 | Eikthyr | 80 | Deer hide 10, Hard antler 1, Magic dust 5, Magic essence 2 |
| 2 | The Elder | 120 | Bronze 10, Fine wood 10, Magic dust 10, Magic reagent 5 |
| 3 | Bonemass | 180 | Iron 10, Chain 2, Rare dust 5, Rare essence 3 |
| 4 | Moder | 240 | Silver 10, Wolf pelt 5, Rare dust 10, Rare reagent 5 |
| 5 | Yagluth | 300 | Black metal 10, Linen thread 10, Epic dust 5, Epic essence 3 |
| 6 | The Queen | 380 | Eitr 10, Yggdrasil wood 10, Legendary dust 5, Legendary reagent 3 |
| 7 | Fader | 480 | Flametal 10, Grausten 10, Mythic dust 5, Mythic essence 3 |
The window
- To deposit, drag gear onto the list or Ctrl-click it in your inventory. To take, click a row or drag it out.
- Deposit all magic gear leaves your hotbar, equipped items, AzuExtendedPlayerInventory's slots and your QuickStackStore favourites where they are.
- Filters: name, rarity, type, biome, upgrade level, set pieces, enchantments (all or any, with minimum values), and up to three stat rows like "damage >= 120". Click a column to sort by it, and again to reverse.
- Hovering a row compares the item with what you have equipped.
- History tab: the store's recent deposits, takes, upgrades and claims, with who and when. Anyone who can open the store can see it.
- Taking needs a free inventory slot. If your inventory fills up before the item arrives, it waits until you make room.
- The game saves your character before a deposit when the item isn't in your last save exactly as it is now (picked up, crafted, enchanted or taken from the Hoard since). That save is what lets Hoard recover from a crash without losing or duplicating anything.
- Gamepad: the stick moves through the list, A takes, X deposits all, Y changes the sort, LB moves to the list (press it again to switch between Items and History), RB goes back to your inventory, and B closes. A on a Claim row claims it. Filters and the Upgrade button need a mouse.
The Rune Cache
A wardrobe with a shelf inside: one labelled slot for each material, rows Magic to Ancient, columns Dust, Essence, Reagent, Shard and Runestone. Empty slots show the material's faded icon. Shard stones and etched runestones go in the loose cells beside and below the shelf.
- Build it with the hammer (Misc) within 10 m of an enchanting table: 10 Fine wood, 8 Iron.
- It only takes runestones, shard stones and enchanting materials.
- Each material has exactly one slot, holding one normal stack. A material always goes to its own slot, however you add it (drag, quick-stack, Store All, MultiUserChest). When its slot is full, the add is refused with a message.
- QuickStackStore's Sort tidies it: every material back to its slot, everything else into the loose cells.
- Recycle_N_Reclaim's Reclaim all does nothing on a Rune Cache.
- Anyone can open it, and wards apply. It can't be damaged, and the hammer only removes it once it's empty.
- With AzuCraftyBoxes, enchanting pays from a nearby Rune Cache. Its contents can't be sacrificed.
RuneCacheShelfView(a per-computer setting) turns the labels and icons off; the slots and rules stay the same.
Installing
Install Hoard on the server and on every client, all on the same version.
If you use these mods, add the Rune Cache to their exclusions:
- AzuAutoStore, in the server's
Azumatt.AzuAutoStore.yml, so auto-store doesn't fill it:hoard_runecache: exclude: - All - PlanBuild: add
hoard_runecachetoExcluded plan prefabs, or a planned Rune Cache can be finished away from an enchanting table.
Updating from 1.0
- Take a backup of the world folder first.
- On its first start, 1.1 converts the Hoard's files and keeps a copy of the 1.0 files next to them (see "Going back to 1.0" below).
- Everything already in the Hoard stays in the shared store, at its tier. A Hoard that stands inside a ward now
opens that ward's new, empty store, at tier 0. To move your items, take them out at a Hoard outside every ward, then
deposit them at your ward's Hoard. With
UnwardedHoardson its defaultShared, an admin can instead turnWardStoresoff for a moment: every Hoard then opens the shared store. Move the 1.0 items before switchingUnwardedHoardstoPersonal: the shared store can't be opened while it's set toPersonal. - Rune Caches become wardrobes where they stand. The first time each one is opened, it moves its items into the new slots; nothing is removed. If a cache held two stacks of one material, the second goes to a loose cell: drag it onto the material's slot to merge them. The wardrobe is bigger than the old chest, so it can clip into walls; moving it means emptying it first.
Settings
BepInEx/config/helix.hoard.cfg. The server's values apply to everyone. Admins can change them in game with a
configuration manager, and a hand edit on the server is picked up within a few seconds.
| Section | What you can set |
|---|---|
| 2 Hoard | Build cost, access range, items per deposit message |
| 3 Tiers | Starting slots, and one line per tier: boss key; slots; materials, e.g. defeated_eikthyr; 80; DeerHide:10, HardAntler:1, DustMagic:5, EssenceMagic:2 |
| 4 Rune Cache | Build cost, FreeRows (rows of loose cells below the shelf, 0–8), how close the enchanting table must be. The old Rows setting is no longer used |
| 5 Storage | Backup copies to keep, journal size |
| 6 Wards | WardStores (on/off), OffWardAccess (Members or OwnerOnly), WardRange (0 = each ward's own), HistoryLength (0 hides the History tab), UnwardedHoards (Shared or Personal) |
| 9 Client | Window size, tooltip compare, log level, RuneCacheShelfView (per computer) |
Turning a setting off never moves or deletes items. With WardStores off, ward stores keep their items until it's
back on. With UnwardedHoards switched, the other kind of store keeps its items until it's switched back.
For admins
The stores live in the server's worlds_local folder, next to the world:
<World>.hoardwith.oldand.old2backups<World>.hoard.journal*, a record of every change<World>.hoard.<date>, a copy taken at every world save (the newest 10 are kept)
Players' games keep a small recovery file in a Hoard folder in their local save folder. Don't delete it.
Admin commands, in the console or in chat with a leading /:
| Command | |
|---|---|
hoard stats |
Items, number of stores, the shared store's tier, pending transfers, journal and backup state |
hoard stores [orphans|<player>] |
One line per store: its ward or owner, state (live, off, or orphan when its ward is gone), items, tier, last use |
hoard reattach <store ID> [transfer [<player>]] [force] |
Moves a store to the nearest ward you stand in that has no store yet. A ward store needs its ward gone or off, unless you add force; add transfer when that ward's owner isn't the store's owner. A personal store always needs transfer: alone it goes to the ward you stand in, and transfer <player> hands it to another character (an offline player by player ID). The shared store can't be moved |
hoard journal <player, item ID or request ID> [store:<store ID>] |
The latest matching journal lines |
hoard restore <item ID or request ID> [player ID] |
Gives the player a new copy of an item from the journal. Every run makes another copy, so use it only for items that were really lost |
hoard export |
Writes every stored item to a .hoardx file next to the store |
hoard verify |
Checks that every stored item can be loaded |
To roll the world back, stop the server, then:
- Restore the world backup.
- Move every
<World>.hoard*file, including the journal, into another folder. If the journal stays, the server replays it and undoes the rollback. - Copy the
<World>.hoard.<date>taken at the same world save back as<World>.hoard.
Characters don't roll back with the world, so items taken or deposited since can end up doubled or missing, the same as with any chest.
forcedelete on a Rune Cache deletes everything in it. Empty it first. A Hoard piece is safe to remove.
Going back to 1.0
1.0 refuses the files 1.1 has written and changes nothing, so the Hoard stays off until you reinstall 1.1 or restore the copy 1.1 kept when it converted them.
What a restore loses: the Hoard goes back to exactly what it held at the update. Items deposited since, including everything in every ward store and personal store, are gone. Items taken out since are back in the Hoard while the players still have them.
To restore:
- Stop the server.
- In the server log, find the newest
[store] migrated … 1.0 copy v1-<stamp>line. That stamp's set, the one with the newest<World>.hoard.v1-<stamp>.donefile, is the one to restore. An older complete set is an older state, and a set without a.donefile is incomplete: never restore it. - Move every other
<World>.hoard*file out of the worlds folder. - Check each file the
.donelists: its size and its CRC-32 (the checksum zip uses), for examplepython3 -c "import sys,zlib;d=open(sys.argv[1],'rb').read();print(len(d),format(zlib.crc32(d),'08x'))" <file>. - Rename each listed copy back to the original name it lists (drop
.v1-<stamp>). - Move the
.donefile itself aside, then start 1.0.
Limitations
- If your game crashes, an item you took comes back only if it was still in your inventory. One you had already moved into a backpack or an AzuExtendedPlayerInventory loadout is lost, as with a chest.
- A crash within a frame of an item leaving your inventory can duplicate it.
- With MultiUserChest:
- An item you took and then put in a chest another player's game is handling can be lost, if that chest refuses it in a rare race and your game crashes before the next save.
- If someone sorts a Rune Cache, or it converts on its first open, at the same moment another player drags an item into it, that item can be lost. MultiUserChest has the same race on any chest someone sorts.
- After a crash mid-transfer, log back in on the same computer. The recovery file doesn't travel with your character.
- A store belongs to a character, not an account. A new character doesn't see an old character's personal store or
ward stores (an admin can hand them over with
hoard reattach … transfer). - A ward rebuilt by the same player at exactly the same spot gets its old store back; anywhere else it's a new ward, and the old store waits to be claimed.
- While a ward is switched off, anyone can join its list at the stone, and the ward's owner can't remove them. This is how the base game's wards work.
- With AzuCraftyBoxes, upgrade materials taken from a chest another player's game is handling can come back, as with any AzuCraftyBoxes craft.
- Range checks trust the positions players' games report, like other chest mods.
Uninstalling
Empty every Rune Cache first. The Hoard's items stay in <World>.hoard and come back if you reinstall 1.1.