Underground Ruins

v1.0.8·Updated 2025-04-21

Adds a new Blackforest dungeon with puzzles, randomly generated layouts, and vanilla-friendly progression.

Screenshots 1 screenshots

About this mod Author’s original text

Underground Ruins

This mod adds a new procedural dungeon to the Blackforest biome with 24 custom designed rooms, a random size & layout for each dungeon instance, and a custom puzzle system. Part of the More World Locations series, see below for more details. A big thank you to Ruijven and probablyKory for their immense contributions to this project.

Lore

"As the first travelers arrived in Valheim, they carved grand cities deep beneath the BlackForest. But the Elder’s roots slowly spread and devoured the pioneers. Now, only the hollow shell of their once-great legacy remains in the Underground Ruins."

Features

  • Adds a new dungeon to Blackforest biome.
  • Custom built puzzle system.
  • Utilizes the vanilla game dungeon generator to randomize size and layout of each dungeon instance.
  • Features 24 unqiue rooms designed with vanilla build pieces.
  • The dungeon fits into vanilla progression by offering an alternate route to acquire copper ore.
  • Configurability: Dungeon spawn quantities, creature spawn lists, chest loot lists, pickable loot lists.

Instructions

  • To add these locations to a non-existing world, no action is required. Ensure the mod is installed and create a new world.
  • To add these locations to an existing world, use the Upgrade World with the command below:

Command: locations_add BFD_Exterior start

Custom Creature Spawns

The creatures and loot are all customizable. Modded creatures and items are supported. To customize, create a new YAML file in the BepinEx configuration folder. If using mod manager, then use the BepinEx config folder in your profile folder. All mods from the More World Locations series will share the same Yaml file so you only need to create it once.

For creatures, each instance of the location will randomly select from the list of creatures in the the file. First, it will pick a random index (an item in the list), then it will increment through the list, assigning creatures to available creature spawners until each creature spawner has a creature. For the best results, scatter higher tier creatures throughout the list. You must use the creature's prefab name and not it's in-game name. See here for a list of vanilla creature prefab names: Creatures List

Creature file name: warpalicious.More_World_Locations_CreatureLists.yml

Creature file structure:

UndergroundRuinsCreatures1:

  • Greydwarf
  • Greydwarf_Shaman
  • Greydwarf
  • Greydwarf_Elite
  • Greydwarf
  • Greydwarf
  • Greydwarf
  • Greydwarf_Elite
  • Greydwarf
  • Greydwarf
  • Greydwarf
  • Greydwarf_Shaman

Custom Loot Lists

For loot, as of 12/19/24 the loot list format has changed. If you're using an old format it will still work but you can't access the new customization feature. To access new customization feature, please convert to the new format below and ensure you include the verision number at top of file.

The new format works as such:

1 - Random roll for total loot slots available. Roll number between 1 - 3. There will be between 1 - 3 loot slots.

2 - For each loot slot, weighted-random selection for item from loot list. Randomly select item from list based on weights.

3 - For each item, random roll between stackMin and stackMax for loot stack amount.

Example for UndergroundRuinsContainers1 below:

1 - Random roll results in 2 loot slots

2 - Weighted-random selection for slot 1 = Amber

3 - Weighted-random selection for slot 2 = Coins

4 - Random roll for slot 1 stack size = 3

5 - Random roll for slot 2 stack size = 23

6 - Final loot in chest = 3 Amber, 23 Coins

Modded items are confirmed to work in the loot list.

Loot file name: warpalicious.More_World_Locations_LootLists.yml

Loot file structure:

version: 2.0

UndergroundRuinsLoot1:

  • item: Amber

stackMin: 1

stackMax: 5

weight: 1.5

  • item: Ruby

stackMin: 1

stackMax: 3

weight: 1.0

  • item: Coins

stackMin: 10

stackMax: 30

weight: 1.5

Custom Pickable Lists

The custom pickable lists function the same as the custom loot lists. They do not require the "version: 2.0" string at the

Install & use Install: BepInEx plugin

  1. The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
  2. Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
  3. Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
  4. Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.

Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file. In multiplayer, the host and every client need the same mods installed.

Dependencies

Install these first, or the mod will not work:

denikson-BepInExPack_ValheimValheimModding-Jotunn

File & checksum

Filename
Underground_Ruins-1.0.8.zip
File size
10.0 MiB