Community listing page, reviews may not be monitored by the author.
Dimension Leak Fix
No reviews yet
Frees the worlds and singleplayer servers the game leaves behind when other mods keep a reference to them. Fabric, Forge and NeoForge, client side.
Community voices
Reviews
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
Runs entirely on the client. Works on vanilla servers.
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
Resources
External Links
About
Description
Every time you change dimension or go back to the menu, the game leaves the old world behind and Java is supposed to free it. If any mod still holds a reference to that world (a static field, a cache keyed by world), the whole world stays in RAM: its chunks, its entities and, in singleplayer, the whole stopped server with its recipes, loot tables and advancements. A few dimension changes or a few world reloads later, memory is full.
Dimension Leak Fix empties what the game has abandoned, so whatever still holds it only holds an empty shell, and makes known leaky mods let go of it.
What it does
- Dimension change or return to menu: 3 seconds later, the old world's chunk slots are released and the maps and lists it owns are emptied, including the ones other mods add to it. Once its connection is closed, the client copy of the recipes and the old player's recipe book are emptied too.
- Leaving a singleplayer world: once the integrated server has stopped, its chunk tables, entities and datapack contents (recipes, functions, loot tables, advancements, structure templates) are emptied, and the advancement trackers it left in the game's shared criteria are unregistered.
- Known leaky mods: Liberty Villagers, Serene Seasons, Fabric API fake players, Jade and Flywheel let go of the world or server you left. Each one was found in a heap dump of a real modpack. A mod that is not installed is skipped.
- Low memory: if memory use goes over 90% while a cleanup is waiting, it runs right away.
- Diagnostic: the log says when a world or server you left is really freed from memory, or that it is still there 5 minutes later, which points at another mod holding it.
Only what belongs to the world or server you left is touched. A container still used by the world you are in is never emptied.
Log output
Real output, NeoForge 1.21.4: a trip to the Nether, then back to the menu and into the world again.
[DimensionLeakFix] World change detected, old world will be released in 3s
[DimensionLeakFix] Phase B complete (710 references released)
[DimensionLeakFix] Return to menu detected, old world will be released in 3s
[DimensionLeakFix] Singleplayer server stopped: 0 advancement tracker(s) unregistered, 0 known leak reference(s) released, 10675 entries emptied in 3 world(s) and its datapack contents
[DimensionLeakFix] Old world freed from memory (71s after leaving it)
[DimensionLeakFix] Singleplayer server freed from memory (18s after leaving it)
Compatibility
- Fabric: Minecraft 1.18.2 to 26.3
- Forge: Minecraft 1.18.2 to 26.2
- NeoForge: Minecraft 1.20.2 to 26.3. On 1.20.1, use the Forge file: it runs on NeoForge too.
- Install it on the client. A dedicated server does not need it; if a modpack ships it on the server anyway, it loads there and does nothing.
- No configuration.
Used in the Legends Reborn: Medieval modpack.
Every time you change dimension or go back to the menu, the game leaves the old world behind and Java is supposed to free it. If any mod still holds a reference to that world (a static field, a cache keyed by world), the whole world stays in RAM: its chunks, its entities and, in singleplayer, the whole stopped server with its recipes, loot tables and advancements. A few dimension changes or a few world reloads later, memory is full.
Dimension Leak Fix empties what the game has abandoned, so whatever still holds it only holds an empty shell, and makes known leaky mods let go of it.
What it does
- Dimension change or return to menu: 3 seconds later, the old world's chunk slots are released and the maps and lists it owns are emptied, including the ones other mods add to it. Once its connection is closed, the client copy of the recipes and the old player's recipe book are emptied too.
- Leaving a singleplayer world: once the integrated server has stopped, its chunk tables, entities and datapack contents (recipes, functions, loot tables, advancements, structure templates) are emptied, and the advancement trackers it left in the game's shared criteria are unregistered.
- Known leaky mods: Liberty Villagers, Serene Seasons, Fabric API fake players, Jade and Flywheel let go of the world or server you left. Each one was found in a heap dump of a real modpack. A mod that is not installed is skipped.
- Low memory: if memory use goes over 90% while a cleanup is waiting, it runs right away.
- Diagnostic: the log says when a world or server you left is really freed from memory, or that it is still there 5 minutes later, which points at another mod holding it.
Only what belongs to the world or server you left is touched. A container still used by the world you are in is never emptied.
Log output
Real output, NeoForge 1.21.4: a trip to the Nether, then back to the menu and into the world again.
[DimensionLeakFix] World change detected, old world will be released in 3s
[DimensionLeakFix] Phase B complete (710 references released)
[DimensionLeakFix] Return to menu detected, old world will be released in 3s
[DimensionLeakFix] Singleplayer server stopped: 0 advancement tracker(s) unregistered, 0 known leak reference(s) released, 10675 entries emptied in 3 world(s) and its datapack contents
[DimensionLeakFix] Old world freed from memory (71s after leaving it)
[DimensionLeakFix] Singleplayer server freed from memory (18s after leaving it)
Compatibility
- Fabric: Minecraft 1.18.2 to 26.3
- Forge: Minecraft 1.18.2 to 26.2
- NeoForge: Minecraft 1.20.2 to 26.3. On 1.20.1, use the Forge file: it runs on NeoForge too.
- Install it on the client. A dedicated server does not need it; if a modpack ships it on the server anyway, it loads there and does nothing.
- No configuration.
Used in the Legends Reborn: Medieval modpack.
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Get it on
Available Platforms
On ModDex
Community snapshot
By the numbers
Statistics
Resources