promotional bannermobile promotional banner

LR Dynamic Dungeon Fixes

A standalone bug-fix add-on for LR's Dynamic Dungeon mod

Beta version. Expect bugs, back up your world before using it, and please report anything odd on the issue tracker.

A standalone bug-fix add-on for LR's Dynamic Dungeon. It patches the original mod at load time using Mixins. The original mod's files are never modified or redistributed, and lrdd_fix contains none of its assets.

Minecraft 1.20.1 · Forge 47.x · requires LR's Dynamic Dungeon


Why this exists

Players of LR's Dynamic Dungeon kept running into the same problems: portals that never open, runs that reset when you reconnect, doors that stay shut, dead-end rooms, and lost graves. lrdd_fix fixes the causes instead of working around them.

What it fixes

Problem What was wrong Now
Boss killed after you died in the fight: no portal to the next stage Enemies were tracked by in-memory reference; after the chunk reloaded, the boss was a different object and its death was never counted Enemies are tracked by UUID and survive chunk reloads
Reconnecting inside the dungeon resets the run and kicks you out The run ID was regenerated on every server start, so every room looked "stale" and was wiped Run state is saved in the world
Red-skull doors stay shut when a mob despawns or is removed Only real kills were counted Despawns and removals count too
Dead-end rooms, first path from the start room failing Placement was validated at the wrong corner, failed attempts left orphan data, a missing break in the retry loop Correct footprint check, clean rollback, more retry attempts
Dying in a boss fight leaves the run stuck Same tracking bug as the boss portal Fixed with the tracking change
Quitting before recovering your item loses the items The reset wiped the death room Run state persists; optional keep-inventory removes the problem entirely
Dungeon Pass portal could be hundreds of blocks tall The portal fills every column from the brick platform up to the first block above, with no height limit Same design (platform + any ceiling), but the ceiling must be within a configurable height
Crash while spawning a room's mobs (Not a JSON Array: null) A malformed entry in an enemy pool (for example a trailing comma) passed validation Bad entries are removed and logged; a failed room is rolled back and retried
Boss rooms with several lock blocks skipped stages Each lock block advanced the stage Stage advances once
Stage Refill after the last boss crashed Stage -1 was used as an index Treated as the last stage

New features

Look at a lock block (the door before a treasure or boss room): the mobs of that room that are still alive glow, and the action bar shows "Mobs left to kill: N".

Both can be turned off in the config (lock-highlight, lock-actionbar-counter).

After the last mob of a room is dead, players near the room get the message "Room is cleared, the exit is now open." (option room-cleared-message).

Clearer refill messages

Dungeon Refill and Stage Refill now tell you what is happening:

A second refill can no longer be started while one is running.

Last-stage portal option

After the last boss a ground portal appears. By default it teleports you out. Set terminate-on-exit-last-stage = false and it returns you to the start room of the last stage instead, so a group can keep looting, leave and come back without spending another pass.

Keep inventory in the dungeon

Die in the dungeon and you keep your inventory and experience. No grave, nothing to recover. The punishment is the walk back from the start room. (Vanilla keepInventory, but only for this dimension.)

Optional full reset

Reset the whole dungeon when a player dies, leaves the dimension, disconnects inside it, or when the world closes. All off by default. A reset runs once the dungeon is empty.

Configuration

config/lrdd_fix-common.toml

Option Default What it does
terminate-on-exit-last-stage true true: the last-stage ground portal teleports the player out. false: back to the last stage's start room, run stays active
keep-inventory-in-dungeon true Keep inventory and XP when dying in the dungeon dimension
reset-on-death false Reset the dungeon after a player dies in it
reset-on-exit false Reset after a player leaves the dimension by any means
reset-on-quit false Reset after a player disconnects inside the dungeon
reset-on-world-close false Reset on every world / server shutdown

Compatibility

  • Works alongside datapack / KubeJS changes to the dungeon's enemy pools, loot and structures.
  • The mod uses strict Mixin targets: if a future version of LR's Dynamic Dungeon renames a patched method, the game will refuse to start instead of silently breaking. Check for an lrdd_fix update first.
  • Tested with: LR's Dynamic Dungeon 1.19.2, Forge 47.4.23, Modpack: Roguelike Adventures and Dungeons 3
  • Existing worlds: the first launch gives the dungeon a fresh run ID, so existing dungeon rooms are wiped once.

Known limitations

  • Beta: not yet widely tested.
  • Keep-inventory covers the vanilla inventory and XP, not items in extra slot systems (for example Curios).
  • A refill interrupted by a server shutdown is not resumed (same as the original mod).
  • With keep-inventory turned off, graves left in the dungeon are still lost on a reset or refill.

Reporting bugs

Please include latest.log and, if possible, the line(s) starting with [lrdd_fix].

Issues: https://github.com/dr3ams/LR-Dynamic-Dungeon-Fixes

Credits

  • LinkedR, creator of LR's Dynamic Dungeon. This mod exists only because of their work; some patches replace methods with reworked versions of the original logic, so credit goes to them.

This is an unofficial add-on and is not affiliated with or endorsed by the original author. Do not report any issue to them with this mod installed

LR Dynamic Dungeon Fixes Team

profile avatar
  • 471
    Followers
  • 23
    Projects
  • 30.7M
    Downloads

More from dreams01View all