
MSRdungeons
MSRDungeons is a Paper/Purpur plugin for **resettable wave-based dungeons** with MythicMobs integration, team participation rules, rewards, cooldowns, and schematic restore.
Список изменений
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
schematicLocationto dungeon config. - Added
schematicLocationtoDungeonDefinition. - Updated
DungeonConfigLoaderto loadschematicLocation. - If
schematicLocationis missing, the plugin falls back tostartLocation. - Updated
WorldEditHookto paste schematics atschematicLocation. - Updated README and config examples.
Result:
startLocationcontrols where players are teleported when the run starts.schematicLocationcontrols where WorldEdit/FAWE pastes the schematic.- Changing
startLocationno longer moves the schematic paste position ifschematicLocationis set.
Example:
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 entersWAITING.- 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
WAITINGorACTIVE, 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, orRESETTING.
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.protectcan 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:
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>usesmsrdungeons.start.msrdungeons.startis set todefault: trueinplugin.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 checksmsrdungeons.cooldown.msrdungeons.cooldownis set todefault: trueinplugin.yml.- README permission list was updated.
Result:
- Non-op players can check dungeon cooldowns.
