Dimension Leak Fix
No reviews yet
Fixes memory leaks when switching dimensions. Mods like Collective, AmbientSounds and Create retain old worlds in RAM - this mod cleans them up automatically, recovering 2-4 GB per transition.
Fabric is a mod loader for versions 1.14+ of Minecraft, particularly popular for client side and optimization mods.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
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 travel between the Overworld, Nether, and End, your client creates a new ClientWorld. The old world should be garbage-collected, but several popular mods accidentally hold references to it - causing it to stay in memory forever.
After just a few dimension changes, this can eat 4-8 GB of RAM, leading to lag spikes, stuttering, and eventually crashes.
Dimension Leak Fix automatically detects dimension transitions and surgically breaks these retention chains, recovering 2-4 GB of memory per transition.
What it fixes
| Source | Problem | Impact |
|---|---|---|
| Entity references | Entities in the old world hold a .level field pointing back to it |
~200 MB per transition |
| Collective | BlockEntityData.cachedBlockEntities retains old worlds through nested WeakHashMaps |
~1.2 GB per transition |
| AmbientSounds | AirPocketScanner thread holds thousands of ChunkSections as a GC root | ~1.4 GB per transition |
| Create | Renderer caches hold references to old world data | Variable |
| Chunk storage | Old world's ChunkManager retains all loaded chunks in memory | ~1-3 GB per transition |
How it works
The mod uses a two-phase approach:
- Phase A (instant): When you change dimension, the mod immediately detaches entity references, flushes Collective caches, stops the AmbientSounds scanner thread, detaches Spark command senders, and invalidates Create's renderer.
- Phase B (3 seconds later): The mod clears the old world's chunk storage array and entity sets. This is delayed to avoid interfering with the renderer during the transition.
Compatibility
- Client-side only - does not need to be installed on the server
- Works with or without any of the mods listed above - the mod detects what's installed and only applies relevant fixes
- Tested with 200+ mods including Iris, Sodium, Distant Horizons, Create, Collective, AmbientSounds
Log output
The mod logs everything it does. Example output after a dimension change:
[DimensionLeakFix] Dimension change detected, cleaning up old world...
[DimensionLeakFix] Entities: 131 world references detached
[DimensionLeakFix] Collective: 1 cache(s) flushed in cachedBlockEntities
[DimensionLeakFix] AmbientSounds: scanner stopped (3 fields cleared)
[DimensionLeakFix] Create: renderer cache invalidated
[DimensionLeakFix] Phase A complete (137 operations)
[DimensionLeakFix] Phase B scheduled (3s delay)
[DimensionLeakFix] Phase B: releasing old world data...
[DimensionLeakFix] Chunks: 2809 slots released
[DimensionLeakFix] loadedChunks: 2809 entries cleared
[DimensionLeakFix] Phase B complete (2810 references released, ~3706 MB freed)
Used in the Legends Reborn: Medieval modpack.
Every time you travel between the Overworld, Nether, and End, your client creates a new ClientWorld. The old world should be garbage-collected, but several popular mods accidentally hold references to it - causing it to stay in memory forever.
After just a few dimension changes, this can eat 4-8 GB of RAM, leading to lag spikes, stuttering, and eventually crashes.
Dimension Leak Fix automatically detects dimension transitions and surgically breaks these retention chains, recovering 2-4 GB of memory per transition.
What it fixes
| Source | Problem | Impact |
|---|---|---|
| Entity references | Entities in the old world hold a .level field pointing back to it |
~200 MB per transition |
| Collective | BlockEntityData.cachedBlockEntities retains old worlds through nested WeakHashMaps |
~1.2 GB per transition |
| AmbientSounds | AirPocketScanner thread holds thousands of ChunkSections as a GC root | ~1.4 GB per transition |
| Create | Renderer caches hold references to old world data | Variable |
| Chunk storage | Old world's ChunkManager retains all loaded chunks in memory | ~1-3 GB per transition |
How it works
The mod uses a two-phase approach:
- Phase A (instant): When you change dimension, the mod immediately detaches entity references, flushes Collective caches, stops the AmbientSounds scanner thread, detaches Spark command senders, and invalidates Create's renderer.
- Phase B (3 seconds later): The mod clears the old world's chunk storage array and entity sets. This is delayed to avoid interfering with the renderer during the transition.
Compatibility
- Client-side only - does not need to be installed on the server
- Works with or without any of the mods listed above - the mod detects what's installed and only applies relevant fixes
- Tested with 200+ mods including Iris, Sodium, Distant Horizons, Create, Collective, AmbientSounds
Log output
The mod logs everything it does. Example output after a dimension change:
[DimensionLeakFix] Dimension change detected, cleaning up old world...
[DimensionLeakFix] Entities: 131 world references detached
[DimensionLeakFix] Collective: 1 cache(s) flushed in cachedBlockEntities
[DimensionLeakFix] AmbientSounds: scanner stopped (3 fields cleared)
[DimensionLeakFix] Create: renderer cache invalidated
[DimensionLeakFix] Phase A complete (137 operations)
[DimensionLeakFix] Phase B scheduled (3s delay)
[DimensionLeakFix] Phase B: releasing old world data...
[DimensionLeakFix] Chunks: 2809 slots released
[DimensionLeakFix] loadedChunks: 2809 entries cleared
[DimensionLeakFix] Phase B complete (2810 references released, ~3706 MB freed)
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
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers
Statistics
Resources