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.
Dismantleheim
Satisfactory-inspired queued Mass Dismantle (refunds) and Mass Delete (no drops). Ctrl-paint select, Shift+M3 filter, hold Mouse3 to confirm. Infinity Hammer Tools + Delete hotkey.
| Date uploaded | a week ago |
| Version | 0.1.0 |
| Download link | SonicDM-Dismantleheim-0.1.0.zip |
| Downloads | 74 |
| Dependency string | SonicDM-Dismantleheim-0.1.0 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.
Preferred version: 5.4.2202ValheimModding-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.23.0README
Dismantleheim
Satisfactory-inspired queued selection for Valheim with two modes:
- Mass Dismantle — reclaim construction materials like the normal Hammer (vanilla refunds).
- Mass Delete — erase selected objects with no material or harvest drops. Deleting containers can destroy their contents.
Nothing is removed on hover, select, tool switch, or mode switch. Hold Mouse3 to confirm.
| Version | 0.1.0 (beta) |
| GUID | com.sonicdm.valheim.dismantleheim |
| Dependencies | BepInExPack Valheim, Jötunn |
| Soft dependency | Infinity Hammer (Tools menu entries) |
How to get the tools
With Infinity Hammer (recommended)
- Install Infinity Hammer (+ Server Devcommands / World Edit Commands as required by IH).
- Run
hammer_menuto spawn the Infinity Hammer. - Equip it → build menu → category hammer → Dismantleheim - Mass Dismantle / Dismantleheim - Mass Delete (Hammer icons; IH loads
BepInEx/config/tools/infinity_tools*.yaml). - Or press Delete (
ActivateKey) while in hammer placement mode.
First launch after install writes the tools file; restart once if the entries are missing from the menu.
Without Infinity Hammer
Equip a hammer → enter build/placement mode → press Delete, or console: dismantleheim mode dismantle|delete. No extra hammer item.
Controls (while active)
| Input | Action |
|---|---|
| Click / hold LMB | Add piece under aim (does not unselect) |
| Hold Ctrl + wave aim | Mass-select valid pieces under the cursor (add-only; no box) |
| Ctrl + click | Unselect one hovered piece |
| Shift + Mouse3 | Sample prefab filter (vanilla pipette suppressed) |
| Hold Mouse3 | Confirmation ring; release early cancels |
| Right click | Normal build menu |
| Escape | Cancel hold or clear queue |
| ActivateKey again | Deactivate |
HUD shows MASS DISMANTLE — Returns Materials or MASS DELETE — No Drops, plus N selected. Mass Delete warns when queued containers hold items.
Unfiltered selection: removable Pieces only. Mass Delete may include rocks/trees/props after an explicit prefab sample. Mass Dismantle never queues environment.
Dry-run
Removal.DryRunOnly = false by default (live dismantle/delete). Set true to log the plan only with no world deletes — useful for testing. Read docs/authority.md before enabling live remove on a valued world.
Authority
- Mass Dismantle (live): ward access →
CheckCanRemovePiece→Piece.CanBeRemoved→WearNTear.Remove→Piece.DropResources(vanilla refund path). - Mass Delete (live): ward access →
WearNTear.RemovewithoutDropResources. Occupied chests allowed after warning. - Environment on unmodded dedicated servers is not promised. Details: docs/authority.md.
Config
[Modes]DefaultMode, ShowActiveMode, PreserveSelectionOnModeSwitch[Input]ActivateKey (Delete)[Confirm]HoldSeconds, ShowRing, ShowSelectedCount[Selection]AllowEnvironmentWithFilter, ClearQueueOnToolSwitch, MaximumTargets, ExtraDeny/Allow[Safety]WarnWhenDeletingOccupiedContainers, RefuseUnknownDeleteTargets[Integration]InstallInfinityHammerTool, PreferInfinityHammerOnly[Removal]DryRunOnly
Commands
| Command | Purpose |
|---|---|
dismantleheim mode dismantle|delete |
Enter / switch mode |
dismantleheim activate |
Enter DefaultMode |
dismantleheim deactivate |
Leave mode |
dismantleheim status |
State / mode / queue / filter |
dismantleheim clear |
Clear queue |
dismantleheim why |
Last selection reject reason |
Install / Build / Uninstall
- BepInExPack + Jötunn (+ Infinity Hammer for Tools entries).
- Place
Dismantleheim.dllinBepInEx/plugins/.
.\build.ps1
.\test.ps1
Uninstall: remove the DLL; optional delete BepInEx/config/infinity_tools_dismantleheim.yaml (or config/tools/).
Acceptance
- Dual-mode: docs/acceptance-Gxx.md
- Selection/confirm history: docs/acceptance-Hxx.md
CHANGELOG
Changelog
0.1.0
Beta — first public package. Satisfactory-inspired dual-mode queued selection, live-tested on a disposable world. Same 0.1.0 tag was refreshed as this landed (icon, live default, docs).
Modes
- Mass Dismantle — reclaim construction materials like the normal Hammer (
WearNTear.Remove+Piece.DropResources) - Mass Delete — erase with no material/harvest drops; occupied containers warn then may delete
- Nothing removes on hover, select, tool switch, or mode switch — only after hold-to-confirm Mouse3
- HUD labels:
MASS DISMANTLE — Returns Materials/MASS DELETE — No Drops, plus selection count
Activation
- Infinity Hammer Tools:
hammer_menu→ Tools → Dismantleheim - Mass Dismantle / Mass Delete - ActivateKey (default Delete) while in hammer placement / DefaultMode
- Console:
dismantleheim mode dismantle|delete,activate,deactivate,status,clear,why - IH Instant Tools: activate on menu select (BuildUi path); holster / other-tool / re-equip ownership handled without sticky HUD
- No second inventory Hammer — owned
infinity_tools_dismantleheim.yamlonly
Selection & controls
- Plain LMB: click-add only (does not toggle off)
- Hold Ctrl + wave aim: paint-add nearby valid targets (add-only; no box select)
- Ctrl+click: unselect one hovered target
- Shift+Mouse3: sample / clear prefab filter (vanilla pipette + missing-requirement toast suppressed while active)
- Hold Mouse3: confirmation ring; early release cancels the hold and keeps the queue
- Escape: cancel hold or clear queue; holster / re-equip also clears mode ownership
- Mass Delete: rocks / trees / props queue only after an explicit prefab sample; Mass Dismantle never queues environment
- Hover + queued glow for build pieces and env/props (MaterialMan tint; WearNTear when present)
Removal authority
- Exact queued ZDO identities only — no wildcard / area deletes
- Separate dismantle vs delete adapters (no shared
RemoveEverything(bool)) - Mass Dismantle: ward →
CheckCanRemovePiece→Piece.CanBeRemoved→ refund path - Mass Delete: ward → remove/destroy without DropResources; Destructible env/props supported when sampled
Removal.DryRunOnlydefaults false (live); set true for plan-only testing / logging
Integration & packaging
- Conflict-safe Infinity Hammer YAML install/migrate; preserve non-stock owned tool files; honest removal reporting
- Soft dependency on Infinity Hammer; works with vanilla hammer via ActivateKey / console
- Thunderstore zip:
manifest.json, README, 256×256 icon, CHANGELOG,Dismantleheim.dll - Mod icon: Satisfactory dismantle tool + Valheim-style scene
Tests & docs
- Automated Core + Installer + AssemblyCompatibility tests
- Acceptance:
docs/acceptance-Gxx.md(dual-mode),docs/acceptance-Hxx.md(selection/confirm),docs/authority.md