Your First Dungeon

Mythic Dungeons is an incredibly powerful and flexible plugin. It's been designed to be approachable and to minimize your need to use a wiki like this one. However, this startup guide will give a more thorough tutorial on how to start making dungeons that will blow the minds of your players!

(VIDEO COMING SOON)

The Dungeon Map
Before we can start building our dungeon, we need to create the map. This can be done in one of two ways:

  • /md create <dungeon name> - This will create a new dungeon with a name you provide. The map it creates will be a superflat world with no structures. It's a perfect blank slate for you to start building in. The full form is /md create <name> [type] [generator] [dimension], which is how you create other dungeon types such as procedural.
  • /md import <world> [type] - This will copy the world specified from your server folder and create a dungeon from it. If you're importing a Nether or End world, you MUST tell it a type, which can be NETHER or THE_END. The type must be typed in capitals (tab-completion gives you the right form).

Both commands need the dungeons.admin permission.

Once you've created your dungeon map, you can use /md edit <dungeon> to open the dungeon editor and begin building and scripting your dungeon! That command needs dungeons.edit (and dungeons.edit.<dungeon>), and the function tool needs dungeons.functioneditor.

The Dungeon Editor

Welcome to the dungeon editor. This is where you can build the dungeon itself and set up all your scripts and events. By default, the dungeon will be autosaved every 5 minutes, but this can be changed with General.AutoSaveInterval (in seconds) in the plugin's config.yml; set it to 0 to turn autosaving off. It will also save when you /md leave the dungeon, or when you use the command /md save.

On a procedural dungeon, /md save force re-saves every unique room, even the ones the editor doesn't think you changed.

Setting the Start Point
Let's say we've built a pretty nice looking dungeon, but we want to change where players go when the dungeon starts. This is very simple, and can be done with /md setspawn.

OPTIONAL: Dungeon Lobby
An optional feature your dungeons can make use of is a lobby. You can create an area where the players will first appear in the dungeon before it begins. Use /md setlobby to set the lobby spawn point to where you're standing.
NOTE: /md setlobby only records the location. To actually use the lobby you must set General.Lobby.Enabled to true in the dungeon's config.yml (newly created dungeons ship with false).
NOTE: While the lobby is enabled, only Dungeon Start and Leave Dungeon functions are active. Every other function stays dormant until a Dungeon Start function fires. (See below to learn more about functions.)

The Function Editor

The first time you open your dungeon in edit mode, you'll be given a Function Builder item. As its name implies, this item is used to set up dungeon functions - your bread and butter for dungeon scripting. After that first time the editor restores whatever edit inventory you left behind, so if you ever lose the function builder, you can always get it back with /md functiontool.

If you're editing a procedural dungeon, /md roomtool gives you the Room Editor item for marking out rooms. NOTE: /md roomtool only checks dungeons.functioneditor, but actually clicking with the Room Editor requires dungeons.roomeditor. If clicks with the tool do nothing at all and no message appears, that missing permission is why.

Making a Function

Functions perform actions in your dungeons, including spawning monsters, sending messages, and teleporting players. All functions have a set of configurable options on them.

By right-clicking a block with the function builder, you'll see a list of function types. These categories will each contain different functions for your dungeon. You can find a list of functions here.

Right-clicking a block that already has a function on it opens that function for editing instead of starting a new one. In a procedural dungeon, functions have to be placed inside a room; try to place one outside and the plugin tells you so rather than opening the menu.

Adding a Trigger

After selecting a function to build, you'll be prompted to choose a trigger. Triggers are effectively your "objectives", running the function when activated. Functions can be triggered by mob deaths, player actions (such as right-clicking or entering an area), and other events. Like functions, triggers will have configurable options on them. You can find a list of triggers here.

The Hotbar Menu

Once you've selected a function and a trigger, your hotbar will be temporarily swapped with a menu containing the function and trigger options. You can right-click with the various items here to modify these options or see more.

You can exit the hotbar menu by holding crouch for about a quarter of a second. Note that this does not work while you are flying, so land first (edit mode puts you in creative, so you usually are flying).

Adding Trigger Conditions

If you want even more control over your trigger, you can add Conditions to it using the hotbar menu. Conditions can be attached to triggers to prevent them from running until the conditions are met. This can include players being nearby, player count, or a custom Mythic Mobs condition. You can find a list of conditions here.

Playing Your Dungeon

Once you've built your dungeon and set up your functions, you can safely use /leave to exit edit mode. From there, all you have to do is run the command /md play <dungeon name> and it will take you to the dungeon. The dungeon name is required, and playing needs either dungeons.play or dungeons.play.send.

Note: You can also use /md play <dungeon name> [player] to send a player and their party to a dungeon. That form needs dungeons.play.send.

You can also pick a difficulty with /md play <dungeon name>:<difficulty>, which needs dungeons.play.difficulty.

NOTE: Leaving edit mode and /md save both start an asynchronous save. If you try to play (or re-edit) the dungeon while that save is still running, the plugin will tell you the dungeon is saving and refuse. Wait a moment and try again.


And you're good to go! From here, you can take a look at the different functions, triggers and conditions available here on this wiki, as well as take a look at the dungeon config and commands to learn even more about what you can do with your dungeons.

Next: Dungeon Config -->

Updated Aug 19, 2026