Skip to content

Releases: Q992426633/memorysweeper

MemorySweeper v1.0.1

Choose a tag to compare

@Q992426633 Q992426633 released this 29 May 03:32

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.) in gradle.properties.
  • Inconsistent version numbers across build.gradle (1.0.1), mods.toml (1.0.0), and startup banner (2.5.0). All now read 1.0.1.

Docs

  • Added CHANGELOG.md and jvm_args.txt with 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

Choose a tag to compare

@Q992426633 Q992426633 released this 28 May 04:10

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