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.
IDLE, WAITING, ACTIVE, COMPLETED, FAILED, RESETTING, COOLDOWNEASY: dead player is removed, others continueHARDCORE: one death fails the whole teamtimeLimitSeconds)%player%players.ymlInside dungeon region:
WAITING or ACTIVE):
MSRDungeons-<version>.jar into plugins/.plugins/MSRDungeons/config.ymlplugins/MSRDungeons/schematics/<your_file>.schem/msrdungeons reload/msrdungeons reload/msrdungeons start <id>/msrdungeons stop <id>/msrdungeons reset <id>/msrdungeons cooldown <id>/msrdungeons info <id>/msrdungeons tokens [player]Aliases:
/msrd/msrdungeonmsrdungeons.admin.reloadmsrdungeons.admin.startmsrdungeons.admin.stopmsrdungeons.admin.resetmsrdungeons.admin.cooldownmsrdungeons.admin.infomsrdungeons.tokensdungeons:
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.spawnPoint is still supported.dungeons: map of dungeon IDs.
crypt_01/msrdungeons start crypt_01)displayName
Name shown in plugin messages.
tier
One of:
EASYHARDCOREregion
WorldGuard region ID used for dungeon boundary checks.
schematic
File name inside plugins/MSRDungeons/schematics/.
crypt_01.schementryWindowSeconds
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 alivecooldownSeconds
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:
WAITING/ACTIVE): vanilla-like interactionstartLocation
Team is teleported here when run enters ACTIVE.
safeLocation
Teleport destination after completion/failure/reset.
spawnPoints
Named coordinates used by wave mob entries.
rewards.tokens
Flat completion token reward per winner.
rewards.commands
Console commands run per winner.
%player% placeholder is supported.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)Each wave key is numeric (1, 2, 3, ...).
delaySeconds
Delay before spawning that wave.
mobs entries:
mythicMob: MythicMobs internal IDamount: spawn countspawnPoints: list of named spawn points (recommended)spawnPoint: single point (legacy fallback)Spawn distribution:
spawnPoints has multiple values, mobs are distributed round-robin.tier: EASYentryWindowSeconds: 45-90timeLimitSeconds: 900+minPlayers: 1, maxPlayers: 6-10tier: EASYentryWindowSeconds: 20-40timeLimitSeconds: 480-720minPlayers: 3, maxPlayers: 5tier: HARDCOREentryWindowSeconds: 15-30timeLimitSeconds: 300-480minPlayers: 4, maxPlayers: 6WAITING/ACTIVE)startLocation at active startIDLE/COOLDOWN)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.
/msrdungeons start <id>, schematic restore is performed before opening entry window.
MSRDungeons is a Paper/Purpur plugin for **resettable wave-based dungeons** with MythicMobs integration, team participation rules, rewards, cooldowns, and schematic restore.