Functions Y M L

Mythic Dungeons features an extensive in-game editor to set up all your functions, triggers and conditions. However, there may be some situations where you don't want to - or perhaps, can't - get in-game to edit the dungeon's functions.

Where the file lives

Where a dungeon's functions are stored depends on its type.

  • Classic and Continuous dungeons keep every function in a single functions.yml in the map folder, plugins/MythicDungeons/maps/<DungeonName>/functions.yml.
  • Procedural dungeons have no functions.yml. Each room stores its own functions under a Functions: key inside plugins/MythicDungeons/maps/<DungeonName>/rooms/<RoomName>.yml, and their locations are relative to the room, not the world. See Procedural Dungeons.

File format

functions.yml has two top-level keys: a Version number, and a Functions list.

Every entry in the list is a Bukkit-serialized object. The == key holds the full class name of the function, and every other key is named exactly after the field it stores. A function's trigger is nested inside it under trigger, and that trigger's conditions are nested inside the trigger under conditions.

Version: 1
Functions:
- ==: net.playavalon.mythicdungeons.dungeons.functions.FunctionSpawnMythicMob
  mob: DrunkenRaider
  delay: 0
  levelString: '0'
  interval: 0
  targetType: &id001
    ==: net.playavalon.mythicdungeons.api.parents.FunctionTargetType
    value: NONE
  location:
    ==: org.bukkit.Location
    x: 188.0
    y: -42.0
    z: 45.0
    pitch: 0.0
    yaw: 0.0
  trigger:
    ==: net.playavalon.mythicdungeons.dungeons.triggers.TriggerDistance
    delayTicks: 0
    forEachPlayer: false
    limitToRoom: false
    count: 2
    allowRetrigger: false
    radius: 100.0
    conditions: []
  maxCount: 1
  yaw: -89.0

Notes

  • location is always stored without a world; the world is filled in when an instance is created.
  • Key order inside an entry is not meaningful and will change whenever the dungeon is saved.
  • Any key you leave out falls back to the function's built-in default, listed in Function Options.
  • YAML anchors (&id001 / *id001) will appear when several functions share an identical value such as a target type. They are written by the serializer and are safe to leave alone.
  • If a function's class can't be found when the dungeon loads, the whole file fails to load and the dungeon reports an error naming the class. This most often happens after uninstalling a plugin that added a custom function.
  • Edit the file only while the server is stopped, or with the dungeon unloaded. Saving a dungeon in-game rewrites the whole file and will discard your changes.
Updated Aug 19, 2026