promotional bannermobile promotional banner

RTP999

RTP999 is a powerful Minecraft Bukkit plugin that allows players to teleport to random safe locations with customizable cooldowns and safety checks, ensuring an exciting and secure gameplay experience.

File Details

RTP999-1.0.2

  • R
  • Sep 22, 2025
  • 13.96 KB
  • 66
  • 1.21.8+9

File Name

RTP999-1.0.2.jar

Supported Versions

  • 1.21.5-Snapshot
  • 1.21.8
  • 1.21.7
  • 1.21.6
  • 1.21.5
  • 1.21.4
  • 1.21.3
  • 1.21.2
  • 1.21.1
  • 1.21

added more blocks to safe method so that rtping in the nether wouldn't fail

fixed minor bug where rtping in the nether world teleport to the nether roof

Added /rtp999 reload command to reload configuration at runtime without server restart. Fixed issue where getHighestBlockYAt(x, z) could return non-solid blocks (e.g., leaves, carpet) causing unsafe teleports. Improved ground detection by scanning downward from highest block to find solid, walkable ground. Clamped cave ceiling check to not exceed world max height to avoid out-of-bounds errors. Added configuration options to enable or disable RTP in Nether and End dimensions per world and globally. Added per-world configuration support allowing different RTP settings (range, cooldown, attempts, cave check, etc.) per world. Changed teleport Y offset from +1 to +1.5 to prevent player spawning inside blocks like slabs or fences. Added periodic cleanup of expired cooldowns to optimize memory usage. Added permission checks for /rtp and /rtp999 reload commands. Added global disabled worlds list to block RTP in specific worlds regardless of per-world config. Improved asynchronous safe location scanning for better server performance. Cleaned and optimized code for maintainability and performance.

 

New Features

  1. Disabled Worlds

Added support for a list of worlds where /rtp is blocked.

Controlled through the disabled-worlds section in config.yml.

  1. Nether Check

Teleporting in the Nether is now blocked entirely.

Prevents players from glitching above bedrock or into lava ceilings.

  1. CommandExecutor Implementation

Your main plugin class now officially implements CommandExecutor.

Makes command registration cleaner and more correct.

🛠️ Improvements 4. Thread Safety

You moved player.getLocation() and player.getWorld() outside of the async thread.

Prevents thread safety issues with Bukkit’s API.

  1. Random Location Generation

Switched from square-style teleport (X ± range, Z ± range) to a circular-style spread using angles.

This creates more evenly distributed teleport locations.

  1. Cave Detection Logic

Replaced the basic ceiling-only check with a proper cave check.

Now checks for both a solid floor and solid ceiling to avoid caves.

  1. ThreadLocalRandom

Replaced the Random object with ThreadLocalRandom for better performance and thread safety in the async task.