
🚀 xRtp – Smart & Secure Random Teleport

xRtp is a powerful, optimized, and fully configurable Random Teleport plugin designed for modern Minecraft servers. Built for performance, safety, and customization.

✨ Main Features
🧠 Smart Safe Teleportation
Automatically finds safe locations and prevents players from teleporting into dangerous blocks.
🎛 Fully Customizable GUI Menu
Includes a completely editable menu.yml so you can design the RTP menu to match your server style.
⏳ Configurable Cooldown System
Set custom cooldown times and allow specific players to bypass them.
🚫 Movement Cancel System
Teleport can be cancelled if the player moves during the delay (configurable).
🔒 Advanced Safety System
Prevents teleportation into unsafe blocks such as:
- LAVA
- MAGMA_BLOCK
- CACTUS
- FIRE
- CAMPFIRE
- VOID_AIR
- SEAGRASS
- KELP
✨ Custom Particle Effects
Add visual effects before or during teleportation.
FIREWORKS_SPARKCLOUD- Fully configurable in
config.yml
📂 Included Files
config.yml→ General settings, cooldowns, permissions, safety system.menu.yml→ GUI layout and menu customization.lang.yml→ Fully customizable messages and translations.
🔐 Permissions
| Permission | Description |
|---|---|
xrtp.admin | Reload the configuration using /rtp reload |
xrtp.bypass | Bypass teleport cooldown |
| (Optional) | General use permission can be disabled in config |
You can disable permission requirements for basic usage in config.yml.
⚙️ Configuration Highlights
✔ Cancel teleport on movement
✔ Adjustable cooldown duration
✔ Teleport delay before execution
✔ Maximum attempts to find a safe location
✔ Editable unsafe block list
✔ Toggleable particle system

🎯 Perfect For
Survival • SMP • Skyblock • Factions • Etc
API para Desarrolladores
xRtp incluye una API potente y fácil de usar para que otros plugins puedan interactuar con él. Puedes ejecutar RTPs manualmente, consultar cooldowns y hookear eventos para modificar o cancelar teleports.
Cómo usarla
Primero verifica que xRtp esté cargado y obtén la instancia:
if (Bukkit.getPluginManager().getPlugin("xRtp") == null) {
// xRtp no está instalado
return;
}
XRtpAPI api = XRtpAPI.getInstance();
Métodos disponibles
randomTeleport(Player player, World world, int minRadius, int maxRadius)
Ejecuta un RTP exactamente igual que desde el menú (respeta delay, cooldown, búsqueda segura, etc.).Javaapi.randomTeleport(player, player.getWorld(), 100, 5000);
getRemainingCooldown(Player player)
Devuelve los segundos restantes de cooldown del jugador (0 si no tiene).Javalong cooldown = api.getRemainingCooldown(player);
if (cooldown > 0) {
player.sendMessage("Espera " + cooldown + " segundos!");
}
Eventos (para modificar o cancelar RTPs)
PreRtpEvent (cancelable)
Se llama antes de iniciar el RTP. Puedes cancelarlo, cambiar los radios o forzar una ubicación específica.Java@EventHandler
public void onPreRtp(PreRtpEvent e) {
if (e.getPlayer().getName().equals("Willfry")) {
e.setCancelled(true); // Cancelar
e.setMinRadius(500);
e.setMaxRadius(10000);
e.setTargetLocation(new Location(e.getWorld(), 0, 100, 0)); // Teleport fijo
}
}
PostRtpEvent (no cancelable)
Se llama después de un RTP exitoso.Java@EventHandler
public void onPostRtp(PostRtpEvent e) {
Player p = e.getPlayer();
p.sendMessage("¡Bienvenido a tu nueva ubicación!");
// e.getFrom() y e.getTo() para comparar ubicaciones
}
* Registra los eventos normalmente en tu onEnable():
JavaBukkit.getPluginManager().registerEvents(this, this);