Stages and Gates¶
Stages are optional progression gates inside a dungeon.
Use the stage GUI to edit gates and missions. After-Open Logic configures party teleports and gate closing; Emergency Return configures the return plate and destination.
Runtime gate blocks, mission blocks, triggers, loot chests, and emergency plates are protected from player breaking, replacement, water, and lava even when the dungeon otherwise allows those actions.
Ordered respawn points are documented separately under Checkpoints.
Stage files live in:
Create a Stage¶
/dungeon edit dragon_lair
/dungeon stage create entrance
/dungeon stage entrance gate create
# select gate blocks in the template world
/dungeon gate save
Stage Order¶
Every stage has an order:
Order 1 unlocks first. Higher orders unlock only after every lower-order stage opens.
Multiple stages can share the same order. Shared-order stages run in parallel.
Gate Editing¶
Use gate mode to select existing blocks from the template world.
Gate stick controls:
| Action | Result |
|---|---|
| Left-click | Adds one existing block. |
| Right-click | Removes one selected block. |
| Sneak-left-click | Adds connected same-material blocks. |
| Sneak-right-click | Removes connected same-material blocks. |
After-Open Logic¶
A gate can teleport the alive party after it finishes opening and can close earlier gates without a closing animation:
gate:
after-open:
teleport:
enabled: false
location:
world: dungeon_template
x: 20.5
y: 70.0
z: 12.5
yaw: 0.0
pitch: 0.0
close-gates:
- entrance_gate
Only online, alive party members inside the instance world are teleported. A gate cannot close itself, and every target in close-gates must have an equal or lower stage-order.
Configuring both an after-open teleport and a teleporting checkpoint triggered by the same gate is a validation error.
/dungeon stage <stage_id> gate afteropen teleport set|clear
/dungeon stage <stage_id> gate afteropen close add|remove <target_stage_id>
Emergency Return¶
Emergency Return provides a way out for a player who remains behind a gate after it closes. Its pressure plate and hologram appear only while that gate is closed, and the plate teleports only the player who steps on it.
Enable the feature, choose the pressure-plate material, and use Get Emergency Plate in the GUI. The tagged item is placed in the template like a mission plate. One gate can have only one emergency plate; placing another removes the previous plate and moves the editor hologram. The item cannot be placed while Emergency Return is disabled.
gate:
emergency-return:
enabled: true
plate-material: STONE_PRESSURE_PLATE
plate-location:
x: 10
y: 69
z: 5
destination:
world: dungeon_template
x: 22.5
y: 70.0
z: 12.5
yaw: 0.0
pitch: 0.0
hologram:
enabled: true
height-offset: 1.8
lines:
- "&c&lRETURN"
- "&7Step on the plate to leave the closed section."
/dungeon stage <stage_id> gate emergency enable|disable
/dungeon stage <stage_id> gate emergency plate set [pressure_plate_material]
/dungeon stage <stage_id> gate emergency destination set
Emergency-return hologram visibility, height, and lines are configured only under gate.emergency-return.hologram in the stage YAML. They cannot be edited in the GUI or through an in-game command.
The editor has independent particle toggles for gate teleport destinations and emergency-return locations.
Holograms¶
You can create multiple holograms for the same stage. Delete removes the nearest hologram for that stage within 3 blocks.
Runtime holograms show live mission progress. Locked higher-order holograms show which earlier stages still need to open.
Emergency-return holograms support %dungeon%, %dungeon_name%, %instance%, %party_leader%, %party_size%, %alive_players%, %gate%, %stage%, %stage_order%, %destination_x%, %destination_y%, and %destination_z%.
Mission Types¶
| Mission | Description |
|---|---|
REGION |
Enter or remain in a selected cuboid, individually or as a party. |
KILL_MOBS |
Party must kill a configured number of mobs. |
LEVER |
Party must pull all mission levers. |
BUTTON |
Party must press all mission buttons at the same time. |
PRESSURE_PLATE |
Party must activate all mission plates at the same time. |
REQUIRED_KEY |
Players submit mission keys by right-clicking the gate. |
TIME |
Waits a configured number of seconds. |
SACRIFICE |
Selects players to eliminate through the mission GUI. |
MONEY_PAYMENT |
Requires a Vault money payment. |
ITEM_PAYMENT |
Requires configured items through a GUI editor. |
Mission levers belonging to locked future stages cannot be pulled. They become available when their stage unlocks.
Region Missions¶
A REGION mission uses a cuboid selected by two opposite block corners in the dungeon template. The corner blocks are included, and either selection order is accepted. Progress starts only after the stage unlocks.
/dg edit <dungeon_id>
/dg stage <stage_id> mission region
/dg stage <stage_id> mission region pos1
# move to the opposite corner in the template world
/dg stage <stage_id> mission region pos2
Run /dg stage <stage_id> mission region first to add the mission. The confirmation shows the two commands for selecting its corners. Then stand at each corner in the template world and run pos1 or pos2; each command saves your current block as that corner. Running the creation command again preserves the existing corners and settings. Do not use the generated instance world name in the stage config.
In editor mode, cyan particles mark pos1 and pink particles mark pos2. Markers are visible only to the editing admin within 50 blocks of a corner. Toggle Region Corners under Admin Settings to show or hide them independently of other mission particles.
missions:
- type: REGION
region:
mode: ENTER_ONCE
whole-party: false
pos1: {x: 10, y: 60, z: 10}
pos2: {x: 20, y: 70, z: 20}
| Mode | whole-party: false |
whole-party: true |
|---|---|---|
ENTER_ONCE |
Any participant enters once. | Each required participant enters once; their visits may happen at different times. |
STAY_UNTIL_COMPLETE |
At least one participant is currently inside until all stage missions complete. | All required participants are inside at the same time until all stage missions complete. |
Spectators do not count. A dead or offline participant does not count as currently inside. For the stay mode, the same player does not have to remain throughout: the configured number of participants must currently satisfy the condition. Leaving before the gate opens makes the stay condition incomplete again. Opening the gate finishes the stage permanently.
With whole-party: true, the requirement uses the actual participants in the run, not the dungeon's maximum capacity. A solo run in a dungeon configured for 1–5 players requires only that solo player.
In STAY_UNTIL_COMPLETE, the hologram shows the region as complete while the required participants are inside and returns to pending if they leave before the stage opens. The mission completion message and sound occur only when all stage missions are satisfied and the gate opens. In ENTER_ONCE, completion is announced as soon as the required visits are recorded and stays complete after players leave.
Set region.mode and region.whole-party in the stage YAML or use the Region Mission submenu in the admin GUI. These settings have no command variants. Use /dg stage <stage_id> mission region delete to remove the mission. Validation rejects missing corners or invalid settings.
One REGION mission is supported per stage with no per-dungeon region mission limit. In the mission GUI, click Region Mission to create it and open its corner and logic settings. Right-click its mission icon to remove it.
Mission Commands¶
/dg stage <stage_id> mission region
/dg stage <stage_id> mission region pos1
/dg stage <stage_id> mission region pos2
/dg stage <stage_id> mission region delete
/dungeon stage <stage_id> mission kill_mobs <amount>
/dungeon stage <stage_id> mission lever
/dungeon stage <stage_id> mission button <button_material>
/dungeon stage <stage_id> mission pressure_plate <plate_material>
/dungeon stage <stage_id> mission required_key <amount>
/dungeon stage <stage_id> mission time <seconds>
/dungeon stage <stage_id> mission sacrifice [mode] [drop_items]
/dungeon stage <stage_id> mission money_payment <amount> [ANY_PLAYER|LEADER_ONLY]
/dungeon stage <stage_id> mission item_payment
/dungeon stage <stage_id> mission <type> delete
Clickable missions
SACRIFICE, MONEY_PAYMENT, and ITEM_PAYMENT are opened during a run by right-clicking a gate block.
Skipping Missions¶
Requires instanceddungeons.admin or instanceddungeons.skip.mission. The player must be a participant in an active dungeon run, not a spectator. There is no skip button in the GUI.
Stage tab completion lists only unlocked, unfinished stages in the player's current instance, including parallel stages with the same order. Mission tab completion lists that stage's mission types and all.
Skipping marks the selected missions complete without charging payment costs or performing sacrifice. Skipping KILL_MOBS also fills every configured mob target on the hologram, such as SKELETON: 2/2 and ZOMBIE: 2/2, with zero remaining. When every mission is satisfied, normal gate opening, stage events and checkpoint behavior continue. A skipped REGION stay condition cannot block the stage again. all affects only the named stage; it never skips a newly unlocked stage.
Required Keys¶
For REQUIRED_KEY, set the required amount directly:
Kill Mobs Filters¶
New KILL_MOBS missions include both options:
only-dungeon-spawner-mobs counts only mobs spawned by this dungeon instance's configured spawners, including vanilla and MythicMobs pools. Friendly summons from enchantments or other plugins, natural mobs, and mobs already stored in the template do not count. Bosses remain excluded from stage kill missions. Dungeon-spawned mobs still count after transformations, such as a zombie becoming a drowned.
Set only-dungeon-spawner-mobs: false to count mobs from other sources inside the instance. Kills must be credited to a player. Mobs summoned separately by a Mythic skill are not automatically treated as dungeon spawner mobs.
count-baby-variants includes baby versions of eligible mobs, including zombies, drowned, piglins, and other ageable mobs. Set it to false to exclude babies. The spawner-source filter still applies. To control which variants spawn, use the spawner settings.
Both options default to true when omitted, including in existing missions. Changing the required amount through a command or the editor preserves these filters. Save the mission to write the fields, or add them manually and reload.
Both switches are available in the dedicated Kill Mobs Mission settings menu.
Specific Kill Mobs Targets¶
Open Stages > stage > Missions > Kill Mobs Mission to reach the mission settings. The menu contains the required amount, Dungeon Spawner Mobs Only, and Count Baby Variants. Click Required Amount to enter the mob count in chat.
Click Specific Mob Targets to add a one-Zombie example when the mission has no targets and show the configuration path in chat:
plugins/InstancedDungeons/dungeons/<dungeon-id>/stages/<stage-id>.yml.
Edit mob-targets inside that file's KILL_MOBS entry, then reload the dungeon configuration before starting a new instance:
missions:
- type: KILL_MOBS
required: 10
only-dungeon-spawner-mobs: true
count-baby-variants: true
mob-targets:
- type: VANILLA
mob-id: ZOMBIE
count: 6
- type: VANILLA
mob-id: PIG
count: 2
- type: MYTHIC
mob-id: Kings
count: 1
- type: MYTHIC
mob-id: Barbarian
count: 1
With targets configured, the mission requires every listed count. Their sum replaces required; extra zombies cannot replace a missing pig or MythicMob. Use Bukkit entity names for vanilla targets and exact, case-sensitive MythicMobs internal IDs for Mythic targets. A Mythic zombie counts toward its Mythic ID, not the vanilla ZOMBIE target. Both source and baby filters still apply.
The hologram shows each target's progress and remaining count. Invalid target definitions block progress and are reported by validation and in the server log. Omit mob-targets to use the ordinary total-count mission. The amount button is disabled while specific targets control the total; editing the filters preserves those targets.