All versions
1.3.0
Release
Lazy Chunk Load 1.3.03 months ago 2,672
Compatibility
Minecraft: Java Edition
1.20.1
Platform
Forge
Supported environments
Server-side
Singleplayer
Changes
1.3.0 β 2026-07-19
π New
- Unload Strategy: Clears internal
chunkLastSeenentries under memory pressure using three conditions β far from players, non-hotspot, sufficiently old. Disabled by default; can be enabled in config - Hotspot Chunk Tracking: Records frequently-accessed chunks; preload extends their retention, unload protects them first
- Dimension Whitelist/Blacklist: Restrict preloading scope via
dimension_blacklist/dimension_whitelistto avoid wasting CPU in custom plot worlds - Stats Collector: Internal
StatsCollectortracks preload / throttle-skip / emergency-load counts for diagnostics - NeoForge 1.21.1 Platform: Added NeoForge 1.21.1 alongside existing Fabric 1.21.x / Forge 1.20.1
- Fabric 26.1 Platform: Adapted to MC 26.1's new API (ChunkPos record, removed obfuscation mappings, etc.). Requires JDK 25 to compile
π§ Optimizations
- Preload Path Prediction Cache:
MovementPredictor.pathAlignmentwas being called ~200 times/tick/level inside the scan loop, creating ~4800 temporaryVec3objects per tick. Now cachespredictPathonce at entry and passes it in batches β temp objects drop from ~4800/tick to ~8/tick - Independent 26.1 Core: MC 26.1 API changes were too large (ChunkPos record, GameProfile.getName removed, ServerPlayer.serverLevel removed, ResourceKey.location removed, etc.) β no longer shares source with common, maintained as an independent core copy
π§ Fixes
- Fixed performance regression caused by UnloadStrategy default-on: When enabled by default,
evictFarChunksclearedchunkLastSeenat β₯85% memory, dropping affected chunks'agingScorefrom ~1.0 to ~0.63 and degrading preload effectiveness. Default changed to disabled
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:ZsyQkd1s:oGOT7s7D"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:ZsyQkd1s:oGOT7s7D"
}

