Перейти к содержимому
Mineforgian

Dimension Leak Fix

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.

11K загрузок10 подписчиковLicenseRef-All-Rights-Reservedfabric

Обновлён 5 марта 2026 г. · опубликован 1 марта 2026 г.

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.

Версии

ВерсияКаналИграЗагрузчикиДатаСкачать
1.0.0+1.20.4Релиз1.20.4fabric5 марта 2026 г..jar (112 КБ)
1.0.0+1.20.3Релиз1.20.3fabric5 марта 2026 г..jar (112 КБ)
1.0.0+1.20.2Релиз1.20.2fabric5 марта 2026 г..jar (112 КБ)
1.0.0+1.20.1Релиз1.20.1fabric5 марта 2026 г..jar (112 КБ)
1.0.0+1.20Релиз1.20fabric5 марта 2026 г..jar (112 КБ)
1.0.0+1.19.4Релиз1.19.4fabric5 марта 2026 г..jar (112 КБ)
1.0.0+1.19.3Релиз1.19.3fabric5 марта 2026 г..jar (112 КБ)
1.0.0+1.19.2Релиз1.19.2fabric5 марта 2026 г..jar (112 КБ)
1.0.0+1.19.1Релиз1.19.1fabric5 марта 2026 г..jar (112 КБ)
1.0.0+1.19Релиз1.19fabric5 марта 2026 г..jar (112 КБ)
1.0.0+1.18.2Релиз1.18.2fabric5 марта 2026 г..jar (112 КБ)
1.0.0+1.21.11Релиз1.21.11fabric5 марта 2026 г..jar (113 КБ)
1.0.0+1.21.10Релиз1.21.10fabric5 марта 2026 г..jar (113 КБ)
1.0.0+1.21.9Релиз1.21.9fabric5 марта 2026 г..jar (113 КБ)
1.0.0+1.21.8Релиз1.21.8fabric5 марта 2026 г..jar (113 КБ)

Показаны последние 15 из 25 версий. Все версии — на Modrinth.

Комментарии

Загружаем…