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 below1) means unlimited. A difficulty level can overrideMaxPlayersfor 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 infunctions.yml. - The layout is built by the dungeon generator, so
General.ChunkGeneratoris ignored while playing. It still applies while editing. - Layout and room rules live in the dungeon's
generation.yml, created fromdefault-generator.ymlthe 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 |