Valheim
Install with App

Details

Latest version
0.19.0
Last Updated
First Uploaded
Downloads
84
Likes
1
Size
124KB
Dependants
ADDatHost Valheim hosting
30% off

0.19.0

  • Removed /kick restock-reload and /kick reload-restock-regen. Hot reload is left to BepInEx ScriptEngine, which reloads the mod by itself when the DLL in BepInEx/scripts is replaced (with EnableFileSystemWatcher = true). The command only called a private method inside ScriptEngine.

0.18.0

  • Jotun invasions can be started again. The black ice block in a Morkhalla dungeon (BlackIce_Start) starts a jotun invasion when broken and is then gone for good, so each dungeon could start only one. It now comes back with the dungeon's gems and coin piles, once nobody has been inside for 30 in-game days. Blocks broken before this version left nothing behind and cannot come back. The owner's save of 2026-10-04 had 10 blocks left in 15 dungeons.
  • Fixed: a dungeon could lose its clock and its remembered spots on a mod reload, and could be skipped as occupied with nobody there. The mod treated any object with an owner as held by a player, but the game leaves the last nearby player as owner after they log off or walk away, until someone else comes by or the server restarts. An object now counts as held only while its owner is connected and has it loaded. Seen on 2026-10-04: two of three citadels restarted their 30 days when 0.17.0 was loaded.

0.17.0

  • Ice comes back in the Deep North: the ice ponds (IcePond_rock) and the ice along the shore (IceShore_1) are restored where nobody has been within 100 m for 30 in-game days, like obsidian. /kick restock-regen-ice, [Ice] and [DeepNorth] settings, and a message on entering the Deep North.
  • Read from the game's prefab data: both break into a mineable version on the first hit (1 to 3 ice per chunk for a pond, 2 to 3 for shore ice, which needs a tier 2 pickaxe) and are deleted with the last chunk. Nothing in the game brings them back. The owner's save of 2026-09-30 had 5 ponds (1 partly mined) and 241 pieces of shore ice (11 partly mined).
  • The floating ice on the sea (ice1) is not restored: it drifts, so it has no spot to come back to. The large floating ice shelves give no ice.

0.16.0

  • The Queen comes back. A Mistlands infested citadel whose Queen has been killed resets once nobody has been inside it for 30 in-game days: the Queen (SeekerQueen) is put back in her place, the sealed door (dungeon_queen_door) is closed again, and the seeker eggs and creep blocks the mod has seen are restored. A citadel whose Queen is alive is never touched. /kick restock-regen-citadel and [Citadel] settings.
  • A player standing in front of the door of a citadel whose Queen is dead is told how many days are left, and again on going inside.
  • Read from the game's prefab data: the Queen is not spawned by anything, she is an object in the citadel's entrance room, so once killed the game never puts her back by itself. Her place is worked out from the room positions the citadel keeps, so a Queen killed before the mod was installed comes back too. Checked against the owner's save of 2026-09-30: both citadels had no Queen and an open door, and the room's 26 seeker spawners land exactly where the same calculation puts them.
  • The sealed door needs a Sealbreaker and does not use it up, so closing it costs players nothing they already have. CitadelCloseDoor turns that off.

0.15.0

  • The Deep North's Holes get their trash piles (elaking_trashpile) and spawner nests (Spawner_Hole, Spawner_Hole_double) back once nobody has been inside for 30 in-game days. Both are deleted when broken and the game never restores them; restoring a nest also brings its creatures back. /kick restock-regen-hole and [TheHole] settings.
  • Read from the game's prefab data and checked against the owner's saves: glow worms respawn by themselves after 240 minutes (27 already had), so they are left to the game. Between 2026-09-25 and 09-30, 9 of 75 trash piles, 4 of 19 double nests and 113 roots had been broken and stayed gone. Roots are not restored, on the owner's decision: many block passages.

0.14.0

  • The Deep North's Morkhalla dungeon gets its gems and coin piles back once nobody has been inside for 30 in-game days: the gemstones in the statue eyes (Morkhalla_Eye1 to Eye7), the rubble piles that drop ancient coins (Morkhalla_Rubble1 to Rubble4) and the treasure piles (Pickable_MorkHallaTreasure). /kick restock-regen-morkhalla and [Morkhalla] settings.
  • How each one behaves was read from the game's own prefab data this time, not inferred: the eyes stay in the world marked as taken with no respawn time, a broken coin pile is deleted and leaves only non-persistent debris, and a treasure pile is deleted when taken.
  • tools/PrefabDump reads a prefab's settings out of the game's asset bundles. Every earlier feature was re-checked with it. Confirmed: mud piles, ancient armor, crystals, black cores, and that dragon eggs respawn by themselves (480 minutes). Two descriptions were wrong and are corrected, with no change to what the mod does:
    • Flametal: a spire's chance of sinking is 1 in 100 per hit, not 1 in 4, and a fully mined spire is not deleted, it stays as an empty husk. The mod restores a husk or a sunk spire alike.
    • Obsidian: a deposit is one breakable object, so there is no partly mined state. It is either there or gone.

