Skip to content

ez-plugins/EzRTP

Repository files navigation

EzRTP

License Downloads GitHub Issues

EzRTP is a production-focused random teleport plugin for Minecraft networks. It is designed for safety-first teleportation, cross-platform compatibility, and configuration-driven control for server owners.

Download EzRTP on Modrinth

Other resource pages


Documentation at a Glance


Key Features

  • Safe random teleportation with configurable unsafe blocks and recovery behavior.
  • Per-world and per-group limits (cooldowns, daily and weekly usage limits).
  • Optional GUI teleport menu with configurable worlds and biome-targeted destinations.
  • Queue system to smooth heavy RTP usage on busy servers.
  • Biome-aware and cache-assisted searching with optional rare-biome optimization.
  • Heatmap/statistics tooling for operators to inspect RTP distribution and performance.
  • WorldGuard region command mode for region-scoped RTP entry points.
  • Optional first-join/on-join teleport flow.
  • Optional proxy/network destination menu support for multi-server setups.
  • Chunky integration for pre-generation workflows.
  • Graceful fallback behavior when specific integrations/providers are unavailable.

Compatibility

  • Java: 17+
  • Server software: Bukkit, Paper, Spigot, Purpur
  • Plugin API baseline: 1.13+

Optional integrations

EzRTP is built to run safely even when optional integrations are missing.


Installation

  1. Download the EzRTP release jar.
  2. Place it in your server's plugins/ directory.
  3. (Recommended) Install optional dependencies you plan to use (Vault, WorldGuard, PlaceholderAPI, etc.).
  4. Start or restart the server.
  5. Review generated config files in plugins/EzRTP/ and adjust for your network.

First-start checklist

  • Set your default world and radius in rtp.yml.
  • Configure cooldown/usage policy in limits.yml.
  • Enable/disable GUI destinations in gui.yml.
  • If running a proxy network, configure destinations in network.yml.

Commands

Player commands

  • /rtp - Random teleport (or opens GUI when enabled).

Admin / utility subcommands

  • /rtp reload - Reload plugin configuration.
  • /rtp stats - Show RTP statistics and performance details.
  • /rtp heatmap - View heatmap information.
  • /rtp fake <amount|clear> [world] - Inject/clear simulated heatmap points.
  • /rtp setcenter <x> <z> or /rtp setcenter <world> <x> <z> - Update RTP center.
  • /rtp pregenerate [world] [radius] - Trigger Chunky-assisted pre-generation workflow.
  • /forcertp <player> [world] - Force teleport a target player.

Permissions

Core

  • ezrtp.use - Use /rtp.
  • ezrtp.forcertp - Use /forcertp.
  • ezrtp.reload - Use /rtp reload.
  • ezrtp.stats - Access /rtp stats.
  • ezrtp.heatmap - Access /rtp heatmap.
  • ezrtp.heatmap.fake - Access /rtp fake.
  • ezrtp.queue.bypass - Bypass queue restrictions.

Permissions Reference

  • ezrtp.use: Execute /rtp (default: all players)
  • ezrtp.reload: Reload configuration (default: ops)
  • ezrtp.stats: View RTP statistics and metrics (default: ops)
  • ezrtp.heatmap: Generate heatmaps (default: ops)
  • ezrtp.forcertp: Force RTP for a player (default: ops)
  • ezrtp.heatmap.fake: Simulate teleports for testing (default: ops)
  • ezrtp.queue.bypass: Bypass teleport queue (default: false)
  • ezrtp.bypass.cooldown: Bypass cooldowns (default: false)
  • ezrtp.bypass.limit: Bypass daily/weekly limits (default: false)
  • ezrtp.gui.*: Per-option GUI access (configure in gui.yml)
  • ezrtp.admin: Administrative UI/cache visibility and advanced actions (default: ops)

Tip: Add bypass nodes to rtp-limits.bypass-permissions in limits.yml (or config.yml in some deployments) to grant global bypass behavior.

Configuration-defined/bypass examples

Some permission nodes are configurable in YAML files (for example GUI destination permissions and cooldown/limit bypass permissions in limits.yml).


Configuration Files

EzRTP splits configuration into focused files for maintainability:

  • config.yml - Global/core options and language selection.
  • rtp.yml - Teleport behavior, safety, biome settings, Chunky integration.
  • limits.yml - Cooldown and usage limits by world/group.
  • storage.yml - Usage/cooldown backend (YAML/MySQL).
  • queue.yml - Queue throttling behavior.
  • gui.yml - GUI menu layout, world entries, and icons.
  • network.yml - Proxy/server destination entries.
  • force-rtp.yml - /forcertp command behavior.
  • messages/*.yml - Localized messages.

Build from Source

# Compile
mvn -q -DskipTests compile

# Run tests
mvn -q test

Build requirements

  • Java 17
  • Maven 3.8+

Project Modules

EzRTP uses a multi-module Maven layout:

  • ezrtp-common/ - Shared logic and abstractions.
  • ezrtp-bukkit/ - Bukkit runtime packaging.
  • ezrtp-paper/ - Paper-specific adapters/services.
  • ezrtp-spigot/ - Spigot-specific module.
  • ezrtp-purpur/ - Purpur module built with Paper compatibility behavior.

Integrations

EzRTP is designed with integration-friendly architecture:

  • Economy hooks for RTP costs.
  • Protection-provider checks (claims/regions).
  • Placeholder-aware messaging.
  • Optional network destination presentation.
  • Optional Chunky pre-generation orchestration.

If an integration is absent, EzRTP prefers safe fallback behavior rather than hard failure.


Additional Documentation Links

Configuration and message references in this repository:

Configuration documentation files:

Module-level documentation and build descriptors:


Contributing

Contributions are welcome.

Suggested local verification flow:

  1. mvn -q -DskipTests compile
  2. mvn -q test
  3. Include tests for non-trivial behavior changes when practical.
  4. Keep changes focused and document any config/message migration impacts.

Support

If you run into issues, please open a GitHub issue with:

  • Server platform and version (Paper/Spigot/Purpur/Bukkit)
  • Java version
  • EzRTP version
  • Relevant config snippets and logs

This helps reproduce problems quickly and keeps support requests actionable.


License

EzRTP is licensed under the MIT License. See LICENSE for the full text.

About

Add /rtp easily to your server. By default a simple RTP plugin but under the hood a highly configurable random teleport plugin with GUI world selection, Vault charging, heatmaps, safe-location scanning and smart pre-caching.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages