跳到正文

LR Dynamic Dungeon Fixes

作者:dreams01

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

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 支持哪些 Minecraft 版本?

LR Dynamic Dungeon Fixes 支持 Minecraft Java 版 1.20.1,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。

LR Dynamic Dungeon Fixes 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

dreams01 的其他作品

查看全部 →