MSRdungeons

MSRdungeons

MSRDungeons is a Paper/Purpur plugin for **resettable wave-based dungeons** with MythicMobs integration, team participation rules, rewards, cooldowns, and schematic restore.

231 downloads 3 followers

MSRDungeons

<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/FTW6rMbMf0k" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

MSRDungeons is a Paper/Purpur plugin for resettable wave-based dungeons with MythicMobs integration, team participation rules, rewards, cooldowns, and schematic restore.

Built for Minecraft 1.21.x.

Features

  • Dungeon lifecycle states:
    • IDLE, WAITING, ACTIVE, COMPLETED, FAILED, RESETTING, COOLDOWN
  • Manual dungeon start/stop/reset commands
  • Entry window before run starts (participant lock after timer)
  • Wave system from config (including boss as regular MythicMob wave)
  • MythicMobs spawn tracking by UUID
  • Team rules:
    • only participants can damage dungeon mobs
    • participants leaving active region fails the run
    • disconnect during active run counts as death
  • Tier behavior:
    • EASY: dead player is removed, others continue
    • HARDCORE: one death fails the whole team
  • Time limit per dungeon (timeLimitSeconds)
  • Rewards on success:
    • command rewards with %player%
    • token rewards stored in players.yml
  • Full reset flow:
    • teleport participants to safe location
    • remove remaining tracked mobs
    • restore schematic
    • clear runtime state
    • apply cooldown

Runtime Region Behavior

Inside dungeon region:

  • When dungeon is running (WAITING or ACTIVE):
    • players get normal survival interaction (build/use/interact)
  • When dungeon is not running:
    • build and interactions are blocked
    • PvP is allowed

Dependencies

Required

Required for schematic restore

Installation

  1. Install dependencies on your Paper/Purpur server.
  2. Put MSRDungeons-<version>.jar into plugins/.
  3. Start server once.
  4. Configure:
    • plugins/MSRDungeons/config.yml
    • plugins/MSRDungeons/schematics/<your_file>.schem
  5. Reload plugin:
    • /msrdungeons reload

Commands

  • /msrdungeons reload
  • /msrdungeons start <id>
  • /msrdungeons stop <id>
  • /msrdungeons reset <id>
  • /msrdungeons cooldown <id>
  • /msrdungeons info <id>
  • /msrdungeons tokens [player]

Aliases:

  • /msrd
  • /msrdungeon

Permissions

  • msrdungeons.admin.reload
  • msrdungeons.admin.start
  • msrdungeons.admin.stop
  • msrdungeons.admin.reset
  • msrdungeons.admin.cooldown
  • msrdungeons.admin.info
  • msrdungeons.tokens

Config Example

dungeons:
  crypt_01:
    displayName: "Forgotten Crypt"
    tier: EASY
    region: "crypt_01_region"
    schematic: "crypt_01.schem"
    entryWindowSeconds: 45
    timeLimitSeconds: 600
    cooldownSeconds: 3600
    minPlayers: 1
    maxPlayers: 5
    allowBlockBreak: true
    allowBlockPlace: true

    startLocation:
      world: "world"
      x: 100
      y: 64
      z: 100

    safeLocation:
      world: "world"
      x: 120
      y: 64
      z: 120

    spawnPoints:
      spawn_1:
        world: "world"
        x: 105
        y: 64
        z: 105
      spawn_2:
        world: "world"
        x: 110
        y: 64
        z: 110
      boss_spawn:
        world: "world"
        x: 115
        y: 64
        z: 115

    rewards:
      tokens: 20
      commands:
        - "eco give %player% 100"
        - "give %player% diamond 2"

    tokenRewards:
      defaultPerKill: 0
      byMob:
        CryptZombie: 1
        CryptSkeleton: 2
        CryptLord: 10

    waves:
      1:
        delaySeconds: 3
        mobs:
          - mythicMob: "CryptZombie"
            amount: 8
            spawnPoints: ["spawn_1", "spawn_2"]
      2:
        delaySeconds: 5
        mobs:
          - mythicMob: "CryptSkeleton"
            amount: 6
            spawnPoints: ["spawn_1", "spawn_2"]
      3:
        delaySeconds: 10
        mobs:
          - mythicMob: "CryptLord"
            amount: 1
            spawnPoint: "boss_spawn"

Notes:

  • spawnPoints (list) is supported and recommended.
  • Legacy single spawnPoint is still supported.

Configuration Reference

