
justRTP
A premium-quality Random Teleport plugin, offering unparalleled safety, performance, and more
Список изменений
NEW FEATURES
[1] Smooth teleport transition: pre-loads destination chunks plus short blindness/slow-falling/resistance so players don't see void. Configurable via smooth_transition block
CRITICAL FIXES
[2] Nether RTP failing with UNKNOWN: 50 — air check now uses Material.isAir() so CAVE_AIR and VOID_AIR match
[3] Shutdown crash IllegalPluginAccessException — FoliaScheduler runs one-shots inline when the plugin is disabled
[4] End RTP failing on unexplored chunks — world_the_end added to default location_cache, and shouldGenerateChunks default flipped to true
[5] /rtp world getting stuck on the cross-server queue when a server alias matched a local world name — parser now checks worlds first
[6] Action bar showed 1m 22ss — removed trailing s, formatDuration already includes the unit
[7] Empty "" lines in chat_message are no longer skipped
[8] <x> <y> <z> <world> <player> placeholders work in effects.title, effects.action_bar, effects.chat_message
[9] PlaceholderAPI placeholders (e.g. %rp_left_click%) now expand in RTP GUI items
[10] RTP GUI close button can be removed cleanly (enabled: false, missing slot, or empty section)
[11] RTP GUI decoration items honor enchanted: true
[12] smooth_transition and zone_title auto-apply to existing installs — config-version bumped to 33
[13] zone_particles.yml is now registered with ConfigUpdater so future fields migrate automatically
IMPROVEMENTS
[14] effects.teleport_delay_bar.text from config.yml now beats teleport.delay_actionbar from messages.yml
[15] Title and action bar effects no longer return early on whitespace-only text
[16] zone_particles.yml updated
FROM PULL REQUEST #10
[17] Folia chunk-ticket and chunk.getEntities() calls in PlayerListener now wrapped in runAtChunk
[18] DatabaseManager.isConnected() is non-blocking — volatile flag, async 30s validator, reconnect-storm guard
[19] JustRTP.onDisable null-safe when rtpLogger failed to init
[20] AnimationManager double-recreation removed from reload — active animations preserved
[21] RTPMatchmakingManager.restart() called from reload, plus Math.max(1, tick_interval) clamp
[22] processMatch fallback uses the verified-safe central location instead of the unverified offset point
[23] Rich /rtp queue status — position, waited time, ready indicator, other-world queues
[24] Global zone_title config block — default countdown title for all zones
[25] <time> placeholder works in zone main_title too
[26] DataManager lazy init rewritten with volatile + DCL
CONFIGURATION
[27] New smooth_transition block in config.yml
[28] New zone_title block in config.yml (PR #10)
[29] New matchmaking.status_* keys in messages.yml (PR #10)
[30] world_the_end added to default location_cache.worlds
[31] shouldGenerateChunks default flipped to true
[32] zone_particles.yml registered with ConfigUpdater
[33] config.yml v33, messages.yml v21
COMPATIBILITY
[34] Verified on Paper 1.21.11, Paper 26.1, Folia 1.21.x, Folia 26.1
FOR SERVER ADMINS
- Nether
UNKNOWN: 50and "Pausing searches" — fixed - Shutdown
IllegalPluginAccessException— fixed /rtp worldstuck on queue — fixed- Smooth transition is on by default; disable with
smooth_transition.enabled: false - PAPI now works in RTP GUI items
<x><y><z>placeholders work consistently across title, action bar, and chat messages
