3.2
Compatibility
Changes
AdvancedRTPQueue v3.2
Release Date: 2026-04-06
🚀 Highlights
- Rebuilt the RTP location search pipeline for production workloads.
- Fixed unsafe async world access that caused lag spikes and inconsistent results.
- Hardened safe-teleport checks, especially for Nether roof / bedrock scenarios.
- Improved fallback and cache behavior for reliable teleports under heavy load.
🔄 Teleport Engine Rewrite
-
Replaced legacy search loop with a shared per-world search future model.
-
Chunk loading now uses
PaperLib.getChunkAtAsync(...). -
All block/world checks are safely executed on the main thread.
-
Added strict world-border validation during candidate selection.
-
Implemented:
- Cache warmup
- Periodic cache refill
-
Added configurable cache refresh cadence.
🛡️ Safe Teleport Improvements
-
Added Nether roof protection:
teleport.prevent-nether-roof(default: true)teleport.nether-roof-min-y(default: 120)
-
Improved standability validation:
- Solid ground check
- Passable head/feet space
-
Enhanced hazard detection using configurable radius.
-
Enforced claim protection during location validation.
🔁 Fallback Improvements
-
Improved spawn fallback scanning:
teleport.fallback-search-radius(default: 64)teleport.fallback-search-attempts(default: 48)
-
Added forced fallback option:
teleport.force-spawn-on-failure(default: false)
⚡ Performance & Stability
-
Optimized particle handling:
- Now sent only to nearby players instead of global broadcasts.
-
Added silent queue removal API:
- Prevents unnecessary message spam during teleport handoff.
-
Fixed async chat cancellation:
- Now safely scheduled back on the main thread.
-
Claim protection state now properly refreshes on plugin reload.
-
Teleport manager now supports:
- Clean reload handling
- Cache reinitialization
🎮 Commands & UX
- Added
/rtpqueue cancel(alias of/rtpqueue leave) - Updated command usage in
plugin.yml
⚙️ New Config Keys
teleport.cache-refresh-interval-ticks: 100
teleport.fallback-search-radius: 64
teleport.fallback-search-attempts: 48
teleport.force-spawn-on-failure: false
teleport.safety-check-radius: 1
teleport.prevent-nether-roof: true
teleport.nether-roof-min-y: 120
💬 New Message Keys
messages.cancelled-not-enough
messages.cancelled-invalid-world
messages.cancelled-disconnect
messages.cancelled-force
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:Pf2v3RpF:G0XPnp0o"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:Pf2v3RpF:G0XPnp0o"
}