Root

  • dungeons: map of dungeon IDs.
    • Example ID: crypt_01
    • This ID is used in commands (/msrdungeons start crypt_01)

Dungeon Basic Settings

  • displayName
    Name shown in plugin messages.

  • tier
    One of:

    • EASY
    • HARDCORE
  • region
    WorldGuard region ID used for dungeon boundary checks.

  • schematic
    File name inside plugins/MSRDungeons/schematics/.

    • Example: crypt_01.schem
  • entryWindowSeconds
    Time before participants are locked and run starts.

  • timeLimitSeconds
    Total active run limit.

    • 0 = disabled
    • >0 = fail run if time expires and enemies are still alive
  • cooldownSeconds
    Per-dungeon cooldown after completion/failure.

  • minPlayers / maxPlayers
    Participant bounds for run start.

  • allowBlockBreak / allowBlockPlace
    Legacy toggles from earlier logic. Current runtime mode is controlled by dungeon state:

    • running (WAITING/ACTIVE): vanilla-like interaction
    • not running: protected mode

Locations

  • startLocation
    Team is teleported here when run enters ACTIVE.

  • safeLocation
    Teleport destination after completion/failure/reset.

  • spawnPoints
    Named coordinates used by wave mob entries.

Rewards

  • rewards.tokens
    Flat completion token reward per winner.

  • rewards.commands
    Console commands run per winner.

    • %player% placeholder is supported.

Kill Token Rewards

  • tokenRewards.defaultPerKill
    Fallback token reward for any dungeon mob kill not listed in byMob.

  • tokenRewards.byMob.<MythicMobId>
    Token reward for killing that specific MythicMob.

Reward formula on completion:

  • totalTokensForPlayer = rewards.tokens + sum(tokenRewards for player's kills)

Waves

Each wave key is numeric (1, 2, 3, ...).

  • delaySeconds
    Delay before spawning that wave.

  • mobs entries:

    • mythicMob: MythicMobs internal ID
    • amount: spawn count
    • spawnPoints: list of named spawn points (recommended)
    • spawnPoint: single point (legacy fallback)

Spawn distribution:

  • if spawnPoints has multiple values, mobs are distributed round-robin.

Configuration Patterns

1) Casual Public Dungeon

  • tier: EASY
  • entryWindowSeconds: 45-90
  • timeLimitSeconds: 900+
  • minPlayers: 1, maxPlayers: 6-10
  • moderate waves with many weak mobs

2) Squad Challenge

  • tier: EASY
  • entryWindowSeconds: 20-40
  • timeLimitSeconds: 480-720
  • minPlayers: 3, maxPlayers: 5
  • mixed waves, stronger elites in wave 2+

3) Hardcore Raid

  • tier: HARDCORE
  • entryWindowSeconds: 15-30
  • timeLimitSeconds: 300-480
  • minPlayers: 4, maxPlayers: 6
  • lower mob count but high damage/survivability

State-Based Behavior

Dungeon running (WAITING/ACTIVE)

  • participants are collected in entry window
  • participants are teleported to startLocation at active start
  • dungeon mob combat rules are enforced
  • active region exit by alive participant = immediate fail
  • after successful clear, chat shows per-player kill stats and kill token totals

Dungeon not running (IDLE/COOLDOWN)

  • build/interactions are blocked in dungeon region
  • PvP is allowed in dungeon region

Common Misconfigurations

  • Wrong MythicMob ID
    Symptom: wave fails to spawn, run fails.
    Fix: verify IDs in plugins/MythicMobs/Mobs/*.yml.

  • Wrong region name
    Symptom: participants not detected, run flow breaks.
    Fix: ensure region exactly matches WorldGuard region ID.

  • Missing schematic file
    Symptom: start fails with schematic restore error.
    Fix: put file in plugins/MSRDungeons/schematics/.

  • Spawn point name typo
    Symptom: part of wave does not spawn.
    Fix: make sure every wave spawnPoints value exists in spawnPoints: map.

Notes for Admins

  • On /msrdungeons start <id>, schematic restore is performed before opening entry window.
  • If a participant leaves the active dungeon region, run fails immediately.
  • If time limit expires while enemies are still alive, run fails.

Compatibility

  • Paper 1.21.x
  • Purpur 1.21.x

No gallery available for this project.

Version Minecraft Loader Download

MSRdungeons 1.0.1

1.0.1

1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9
paper, purpur
Download

MSRdungeons 1.0.0

1.0.0

1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9
paper, purpur
Download