Commands And Permissions
Commands
Mythic Dungeons comes with a suite of commands to simplify the dungeon creation and play process. Every command lists the permissions associated with it. The nine top-level commands (/md, /leave, /ready, /notready, /recruit, /stuck, /rewards, /party, /p) each have a mythicdungeons. permission that is granted to everyone by default. Everything under the dungeons. prefix is op-only by default.
Every /md subcommand also needs mythicdungeons.core, the permission on the /md command itself, on top of the permission listed with the subcommand.
Important Note!
To use the function editor (the feather tool), you must have the dungeons.functioneditor permission, even if you have the dungeons.admin permission! The room builder tool splits this in two: /md roomtool hands you the tool if you have dungeons.functioneditor, but actually clicking with it (left or right) requires dungeons.roomeditor.
Silent failures
An unrecognised /md subcommand does nothing at all and prints no error. None of the commands declare a usage: line either, so a malformed command (a misspelled player name, a missing argument) can also fail without a message. If a command seems to do nothing, check it against this page first.
Core Commands
These commands are the main commands admins and players will employ.
-
/md(or/dungeon,/mythicdungeons)
This is the main command for most Mythic Dungeons subcommands. Running it with no arguments prints the plugin version.
mythicdungeons.core -
/md help [page]
Displays the paginated help menu, six entries per page, sorted alphabetically. Only the commands you have permission for are listed. Note that the help menu does not cover every subcommand, so treat this page as the complete list. -
/recruit(EXPERIMENTAL)
Walks you through setting up a party recruitment. You will be prompted to enter information about your party. Party recruitment is broadcasted to the chat regularly so other players can join your party. NOTE: This feature is experimental and rudimentary. While it mostly works, there are known issues cosmetic issues with it that will be fixed soon.
dungeons.party.recruit
mythicdungeons.recruit -
/recruit cancel
Used to cancel your active party recruitment.
dungeons.party.recruit -
/recruit browse
Opens a window showing all parties currently recruiting players.
dungeons.party.recruit -
/recruit join <player>
Joins the party of a player who is currently recruiting.
dungeons.party.recruit
NOTE: All /recruit forms need the party system to be enabled with a party listing manager available. If you are already in a party, only its leader can open a recruitment.
-
/leave
Alias for/md leave. Lets a player immediately leave the dungeon they are in. If the dungeon is in edit mode and there are no players still editing it, it will save and unload the dungeon.
mythicdungeons.quickleave -
/ready
When queued for a dungeon, confirms you are ready to enter the dungeon. When all party members are ready, they will be sent to the dungeon. (Note: When queued, a clickable message with the same function is provided.)
mythicdungeons.ready -
/notready
When queued for a dungeon, if one player in the party says they're not ready, it will cancel the dungeon queue. (Note: When queued, a clickable message with the same function is provided.)
mythicdungeons.notready -
/stuck
Alias for/md stuck. Immediately sends the player to their last checkpoint or respawn point in the dungeon. (Admins can configure this to kill the player inconfig.yml.)
dungeons.stuck
mythicdungeons.quickstuck -
/rewards(or/drewards)
Opens the player's rewards inventory. If opened in a dungeon, the player can only view the items. Otherwise, players can retrieve their rewards from here.
mythicdungeons.rewards
Player Commands
These are basic commands used to access and play dungeons.
-
/md play <dungeon> [player]
The main command for entering/playing a dungeon. If the player is solo, they will enter immediately. If they are part of a party, they will enter a queue and all players must agree to enter the dungeon. If no player is specified, it will use the player who sent the command. From the console a player must always be named.
dungeons.playto enter a dungeon using the command.
dungeons.play.sendto specify a player to send to the dungeon.Dungeon Difficulties
(v1.3.1+)
/md play <dungeon>[:difficulty] [player]
The dungeon's difficulty level can be specified in-command (example:/md play MyDungeon:HARD). If the dungeon hasUseDifficultyLevelsandShowDifficultyMenuenabled and no difficulty was given in the command, the difficulty menu opens instead of entering the dungeon straight away.
dungeons.play.difficultyto allow specifying the difficulty in command. (Unnecessary for difficulty menu.) -
/md stuck
Immediately sends the player to their last checkpoint or respawn point in the dungeon.
dungeons.stuck -
/md leave
Lets a player immediately leave the dungeon they are in. If the dungeon is in edit mode and there are no players still editing it, it will save and unload the dungeon. -
/md lives
Lets the player see their remaining lives in the dungeon.
Admin and Dev Commands
These are commands used to monitor, create, and edit dungeons.
-
/md force <player> <dungeon>[:difficulty] [bypassreqs=true|false] [party=true|false] [allowindungeon=true|false](v2.0.1+)
Force a player directly into a dungeon instance, skipping the queue, the ready-check, and the leader-only restriction. If no difficulty is given,DEFAULTis used.bypassreqs(defaulttrue): iffalse, the dungeon's requirements are still checked (and consumed) before the force-entry. Iftrue, all of them are skipped.party(defaultfalse): iftrue, the target's whole party is brought along (unless the dungeon setsIgnoreParties, or the party system is off). The target does not have to be the party leader. Iffalse, the target enters solo even while in a party.allowindungeon(defaultfalse): iftrue, a player who is already in a dungeon, queued, or awaiting one is pulled out of it first and moved into the new dungeon. Iffalse, the command refuses for a busy player.
Useful for cinematic banishes, quest-driven entry, or admin teleports.
dungeons.play.force -
/md join <player>
Allows an admin to enter the target player's current dungeon.
dungeons.admin -
/md kick <player>
Kicks the target player from the dungeon they're in.
dungeons.admin -
/md create <name> [type] [generator] [dimension]
Creates a brand new dungeon with the specified name.type: the dungeon type.classic(ordefault),continuous(orongoing),procedural(orgenerated,room).generator: either a vanilla world preset (NORMAL,FLAT,LARGE_BIOMES,AMPLIFIED) or a chunk generator id. Mythic Dungeons providesvoidandblock.<MATERIAL>(for exampleblock.STONE). If you leave this out, the world is flat. Type the preset exactly as written above. The tab-completion suggestions for this argument are currently wrong: it offersDEFAULTandLARGEBIOMES, which the command does not accept.dimension:NORMAL,NETHERorTHE_END. Defaults toNORMAL.
dungeons.admin -
/md import <world> [dimension]
Imports an existing Minecraft world from the server as a dungeon. Useful if you made the world offline or with an editor like worldpainter.dimensionisNORMAL,NETHERorTHE_ENDand defaults toNORMAL, so pass it explicitly when you are importing a nether or end build, otherwise the dungeon is recorded as an overworld.
dungeons.admin -
/md dxlimport <map>EXPERIMENTAL
Imports a map from DungeonsXL. This checks for the map in theplugins/DungeonsXL/mapsfolder. Monitor your console for any messages reporting signs or functionality that can't be converted into Mythic Dungeons.
dungeons.admin -
/md edit <dungeon>
Either creates or joins an edit session for the specified dungeon. Edit sessions allow building the map itself and configuring dungeon elements.
dungeons.editORdungeons.edit.*to use the command at all
ANDdungeons.edit.[dungeonname]for the specific dungeon (dungeons.edit.*covers this on permission plugins that expand wildcards) -
/md delete <dungeon>
Deletes the specified dungeon. It will ask you to run the command again to confirm deletion, and you have 10 seconds to do so. The command refuses while an edit session for that dungeon is open.
dungeons.admin -
/md addkey <dungeon>
Adds your currently held item as a dungeon access key for the specified dungeon. This means player MUST have one of this item to access the dungeon, and the item will be consumed upon entry. If no access keys are configured, the dungeon will not require a key to access it.
NOTE: Mythic items compatible! If a Mythic item is added, it will use the item's namespace instead of its item data.
dungeons.editORdungeons.edit.*to use the command at all
ANDdungeons.edit.[dungeonname]for the specific dungeon (dungeons.edit.*covers this on permission plugins that expand wildcards) -
/md removekey <dungeon>
Removes your currently held item from the dungeon's list of valid access keys.
dungeons.editORdungeons.edit.*to use the command at all
ANDdungeons.edit.[dungeonname]for the specific dungeon (dungeons.edit.*covers this on permission plugins that expand wildcards) -
/md givekey <player> <dungeon>
Gives the player the dungeon's first configured access key. If the dungeon has no keys, it tells you so.
dungeons.admin -
/md statusOR/md status [dungeon]
Displays information about all or the specified dungeon, including current players and instances. Player only, the console gets no output.
dungeons.admin -
/md reload
Re-syncs and reloads the pluginconfig.yml, re-initialises the language files, and rebuilds the loot table manager. To reload dungeons, see below.
dungeons.admin -
/md reload [dungeon]OR/md reload all
Reloads the config and functions of all or the specified dungeon. If any instances are currently live, a player is asked to run the command a second time to confirm. From the console it reloads immediately.
dungeons.admin -
/md setcooldown <dungeon> <player> [duration]
Manually sets the dungeon access cooldown for the target player and saves it to disk. The duration is a number plus a unit letter:s(seconds),m(minutes),h(hours),d(days),w(weeks) ory(years), for example30m. If you leave the duration out, the dungeon's configuredGeneral.AccessCooldownis used; if the dungeon has no cooldown configured, the command tells you instead of doing nothing. Offline players who have joined before are accepted.
dungeons.setcooldown -
/md resetcooldown <player> [dungeon]
Clears the target player's dungeon access cooldown. With no dungeon given, it clears the cooldown for every dungeon. Works on offline players who have joined the server before. Note the argument order is the reverse of/md setcooldown.
dungeons.resetcooldown -
/md setexit <dungeon>
Sets the exit location for the dungeon, which is where the player will appear after finishing the dungeon. (Using the "Finish Dungeon" function.) The dungeon's config.yml includes an option to use this exit regardless of how the player leaves the dungeon.
dungeons.editORdungeons.edit.*
(Unlike/md edit, this command does not check a per-dungeon node.) -
/md getmap
Gives you the dungeon map item for the dungeon you are currently playing.
dungeons.admin -
/md testdoor <door>AND/md testalldoors
Debug helpers for procedural dungeons. While standing in a generated room of a dungeon you are playing, these toggle a single named door or every valid door in that room.
dungeons.admin
Loot Table Commands
These commands are used to create and modify loot tables.
-
/md loot create <name>
Creates a new loot table with the provided name and immediately opens its editor menu.
dungeons.loottables -
/md loot edit <name>
Opens the edit menu for a loot table matching the provided name. If another player already has that loot table open, the command refuses.
dungeons.loottables -
/md loot remove <name>
Deletes the specified loot table.
dungeons.loottables
Edit Mode Commands
These are commands only available while editing a dungeon.
-
/md setlobby
Sets the lobby spawn location of the dungeon you're editing. (Also preserves where you're looking.)
dungeons.edit -
/md setspawn
Sets the location players spawn at when the dungeon starts. (/md setlobbysets where they wait beforehand.)
dungeons.edit -
/md banitem
Adds the item in your hand to the banned items list, preventing players from entering the dungeon if they have it in their inventory.
dungeons.edit -
/md unbanitem
Removes the item in your hand from the banned items list. (If you're having trouble removing an item, you can also remove it manually in the dungeon'sconfig.yml)
dungeons.edit -
/md dungeonitem
Makes your currently held item into a dungeon item, preventing it from being taken out of the dungeon. (It will be deleted when the player leaves with it in their inventory.)
dungeons.edit -
/md functiontool
Gives you the function builder tool, just in case you lost it!
dungeons.functioneditoris required to get and use the function builder. -
/md roomtool
Gives you the room builder tool. Only works in a procedural dungeon edit session.
dungeons.functioneditorto receive the tool,dungeons.roomeditorto click with it. -
/md addregionAND/md removeregion
Marks (or unmarks) the 512x512 world region you are standing in as part of the dungeon. Use these when your build spills outside the regions Mythic Dungeons already tracks. (See also One World Dungeons.)
dungeons.edit -
/md save [force]
Force-saves the dungeon immediately. Note: There is a configurable autosave option set to 5 minutes by default, and the dungeon will save when all editors leave, but just in case, you can still do it manually! In a procedural dungeon,/md save forcere-saves every room instead of only the ones changed since the last save. The success or failure message is sent after the save actually finishes.
dungeons.edit -
/md cleansigns
Removes all signs located at all the function locations, and reports how many were removed. Useful after importing a DXL dungeon or to quickly clean out temporary blocks. Only works while you are in an edit session.
dungeons.cleansigns
Party Commands
These commands are used by the default party system provided by Mythic Dungeons. Note: /party can be replaced with /dparty in the case of plugin conflicts.
/party, /dparty and /p only do anything when General.PartyPlugin in config.yml is set to Default or DungeonParties. With any other party plugin selected the commands still exist, but they have no handler and silently do nothing. (/recruit is always registered and checks the party system itself.)
-
/party
Shows information about the party you are in. -
/party invite [player]
Invites the target player to join your party, creating a new party if you don't have one yet. You cannot invite yourself or a player who is already in a party, and if you are already in a party only its leader can invite. -
/party join
Accepts the most recent party invite you received. This command takes no arguments; if you are already in a party you leave it first. -
/party leave
Immediately leaves the current party you're in. -
/party givelead [player]
Makes the specified player the leader of the party. Party leader only. -
/party kick [player]
If you are the party lead, kicks the specified player from the party. Yes, you can kick yourself from your own party. -
/party disband
Immediately kicks all players from the party, including yourself. Party leader only. -
/party chatOR/p
Lets you switch to party chat, making all your messages go to a private chat with your party members. -
/party chat [message]OR/p [message]
Sends a message to the private party chat without switching to it. -
/party spy
Toggles being able to see the party messages of other players and parties.
dungeonparties.spyORmythicparties.spy
Neither node is declared by the plugin, so you must grant it explicitly with a permissions plugin (operators have it automatically).
More Permissions
Every permission below is default: op. dungeons.* grants all of them at once.
-
dungeons.bypasskeysORdungeons.bypasskeys.[dungeon]
Players with this permission will not require an access key to access the dungeon, and no key is consumed on entry. -
dungeons.bypasscostORdungeons.bypasscost.[dungeon]
Players with this permission will not require a Vault-compatible currency to access the dungeon. -
dungeons.bypasscooldownORdungeons.bypasscooldown.[dungeon]
Players with this permission will bypass the access cooldown for the dungeon. -
dungeons.bypassjoinORdungeons.bypassjoin.[dungeon]
Lets a player teleport into a dungeon instance even whenRules.PreventTeleportInis enabled. The plaindungeons.bypassjoinnode additionally allows teleporting into the dungeon world area at all; the per-dungeon form only covers thePreventTeleportInrule. -
dungeons.vanish
Suppresses the dungeon broadcasts about this player: leaving, losing a life to a combat log, being kicked for being offline, and returning. It does not hide the player, despite what the permission's description says. -
dungeons.roomeditor
Required to use the room builder tool in a procedural dungeon edit session, on both left- and right-click. -
dungeons.admin
As well as the admin commands, this bypasses the in-dungeon command filter entirely, both theRules.AllowedCommandswhitelist and theRules.DisallowedCommandsblacklist.
Command Permissions
These gate the commands themselves and are all default: true, so normal players have them. Revoke them to hide a command entirely. mythicdungeons.* grants all of them, but note that the parent node itself declares no default, so Bukkit treats mythicdungeons.* as op-only.
| Permission | Command |
|---|---|
mythicdungeons.core |
/md, /dungeon, /mythicdungeons |
mythicdungeons.quickleave |
/leave |
mythicdungeons.ready |
/ready |
mythicdungeons.notready |
/notready |
mythicdungeons.recruit |
/recruit |
mythicdungeons.quickstuck |
/stuck |
mythicdungeons.rewards |
/rewards, /drewards |
mythicdungeons.party |
/party, /dparty |
mythicdungeons.party.chat |
/p |
Feature Permissions
These are the dungeons. nodes declared in the plugin, all default: op.
| Permission | What it allows |
|---|---|
dungeons.* |
Aggregate node, grants every permission in this table |
dungeons.play |
/md play for yourself |
dungeons.play.send |
Naming another player in /md play |
dungeons.play.force |
/md force |
dungeons.play.difficulty |
Passing :difficulty in /md play |
dungeons.stuck |
/stuck and /md stuck |
dungeons.party.recruit |
Every /recruit form |
dungeons.edit |
The build commands, plus edit sessions |
dungeons.functioneditor |
Receiving the function and room tools, and right-clicking with the function tool |
dungeons.roomeditor |
Clicking with the room tool |
dungeons.loottables |
/md loot |
dungeons.cleansigns |
/md cleansigns |
dungeons.setcooldown |
/md setcooldown |
dungeons.resetcooldown |
/md resetcooldown |
dungeons.vanish |
Suppresses the dungeon broadcasts about you |
dungeons.bypassjoin |
Teleporting into dungeon worlds and past Rules.PreventTeleportIn |
dungeons.bypasscooldown |
Skipping the access cooldown |
dungeons.bypasscost |
Skipping the Vault entry cost |
dungeons.bypasskeys |
Skipping access key requirements |
dungeons.admin |
The admin subcommands, and bypassing the in-dungeon command filter |
Every node the plugin declares is actually checked somewhere in the code. The only exceptions are the two aggregate nodes, mythicdungeons.* and dungeons.*, which exist purely to grant their children.
Permissions Checked but Not Declared
These nodes are checked by the plugin but are not listed in its plugin.yml, so they have no default at all. Operators pass them, and everyone else needs them granted explicitly by a permissions plugin. Tab completion and permission plugin browsers will not suggest them.
| Permission | Where it applies |
|---|---|
dungeons.edit.* |
Accepted in place of dungeons.edit by /md edit, /md addkey, /md removekey and /md setexit |
dungeons.edit.[dungeon] |
Required in addition to dungeons.edit by /md edit, /md addkey and /md removekey. Without it you get "You don't have permission to edit that dungeon!" even with dungeons.edit |
dungeons.bypassjoin.[dungeon] |
Per-dungeon form, honoured only for Rules.PreventTeleportIn |
dungeons.bypasscooldown.[dungeon] |
Per-dungeon form of the cooldown bypass |
dungeons.bypasscost.[dungeon] |
Per-dungeon form of the entry cost bypass |
dungeons.bypasskeys.[dungeon] |
Per-dungeon form of the access key bypass |
dungeonparties.spy |
/party spy |
mythicparties.spy |
/party spy, accepted as an equivalent to dungeonparties.spy |
* |
The literal wildcard node. Mythic Dungeons' own permission helper treats it as granting every dungeons. check. It does not affect the nine command permissions, which Bukkit checks directly |
Per-Dungeon Requirement Permissions
A dungeon's config.yml can list arbitrary permission nodes under Requirements.Permissions (see Dungeon Config). A player missing any of them is refused entry with Missing permission: <node>.
Console Support
/md can be run from console for: help, play (a player must be named), force, kick, reload, delete, import, dxlimport, setcooldown, resetcooldown and givekey. Every other subcommand, and every other Mythic Dungeons command, is player-only.