Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for evnrca

DungeonRooms lets server owners build guided dungeon runs where players unlock each room by defeating the required Mythi

Report DungeonRooms?

DungeonRooms

Guided dungeon runs powered by WorldGuard & MythicMobs


Overview

DungeonRooms lets server owners build guided dungeon runs where players unlock each room by defeating the required MythicMobs. Create dungeon areas with WorldGuard, set a safe spawn point, choose how many mobs each room requires, and let the plugin handle room locks, progress tracking, dungeon death returns, admin bypasses, and optional particle borders.


Compatibility

Component Required Version
Paper 1.21.1+
Java 21
WorldGuard 7.0+
WorldEdit Required by WorldGuard
MythicMobs 5.6+
Player Data Gson JSON (bundled in Paper — no extra dependency)

Features

  • Dungeon boundaries — Register a full dungeon WorldGuard region with /dr create.
  • Spawn regions — Register a spawn region per dungeon before rooms can be added.
  • Dungeon death override — Fatal dungeon damage is intercepted and the player is returned to the dungeon spawn.
  • Per-dungeon progression — Room sequence is scoped to each dungeon.
  • MythicMobs kill tracking — Only MythicMobs kills count toward room completion.
  • JSON player data — Player kills and room unlocks stored in a flat Gson JSON file.
  • Lightweight storage — Gson is provided by Paper. No database library is bundled.
  • Atomic async saves — Writes use temp files before replacing JSON data. Safe on crash.
  • Reset toggles — Death, dungeon exit, world change, and teleport resets can be toggled independently.
  • Teleport pass-through protection — Ender pearls, chorus fruit, and other teleports cannot bypass locked rooms.
  • Border visualization — Show current room, spawn region, or all dungeon/room borders privately via particles.
  • Admin bypass — Bypass all rooms or specific dungeon rooms with permissions.

Installation

  1. Download DungeonRooms-2.0.3.jar.
  2. Place it in your server's plugins/ folder.
  3. Install required dependencies:
  4. Start or restart the server.
  5. Edit plugins/DungeonRooms/config.yml if needed.
  6. Run /dr reload after configuration changes.

Commands

Command Permission Default Description
/dr create <world> <region> <dungeonName> dungeonrooms.admin OP Register a dungeon boundary.
/dr add spawn <world> <region> <dungeonName> dungeonrooms.admin OP Register a spawn region for a dungeon.
/dr setspawn <dungeonName> dungeonrooms.admin OP Store current location as the dungeon return point.
/dr add room <dungeonName> <region> <kills> dungeonrooms.admin OP Register a room. Requires spawn region first.
/dr remove <dungeonName> dungeonrooms.admin OP Remove a dungeon and all its rooms.
/dr remove room <dungeonName> <region> dungeonrooms.admin OP Remove one room from a dungeon.
/dr edit kills <dungeonName> <region> <kills> dungeonrooms.admin OP Update a room's required kills.
/dr list dungeonrooms.admin OP List all registered dungeons and rooms.
/dr status [player] dungeonrooms.status TRUE Show your own progress.
/dr status <other> dungeonrooms.status.others OP Show another player's progress.
/dr reset <player> [dungeon] dungeonrooms.reset OP Reset all or one dungeon's progress.
/dr reload dungeonrooms.admin OP Reload config and refresh cached dungeon data.
/dr showborder dungeonrooms.showborder TRUE Toggle room border for the room you are inside.
/dr showborder spawn dungeonrooms.showborder TRUE Toggle spawn region border for the current dungeon.
/dr showborder all dungeonrooms.showborder TRUE Toggle all dungeon and room borders.
/dr version None TRUE Display plugin version, author, and GitHub link.

Permissions

Permission Default Description
dungeonrooms.admin OP Dungeon setup, editing, removal, list, reload, and spawn setup.
dungeonrooms.status TRUE Check your own progress.
dungeonrooms.status.others OP Check another player's progress.
dungeonrooms.reset OP Reset player progress.
dungeonrooms.showborder TRUE Toggle border visualization.
dungeonrooms.bypass OP Bypass all room progression requirements.
dungeonrooms.bypass.<dungeon>.<region> OP Bypass one specific dungeon room.

Scoped bypass example:

dungeonrooms.bypass.sample.room_2


Setup Guide

  1. Create a WorldGuard region for the whole dungeon boundary.
  2. Register it: /dr create <world> <region> <dungeonName>
  3. Create a WorldGuard region for the dungeon spawn area.
  4. Register the spawn region: /dr add spawn <world> <region> <dungeonName>
  5. Stand inside the spawn region and run: /dr setspawn <dungeonName>
  6. Create WorldGuard regions for each room.
  7. Add rooms in progression order: /dr add room <dungeonName> <region> <kills>
  8. Spawn MythicMobs inside rooms.
  9. Use /dr status to verify kill progress and unlocks.

Example:

/dr create dungeon_world sample_boundary sample /dr add spawn dungeon_world sample_spawn sample /dr setspawn sample /dr add room sample room1 10 /dr add room sample room2 15 /dr add room sample boss_room 1


Region Layout

+--------------------------------------------------+ | WorldGuard region: sample_boundary | | Dungeon name: sample | | | | +--------------+ | | | sample_spawn | <- /dr add spawn ... | | | spawn point | <- /dr setspawn sample | | +--------------+ | | | | | v | | +--------------+ +--------------+ | | | room1 | -> | room2 | | | | 10 kills | | 15 kills | | | +--------------+ +--------------+ | | | | | v | | +--------------+ | | | boss_room | | | | 1 kill | | | +--------------+ | +--------------------------------------------------+

Region Type Example Registered With
Dungeon boundary sample_boundary /dr create dungeon_world sample_boundary sample
Spawn region sample_spawn /dr add spawn dungeon_world sample_spawn sample
Room room1 /dr add room sample room1 10
Room room2 /dr add room sample room2 15
Boss room boss_room /dr add room sample boss_room 1

Progression Logic

Rule Behavior
First room Sequence 0 is always freely accessible.
Later rooms Require completion of the previous sequence in the same dungeon.
Completion Current kills reach requiredKills.
Unlocks Completed rooms stay unlocked until reset.
Exit Exiting rooms is never blocked.
Teleports Same-world teleports are checked before entering locked rooms.
Bypass dungeonrooms.bypass or scoped permission allows free entry.

Example flow:

Spawn → Room 1 → Room 2 → Boss Room


Reset Triggers

Trigger Config Key Default
Player fake-dies inside dungeon progress-reset.death false
Player exits dungeon boundary progress-reset.dungeon-exit true
Player changes world from dungeon world progress-reset.world-change true
Player teleports out of dungeon progress-reset.teleport true

Border Visualizer

  • /dr showborder — Renders the current room border only.
  • /dr showborder spawn — Renders the spawn region border for the current dungeon.
  • /dr showborder all — Renders all registered dungeon boundaries and room borders simultaneously.

Only the toggling player sees particles. DungeonRooms uses player.spawnParticle().

Border Type Config Key
Room regions border-visualizer.room-particle-type
Dungeon boundaries border-visualizer.dungeon-particle-type
Spawn regions border-visualizer.spawn-particle-type

Storage

plugins/DungeonRooms/ config.yml dungeons.json playerdata.json

No external database. Gson comes from Paper — DungeonRooms does not shade any storage library. All data loads synchronously on startup. Runtime writes are async and atomic using temp file replacement.


Information

Category
Gameplay
Published
August 30, 2026
License
Unspecified
0Downloads
0Stars

Pinned Versions

Members

1