COWMODSКаталог модов

MSRdungeons

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

Автор: Van1boy2673обновлён 3 июн. 2026 г.
Механики игрыМини-игры

Описание

MSRDungeons

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

Последние версии

Все версии →
release

MSRdungeons 1.0.1

1.0.1
3 июн. 2026 г.230Minecraft: 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.9paper, purpur
Скачать
Что нового
## 1. Separate Schematic Paste Location Added a dedicated `schematicLocation` setting. Before this patch, schematic restore used the same location as `startLocation`. That meant changing the player start point could also change where the dungeon schematic was pasted. Changes: - Added `schematicLocation` to dungeon config. - Added `schematicLocation` to `DungeonDefinition`. - Updated `DungeonConfigLoader` to load `schematicLocation`. - If `schematicLocation` is missing, the plugin falls back to `startLocation`. - Updated `WorldEditHook` to paste schematics at `schematicLocation`. - Updated README and config examples. Result: - `startLocation` controls where players are teleported when the run starts. - `schematicLocation` controls where WorldEdit/FAWE pastes the schematic. - Changing `startLocation` no longer moves the schematic paste position if `schematicLocation` is set. Example: ```yml schematicLocation: world: "world" x: 100 y: 64 z: 100 startLocation: world: "world" x: 120 y: 64 z: 120 ``` ## 2. Restore Schematic On Dungeon Start Added schematic restore before opening the entry window. Changes: - `/msrdungeons start <id>` now restores the schematic before the dungeon enters `WAITING`. - If schematic restore fails, the dungeon does not start. Result: - Every run starts from a restored dungeon structure. - Players cannot enter a damaged or previously modified version of the dungeon. ## 3. Inactive Dungeon Grief Protection Added protection against grief while the dungeon is not running. Problem: - A player could ignite blocks near the dungeon region before start. - Fire could spread into the dungeon. - Explosions near the region could damage the dungeon. - Because the dungeon was protected, even admins could have trouble extinguishing fire depending on region permissions. Changes: - Blocked fire spread into inactive dungeon regions. - Blocked block burning in inactive dungeon regions. - Blocked ignition in inactive dungeon regions for non-op players. - Blocked explosion block damage against inactive dungeon regions. Result: - Before the dungeon starts, fire and explosions cannot grief the dungeon region. ## 4. Active Dungeon Vanilla-like Behavior Adjusted protection logic so restrictions apply only when the dungeon is not running. Problem: - Explosion and interaction protection was too broad. - Some actions were blocked even during active dungeon runs. Changes: - When a dungeon is `WAITING` or `ACTIVE`, the plugin allows normal survival-like interaction. - Block breaking and block placing are allowed during running dungeons. - Interactions with doors, plates, containers, signs, and other blocks are allowed during running dungeons. - Fire and explosions are allowed during running dungeons. - Inactive-region restrictions remain active when the dungeon is `IDLE`, `COOLDOWN`, `FAILED`, `COMPLETED`, or `RESETTING`. Result: - During a running dungeon, players can interact with the dungeon like normal survival gameplay. - When the dungeon is not running, the region remains protected. ## 5. Op/Admin Bypass For Inactive Dungeon Protection Added bypass behavior for trusted users while the dungeon is not running. Changes: - Op players can bypass inactive dungeon protection. - Players with `msrdungeons.admin.protect` can bypass inactive dungeon protection. Result: - Admins can edit, repair, extinguish, or manage inactive dungeon regions. - Non-op players remain restricted while the dungeon is not running. ## 6. Sign Interaction For Non-op Players Allowed non-op players to interact with signs in inactive dungeon regions. Problem: - Non-op players still received: ```text Sorry, but you can't use that here. ``` when trying to use signs. Changes: - Added sign detection for: - normal signs - wall signs - hanging signs - wall hanging signs - Added a one-tick WorldGuard bypass for sign interaction in inactive dungeon regions. Result: - Non-op players can use signs even when the dungeon is not running. - Other inactive-region restrictions still apply. ## 7. Public Dungeon Start Permission Allowed regular players to start dungeons. Changes: - `/msrdungeons start <id>` uses `msrdungeons.start`. - `msrdungeons.start` is set to `default: true` in `plugin.yml`. Result: - Non-op players can start dungeons unless a permissions plugin overrides this permission. ## 8. TNT And Explosion Fix During Active Dungeons Fixed TNT behavior in running dungeons. Problem: - TNT itself exploded. - However, blocks around the explosion were not destroyed. - The likely cause was WorldGuard or another protection layer clearing the explosion block list. Changes: - Active/running dungeon explosions are forced un-cancelled by MSRDungeons. - Explosion radius is remembered from `ExplosionPrimeEvent`. - The original explosion block list is remembered at the earliest event priority. - If another protection plugin clears the block list, MSRDungeons restores it for running dungeon regions. - Inactive dungeon explosion protection remains unchanged. Result: - TNT can destroy blocks during a running dungeon. - TNT cannot grief an inactive dungeon region before start. ## 9. Public Cooldown Command Allowed regular players to check dungeon cooldowns. Changes: - `/msrdungeons cooldown <id>` now checks `msrdungeons.cooldown`. - `msrdungeons.cooldown` is set to `default: true` in `plugin.yml`. - README permission list was updated. Result: - Non-op players can check dungeon cooldowns.
release

MSRdungeons 1.0.0

1.0.0
11 мая 2026 г.37Minecraft: 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.9paper, purpur
Скачать
Что нового
First version