Tags
Creators
Details
3.5.3
Compatibility
Changes
CRITICAL FIXES
[1] TPS dropping to ~10 immediately after installing the plugin on Paper 26.1.2. The location cache was hammering chunk generation: shouldGenerateChunks default in 3.5.2 was true and the fill worker had no throttle. Default reverted to false (chunk generation now opt-in per world)
[2] Sustained TPS drop after 3.5.2 upgrade traced to background cache filling for world_the_end with generate_chunks: true. End chunks are sparse and unexplored — every cycle generated dozens of chunks. Default for End flipped to generate_chunks: false
[3] HologramManager startup sweep was iterating every loaded chunk in every world. Replaced with targeted lookup of known hologram UUIDs from display_entities.yml
[4] PacketHologramManager particle task fired every 10 ticks even when no holograms existed. Now early-returns on empty
[5] smooth_transition preload was hardcoded to generate chunks (PaperLib.getChunkAtAsync(.., true)). Now non-generating by default; the actual teleport still loads/generates the destination. Configurable via smooth_transition.generate_chunks
[6] smooth_transition.chunk_preload_radius default lowered from 2 (5×5 = 25 chunks) to 1 (3×3 = 9 chunks)
[7] Cache refill worker now throttles between successive fills via new location_cache.fill_throttle_ticks (default 10)
[8] Background cache for a misconfigured world no longer retries forever. New location_cache.fail_world_disable_after_attempts (default 3) disables cache for a world that fails N consecutive cycles. Re-enable via /rtp reload after fixing config
[9] JumpRTPListener no longer reads YAML on every PlayerMoveEvent. ConfigManager caches jump_rtp.enabled and jump_rtp.enabled_worlds as fields populated on reload. New helper isJumpRtpEnabledInWorld(worldName) does one HashSet lookup per move
CONFIG
[10] New location_cache.fill_throttle_ticks (default 10)
[11] New location_cache.fail_world_disable_after_attempts (default 3)
[12] New smooth_transition.generate_chunks (default false)
[13] world_the_end.generate_chunks default changed from true to false in location_cache.worlds
[14] smooth_transition.chunk_preload_radius default lowered to 1
[15] location_cache.cache_size and location_cache.refill_interval_seconds keys exposed in defaults
COMPATIBILITY
[16] Verified on Paper 26.1.2, Paper 1.21.11, Folia 1.21.x, Folia 26.1.x.
FOR SERVER ADMINS
- If you saw sustained low TPS after installing 3.5.2 or earlier 3.5.3 — this build fixes it. No config edits required
- Want background cache for a specific world? Set
location_cache.worlds.<world>.generate_chunks: trueexplicitly - End RTP still works on demand (per
/rtp world_the_endcommand). The change only affects passive background pre-caching - If a misconfigured world keeps spamming "Failed to find a safe location" warnings, the cache will now auto-disable for that world after 3 cycles. Fix the config and
/rtp reloadto re-enable
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:L0rNG1h2:pjGVIcGB"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:L0rNG1h2:pjGVIcGB"
}

