Releases: Q992426633/memorysweeper
Releases · Q992426633/memorysweeper
Release list
MemorySweeper v1.0.1
Added
- Startup JVM/GC diagnostic logging. Prints JVM name, Java version, active GC type, and max heap size on mod load, making it easy to verify GC tuning.
Changed
- Refactored chunk unload dispatch to call
scheduleUnload(long, ChunkHolder)via reflection instead of directly inserting into the internal pending-unload Map. This ensures proper unload lifecycle handling rather than bypassing it.
Fixed
- Garbled text in startup log message caused by non-UTF-8 encoding.
- Leftover IUCore project metadata (
mod_id,mod_name,mod_description, etc.) ingradle.properties. - Inconsistent version numbers across
build.gradle(1.0.1),mods.toml(1.0.0), and startup banner (2.5.0). All now read1.0.1.
Docs
- Added
CHANGELOG.mdandjvm_args.txtwith recommended G1GC JVM arguments. - Rewrote README to accurately reflect that the mod stabilizes TPS/MSPT by controlling chunk count, not by managing JVM memory return-to-OS.
MemorySweeper v1.0.0
MemorySweeper v1.0.0 - Initial Release
Aggressive chunk unloading to prevent memory creep during exploration.
Features
- Scans loaded chunks every 0.5s, unloads chunks beyond view distance + 1
- Direct pending-unload queue manipulation, bypasses vanilla ticket delays
- Raises per-tick unload limit from 200 to 800
- Runtime field auto-detection (no hardcoded SRG/Mojang names)
- Source field drift detection and auto-recovery
- Zero-config: works out of the box
Requirements
- Minecraft 1.20.1
- Forge 47.x
- No dependencies
Performance
- 40-50% fewer loaded chunks during exploration
- <1ms MSPT overhead per scan
- No GC spikes