Dungeon Types

Mythic Dungeons provides "Dungeon Types", which change the foundational behaviour of your dungeon. Three types ship with the plugin, and additional dungeon types can be introduced using the developer API.

To create a dungeon with a specific type, use /md create <name> [type] [generator] [dimension].
You can also change a dungeon's type by editing General.DungeonType in the dungeon's config.yml. The value is case-insensitive, and each type accepts a few aliases.

Type General.DungeonType Aliases
Classic classic default
Continuous continuous ongoing
Procedural procedural generated, room

If the value doesn't match any registered type, the dungeon is not loaded. /md create reports this in console as No dungeon type by name <x> found!, but a bad value in an existing dungeon's config.yml is skipped silently at startup, so double-check the spelling if a dungeon goes missing.

Classic

General:
  DungeonType: classic

The standard dungeon type. Create an entire map full of scripted events, triggers and conditions that is unique for every party! Every run gets a fresh private copy of the map, and functions are stored in the dungeon's functions.yml.
Learn more in the your first dungeon guide!

Continuous

General:
  DungeonType: continuous

A dungeon type that, when players attempt to play the dungeon, will send them into the first available ongoing dungeon instance. For example, if Player A starts playing the dungeon, and after a while Player B tries to play the dungeon as well, Player B will be sent to Player A's dungeon.

An instance is only "available" when:

  • it isn't shutting down,
  • its difficulty matches the one being requested (an instance nobody has entered yet adopts the first requested difficulty), and
  • it has fewer players than General.MaxPlayers. 0 (or any value below 1) means unlimited. A difficulty level can override MaxPlayers for itself. This option is only used by this dungeon type.

Continuous dungeons also support ContinuousDungeons.LoadAtStart, which is not in the default config:

ContinuousDungeons:
  # Keep one instance of this dungeon warm at all times, so players never wait for a load.
  # A fresh instance is preloaded on startup and again shortly after each instance is cleaned up.
  LoadAtStart: true

A preloaded instance counts against General.MaxInstances even while it is empty.

If each player should enter on their own rather than dragging their party in, set IgnoreParties: true in the dungeon config.

NOTE: This is NOT a replacement for world managers like Multiverse and MyWorlds! The dungeon will be unloaded once all players have left it. This is useful for hosting scripted multiplayer events, or specialized dungeon types that are compatible with multiple parties.

Procedural/Generated

General:
  DungeonType: procedural

A dungeon type that allows randomly generating a dungeon from a configurable collection of rooms.
Learn more on the dungeon generator page.

Procedural dungeons behave differently from the other two types:

  • Lobbies are always disabled. The dungeon starts as soon as the players are brought in.
  • Functions must be placed inside a defined room. A function placed outside every room is rejected with a console warning. They are saved per room in the dungeon's rooms/ folder, not in functions.yml.
  • The layout is built by the dungeon generator, so General.ChunkGenerator is ignored while playing. It still applies while editing.
  • Layout and room rules live in the dungeon's generation.yml, created from default-generator.yml the first time the dungeon loads.
  • With one-world dungeons enabled, procedural dungeons don't need region selection.

Feature comparison

Classic Continuous Procedural
Lobby support Yes Yes No (forced off)
Several parties in one instance No Yes No
General.MaxPlayers Ignored Enforced Ignored
General.ChunkGenerator while playing Yes Yes Ignored
General.ChunkGenerator while editing Yes Yes Yes
Function storage functions.yml functions.yml rooms/*.yml
Needs regions for one-world dungeons Yes Yes No
Updated Aug 19, 2026