Creators
Details
3.1-Realese
Compatibility
Changes
SAVE ALL YOUR PLUGIN(SRANDOMRTP)
DATA BEFORE UPDATING!!!!!!!!!!!!!!!!
New Commands Added!
- The following admin/support commands have been added:
/rtp settings /rtp doctor /rtp dump /rtp stats /rtp portal check /rtp tpsbar
/rtp rambar /rtp msptbar /rtp allbars
1.1. /rtp settings - opens a clickable in-game menu for enabling or disabling plugin subcommands. Permission: sRandomRTP.Command.Settings Default: disabled in Settings/commands.yml
1.2. /rtp doctor - shows the plugin health status: Java version, server version, Paper/Folia, language, optional plugins, config versions, active RTP searches, portal tasks, and admin bossbar status. Permission: sRandomRTP.Command.Doctor Default: disabled in Settings/commands.yml
1.3. /rtp dump - creates a support zip in plugins/sRandomRTP/Diagnostics with diagnostics, recent errors, and runtime information. Permission: sRandomRTP.Command.Dump Default: disabled in Settings/commands.yml
1.4. /rtp stats - shows live runtime statistics: active searches, total RTP count, cooldowns, portal tasks, completed/cancelled/refunded teleports, and average search timings. Permission: sRandomRTP.Command.Stats Default: disabled in Settings/commands.yml
1.5. /rtp portal check - checks portals for missing worlds, duplicate world + portal names, and active portal tasks. Permission: sRandomRTP.Command.Portal.Check Default: disabled in Settings/commands.yml
1.6. /rtp tpsbar, /rtp rambar, /rtp msptbar, /rtp allbars - optional admin bossbars for TPS, RAM, MSPT, or all bars at once. Permissions: sRandomRTP.Command.TpsBar, sRandomRTP.Command.RamBar, sRandomRTP.Command.MsptBar, sRandomRTP.Command.AllBars Default: disabled in Settings/commands.yml
New Stability Features!
-
Chunk warming, portal particles/triggers, admin bossbars, and update-check callbacks now avoid unsafe async Bukkit API access.
-
RTP counting is now saved in batches instead of writing Data/rtpCount.yml after every teleport.
-
Cooldown-bypass teleports are counted correctly.
-
Cooldown permissions such as sRandomRtp.Cooldown.N now work more consistently and also affect the bossbar countdown.
-
Reload now sends a successful reload message after the plugin finishes reloading.
-
/rtp cancel, movement cancellation, duplicate RTP requests, player quit during teleport, and refund handling were made safer.
-
Fixed Minecraft version detection for the new Java Edition version scheme, including 26.1, 26.1.1, and newer 26.x builds.
Configuration & Localization Update!
config.yml: added diagnostic, Command-Aliases-Enabled, Command-Aliases, metrics.rtp.slow-request-threshold-ms, and updated permission comments.
Settings/commands.yml: added runtime switches for /rtp settings, /rtp doctor, /rtp dump, /rtp stats, /rtp portal check, and admin bossbar commands. These debug/admin commands are disabled by default.
Settings/admin-bars.yml: added configurable TPS, RAM, and MSPT bossbars with titles, colors, styles, thresholds, and messages.
Settings/biome.yml: added a dedicated profile for /rtp biome search behavior.
Settings/teleport.yml: added safer search and chunk options, including parallel-search and prefer-generated-chunks settings.
plugin.yml: permissions were expanded for the new commands, and static aliases were removed from plugin.yml.
Command aliases were moved to config.yml:
Command-Aliases-Enabled: false Command-Aliases:
- randomtp
- randomteleport
Aliases are disabled by default. Set Command-Aliases-Enabled to true if you want /randomtp and /randomteleport to work.
Localizations in lang/*.yml were extended for:
/rtp settings, /rtp doctor, /rtp dump, /rtp stats, /rtp portal check, admin bossbars, invalid-command, reload success messages, and updated help lines.
Small Changes!
-
LuckPerms is no longer required as a hard dependency; optional integrations now fail more gracefully.
-
The unknown-command message is now configurable through localization instead of always using the server default.
-
Config updates now create backups and write Diagnostics/config-changes.txt.
-
Startup, reload, config-change, backup, and slow RTP diagnostics now run only when diagnostic: true is enabled.
-
Portal storage, portal cleanup, portal particles, and portal cooldown handling were improved.
-
PlaceholderAPI values and public RTP/portal events were added for integrations.
-
Auto-reload now applies config.yml language/diagnostic/alias changes and Settings/commands.yml command switches after saving the file.
Important for Server Owners!
-
Player RTP commands stay enabled by default. The new support/debug commands and admin bossbars are disabled by default, even for OP, until you enable them in Settings/commands.yml or through /rtp settings after enabling that menu.
-
/rtp settings is also disabled by default. To manage command switches in-game, first set commands.admin.settings.enabled: true in Settings/commands.yml.
-
/rtp doctor, /rtp dump, /rtp stats, /rtp portal check, /rtp tpsbar, /rtp rambar, /rtp msptbar, and /rtp allbars are intended for server owners, administrators, and support/debug use. Regular players do not need them for normal RTP gameplay.
-
diagnostic: false is the default. With this setting, the plugin will not create Diagnostics files automatically. Enable diagnostic: true only when you want full startup/reload/config-change/slow-RTP reports.
-
Command aliases are also disabled by default. Enable Command-Aliases-Enabled: true in config.yml if you want /randomtp and /randomteleport.
-
Existing configs are migrated without overwriting your custom values. As usual, make a backup before updating a production server.
Notes
Update 3.1 is mainly a stability, diagnostics, and compatibility update after the large 3.0 release. Most new admin/support commands are disabled by default, so normal players will keep using the plugin like before unless you enable those tools in Settings/commands.yml.
Please report bugs on the Discord server or create a GitHub issue.
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:DxjQxe1x:X2CsXqIf"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:DxjQxe1x:X2CsXqIf"
}