0.13.0

  • Flametal comes back. The flametal spire in the Ashlands' lava (LeviathanLava) runs the ocean Leviathan's code: each hit has a chance of making it leave, which marks it dead, sinks it and deletes it, and the game never puts it back. A spire with any chunk mined, or one that has sunk, is now restored whole once no player has been within 100 m for 30 in-game days, and never within 8 m of anything a player built. [Flametal] and [Ashlands] settings, /kick restock-regen-flametal, and a message on entering the Ashlands.
  • A spire floats, so its remembered spot is matched flat within 6 m rather than to 20 cm; the nearest two spires on the owner's world are 25 m apart.
  • Not yet seen in a save: none of the 67 spires on the owner's world had been mined when this was written, so the mined and sunk states come from the game code, not from an example.

0.12.0

  • Black cores in infested mines come back. A taken core's stand stays in the world marked as taken and the game never resets it (39 of 172 on the owner's world). A mine's cores are now restored once nobody has been inside it for 30 in-game days, like mud piles and crystals, with the same entrance and inside messages. Restoring is clearing the stand's taken mark, so nothing is created and cores taken before the mod was installed come back too. /kick restock-regen-cores and [InfestedMines] settings.
  • Dragon eggs removed. 0.10.0 added a dragon egg group on the belief that taking an egg deletes it. That was wrong: the egg stays, marked as taken, and the game un-takes it on its own timer (the owner's save holds eggs that have already come back). The group could never have done anything, it only acted on eggs that had vanished, and none do. The [DragonEgg] settings and /kick restock-regen-eggs are gone, and the Mountains message now mentions obsidian only. Egg records are dropped from the record file.
  • The start-up log now says, for each tracked pickable, what the game itself does when it is picked (deleted or kept) and its respawn time, so a wrong assumption like the one above shows up at once.

0.11.0

  • Frost cave crystals come back. The game deletes a crystal when it is picked and never restores it (32 picked on the owner's world between 2026-09-18 and 09-25 had not returned by 09-29). A frost cave's crystals now regenerate once nobody has been inside it for 30 in-game days, exactly like the sunken crypts' mud piles, with the same entrance and inside messages.
  • /kick restock-regen-crystals, and [FrostCaves] settings.
  • The mud pile code became a shared dungeon regrow engine for both. Mud pile settings, stored data and behaviour are unchanged.

0.10.0

  • Obsidian deposits and dragon eggs in the Mountains come back like ancient armor: once no player has been within 100 m for 30 in-game days, and never where a player has built within 8 m. A partly mined deposit is replaced by a whole one; a mined-out deposit or a taken egg is put back. Each has its own settings ([Obsidian], [DragonEgg]). Restoring eggs makes Moder repeatable.
  • Entering the Mountains shows "The spirits will restore obsidian and dragon eggs after 30 days without visitors" ([Mountains] settings).
  • /kick restock-regen-obsidian and /kick restock-regen-eggs.
  • The ancient armor code became a shared "regrow" module for all three kinds. Settings and the record file are unchanged.

0.9.1

  • Fixed ancient armor records counting a piece twice. Positions were written to the record file with too few decimals, so a piece on a rounding edge read back as a separate spot that looked mined out, and would have been doubled once due. Positions are now written in full, matched with a 20 cm tolerance, and duplicates an older build wrote are dropped when the file is read. Found in dry run on the live server, before anything was restored.

0.9.0

  • Ancient armor in the Mistlands comes back. A mined giant helmet or sword (giant_helmet1/2, giant_sword1/2) is restored once no player has been within 100 m of it for 30 in-game days, and never where anything a player built stands within 8 m of the spot. Spots are remembered from the first time the mod sees a piece, and kept with the area visits in worlds_local/<world>.restockregen.txt beside the world save.
  • Entering the Mistlands shows "The spirits will restore ancient armor after 30 days without visitors", at most once every 10 minutes per player.
  • /kick restock-regen-armor restores every free mined piece now.
  • New [AncientArmor] settings: AncientArmor, AncientArmorDays, AncientArmorDryRun, AncientArmorVisitRadius, AncientArmorBuildClearance, AncientArmorNotifyText, AncientArmorNotifyCooldown.
  • README rewritten as a full guide, with a detailed admin command section.
  • The DLL carries its debug symbols inside it. ScriptEngine reads symbols when it loads a plugin, and refused the first 0.9.0 build, which had them in a separate file.

0.8.0

  • Admin commands, typed in the chat box as /kick restock-<command> (or kick restock-<command> in the F5 console): restock-help, restock-status, restock-reload, restock-regen, restock-get:Setting, restock-set:Setting=value. They ride on Valheim's own kick command, the one console command that reaches the server with its text, and are answered in the admin's console and top-left. The server checks adminlist.txt; a real kick is unaffected.
  • Hot reload with BepInEx ScriptEngine: with RestockRegen in BepInEx/scripts, replacing the DLL or restock-reload loads the new version without a server restart.
  • Each load patches under its own Harmony id, so an unloading copy cannot remove the new copy's patches, and pending records are written out on unload.

0.7.0

  • Chests near a base restock too. A chest a player has loaded used to wait until nobody was near, so chests close to a base, loaded almost all the time, never came back (33-38 of them a day on the owner's server). Now they are restocked while loaded, as long as nobody has the chest open. RestockLoaded (on) controls it.
  • MudPileRegenNow: a one-shot switch that regenerates every sunken crypt with mined piles at the next daily sweep, whatever its clock, then turns itself off. A crypt someone is in at that moment is done as soon as it is free.
  • Mud pile regeneration went live on the owner's server with 30 days, after a dry run in which 47-50 crypts a day came up due with a 1-day test setting.

0.6.0

  • Muddy scrap piles in sunken crypts regenerate. A sunken crypt that no player has visited for MudPileDays (30) in-game days gets every mined pile back: partly mined piles are replaced by whole ones and mined-out spots get a pile again. Any visit restarts the count.
  • The mod remembers each pile's spot from the first time it sees the pile, whole or partly mined, and keeps the list on the crypt itself. A pile mined out completely before the mod saw it cannot come back. On the owner's world none had been: every mined pile still left its broken remains.
  • Arriving at the entrance of a crypt with mined piles (within 30 m) shows the days left: "The spirits will restore muddy scrap piles in 12 days if no one enters". Going in anyway restarts the count and shows it again with the full 30 days: "The spirits will restore muddy scrap piles after 30 days without visitors" (MudPileNotifyText).
  • New settings in [MudPiles]: MudPiles, MudPileDays, MudPileDryRun, CryptRadius, MudPileNotifyText, MudPileEntranceText, MudPileDueText, VisitCheckSeconds (30), EntranceRadius (30). Chests are unchanged.
  • Documentation: in-game days only pass on a dedicated server while a player is online, so all the 30-day counts, chests included, are about 10 hours of play, not of server uptime.
  • This is the first feature that creates and removes world objects. A fault in it switches it off until the next restart and leaves chest restocking running.

0.5.0

  • Leftovers reset too. A loot chest now resets 30 days after a player first opens it, whether it was emptied or not: whatever is inside at that point, loot or junk, is replaced by a fresh roll. Agreed with the players. ResetOpened (on) controls it; off gives the old rule, where only completely empty chests restock and putting anything back in stops the clock.
  • The on-screen notice now shows on every opening of a loot chest. With items inside it warns: "The spirits will refill this chest in 30 days. Anything left inside will be lost" (NotifyLeftoversText).
  • Chests opened before this version still hold their leftovers until someone opens them again; that opening starts their clock.
  • The daily log line says "clocks started" instead of "newly empty", and each restock line says how many stacks it replaced.

0.4.0

  • On-screen notice. When a player opens an empty loot chest, or takes the last item out of one, the middle of their screen says when it restocks: "The spirits will refill this chest in 30 days". Still server-side only: the server sees the chest's in-use flag and new owner in the player's normal update and sends the message through the game's own ShowMessage.
  • The countdown starts from the moment a player was seen emptying the chest, not from the next daily sweep, so the number on screen is the one that runs. That moment is kept in memory until the sweep stamps the chest; after a restart the sweep's own day is used.
  • Settings Notify, NotifyText (with {days}) and NotifyDueText.
  • Chest history. Each loot chest remembers who first opened it and who opened it last, with the in-game day, and the next player to open it is told in the top-left: "Last opened by Bjorn 3 days ago, first by Astrid 12 days ago". Settings History, HistoryText, HistoryTextOnce. Recording starts with this version; earlier openings are not known.
  • History is written to the chest only once no player holds it: the server drops a player's update to an object whose revision it has already moved past, so writing to a chest in use could make the player's next change to it, such as taking an item, get lost.

0.3.0

  • Hildir's three quest chests (TreasureChest_forestcrypt_hildir, TreasureChest_mountaincave_hildir, TreasureChest_plainsfortress_hildir) are never restocked. They each hold one of her quest items. The list is the new Exclude setting.
  • The census no longer logs a line for every chest prefab with a building-piece component; nearly all world chests have one. A chest that deletes itself when emptied is still reported, as a warning.
  • Confirmed on a live dry run: no loot chest in l-1.0.16 deletes itself when emptied, buried treasure included, and chests a player has loaded are skipped.

0.2.0

  • Restocking. Once per in-game day the server sweeps every loot chest in the world: an empty chest is stamped with the day it was first seen empty, and once it has stayed empty for Days (30) days it gets a fresh roll from its own loot table. A chest that gets anything put back in loses its stamp.
  • Chests a player currently has loaded are skipped and retried at the next sweep.
  • DryRun setting: count and log only, write nothing. Its empty-since dates live in memory, so a dry run still reaches "would restock".
  • The census now always names any loot chest prefab that deletes itself when emptied, or that has a building-piece component.

0.1.0

  • Read-only census. Once the world is loaded, the server logs every loot chest prefab and how many chests of each are in the world, empty, holding items, never loaded, or player-built. Nothing is written to the world.
  • Built against Valheim l-1.0.16.
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.