EnesRTPZone — Advanced Random Teleportation Zone System (Paper / Folia / Purpur)
What is EnesRTPZone?
EnesRTPZone is a Paper-compatible (API
Who should download EnesRTPZone?
• Server owners who want a shared global countdown teleport system for all players in a zone
• Staff who need wand-based zone creation and configurable RTP radius settings
• Anyone searching for: Minecraft RTP plugin, random teleport zone, Paper 1.21 teleport, Folia teleport zone, global countdown teleport, safe location finder
Complete feature list
Commands
•
•
•
•
•
•
Permissions
•
Global synchronized countdown
• All players inside any RTP zone see the same countdown timer, synced via a server-wide scheduler.
• Countdown displayed as immersive title/subtitle messages, updated every second.
• Configurable duration via
• When the timer reaches zero, every player currently inside a zone is teleported simultaneously to a random safe location.
• Players who enter mid-cycle join the current countdown immediately.
• Players who leave before the timer ends are removed from the queue; no teleport occurs.
Intelligent safe-location finder
• Random X/Z coordinates within configurable
• Scans from the top of the world downward to find the first solid block (avoids air spawns).
• Built-in hazard rejection: lava, water, cactus, and void-adjacent positions are detected and skipped.
• Retries up to 15 times before giving up with a "safe area not found" message.
Wand-based zone selection
• Administrative players receive a wooden axe with a custom display name and lore via
• Left-click a block to set position 1; right-click a block to set position 2.
• Both positions are stored per-player and cleared automatically after zone creation (or manually via
• Zone bounds are saved to config.yml under
Player entry/exit tracking (
• Thread-safe
•
• Entering a zone starts the per-player title task and sends an "entered-zone" message.
• Leaving a zone cancels the title task, removes the player from the countdown set, and sends a "left-zone" message.
• Player quit event cleans up the title task automatically.
PlaceholderAPI integration
• Placeholder:
• Time-based (System.currentTimeMillis), so the placeholder is always in sync with the displayed countdown.
Hologram support
• Compatible with FancyHolograms and DecentHolograms (auto-detected at startup).
• Displays the remaining countdown time on a hologram. Configurable hologram name and line number via
Fully customisable messages (
• All player-facing text is YAML-driven with
• Configurable chat prefix, wand name/lore, zone creation/deletion messages, countdown title/subtitle text, and help menu entries.
• Reloaded via
Multi-platform support
• Declared
• Uses
• Fully functional on Paper, Folia, and Purpur servers from a single jar.
• Maven build profiles produce platform-specific artifacts (
Typical staff journey (in-game)
1. Staff runs
2. Staff left-clicks a block to set position 1 and right-clicks another block to set position 2 — chat confirms both selections.
3. Staff runs
4. A player walks into the zone — they see the countdown title and an "entered-zone" chat message.
5. When the global timer reaches zero, the player is teleported to a random safe location with a confirmation message.
6. Staff runs
7. Staff runs
Installation
1. Download the
2. Start the server once to generate default
3. Edit
4. (Optional) Customise
5. Run
Configuration files
What is EnesRTPZone?
EnesRTPZone is a Paper-compatible (API
1.21+), Folia-supported, and Purpur-friendly Minecraft plugin that transforms any designated region into an interactive teleportation hub. Players are automatically transported to safe random locations after a synchronized global countdown.Who should download EnesRTPZone?
• Server owners who want a shared global countdown teleport system for all players in a zone
• Staff who need wand-based zone creation and configurable RTP radius settings
• Anyone searching for: Minecraft RTP plugin, random teleport zone, Paper 1.21 teleport, Folia teleport zone, global countdown teleport, safe location finder
Complete feature list
Commands
•
/rtpzone — Displays the help menu with all available subcommands.•
/rtpzone wand — Gives you the selection wand (wooden axe) to define zone boundaries. Left-click sets position 1, right-click sets position 2.•
/rtpzone create <name> — Creates a new RTP zone from your selected positions. Selections are cleared automatically after creation.•
/rtpzone delete <name> — Deletes a named zone permanently. Tab-completion shows existing zone names.•
/rtpzone reset (or /rtpzone clear) — Clears your current position 1 and position 2 selections.•
/rtpzone reload — Reloads config.yml, messages.yml, and all zone data without a server restart.Permissions
•
rtpzone.admin — Grants access to all commands (zone creation, deletion, wand, reload, selections).Global synchronized countdown
• All players inside any RTP zone see the same countdown timer, synced via a server-wide scheduler.
• Countdown displayed as immersive title/subtitle messages, updated every second.
• Configurable duration via
rtp.countdown in config.yml (default: 30 seconds).• When the timer reaches zero, every player currently inside a zone is teleported simultaneously to a random safe location.
• Players who enter mid-cycle join the current countdown immediately.
• Players who leave before the timer ends are removed from the queue; no teleport occurs.
Intelligent safe-location finder
• Random X/Z coordinates within configurable
min-radius and max-radius bounds.• Scans from the top of the world downward to find the first solid block (avoids air spawns).
• Built-in hazard rejection: lava, water, cactus, and void-adjacent positions are detected and skipped.
• Retries up to 15 times before giving up with a "safe area not found" message.
Wand-based zone selection
• Administrative players receive a wooden axe with a custom display name and lore via
/rtpzone wand.• Left-click a block to set position 1; right-click a block to set position 2.
• Both positions are stored per-player and cleared automatically after zone creation (or manually via
/rtpzone reset).• Zone bounds are saved to config.yml under
zones.* with world name and min/max coordinates.Player entry/exit tracking (
CountdownManager)• Thread-safe
ConcurrentHashMap-backed set tracks which players are currently inside any zone.•
PlayerMoveEvent handler detects zone entry and exit with block-level movement filtering (ignores rotation/fluid jitter).• Entering a zone starts the per-player title task and sends an "entered-zone" message.
• Leaving a zone cancels the title task, removes the player from the countdown set, and sends a "left-zone" message.
• Player quit event cleans up the title task automatically.
PlaceholderAPI integration
• Placeholder:
%rtpzone_cooldown% — Returns the remaining seconds before the next global teleport.• Time-based (System.currentTimeMillis), so the placeholder is always in sync with the displayed countdown.
Hologram support
• Compatible with FancyHolograms and DecentHolograms (auto-detected at startup).
• Displays the remaining countdown time on a hologram. Configurable hologram name and line number via
hologram.*.Fully customisable messages (
messages.yml)• All player-facing text is YAML-driven with
& colour codes and hex support (&#RRGGBB).• Configurable chat prefix, wand name/lore, zone creation/deletion messages, countdown title/subtitle text, and help menu entries.
• Reloaded via
/rtpzone reload without restart.Multi-platform support
• Declared
api-version: '1.21' and folia-supported: true in plugin.yml.• Uses
GlobalRegionScheduler, RegionScheduler, and EntityScheduler from the Paper/Folia API.• Fully functional on Paper, Folia, and Purpur servers from a single jar.
• Maven build profiles produce platform-specific artifacts (
-paper, -folia, -purpur) with ProGuard obfuscation.Typical staff journey (in-game)
1. Staff runs
/rtpzone wand — receives the selection wand with a gradient-coloured name and lore.2. Staff left-clicks a block to set position 1 and right-clicks another block to set position 2 — chat confirms both selections.
3. Staff runs
/rtpzone create spawnrtp — the zone is saved to config.yml and is now active.4. A player walks into the zone — they see the countdown title and an "entered-zone" chat message.
5. When the global timer reaches zero, the player is teleported to a random safe location with a confirmation message.
6. Staff runs
/rtpzone delete spawnrtp — removes the zone and its configuration entry.7. Staff runs
/rtpzone reload after editing messages.yml — all messages and zones reload without restart.Installation
1. Download the
EnesRtpZone jar matching your server platform (-paper, -folia, or -purpur) and place it in the plugins folder.2. Start the server once to generate default
config.yml and messages.yml under plugins/EnesRTPZone/.3. Edit
config.yml to set your countdown duration, radius bounds, and target world.4. (Optional) Customise
messages.yml to change the prefix, wand name, countdown titles, and all other player-facing text.5. Run
/rtpzone reload to apply changes without a full restart.Configuration files
config.yml — Main plugin settings:
YAML:
rtp:
countdown: 30
max-radius: 10000
min-radius: 1000
target-world: "world"
hologram:
name: "rtpzone_cooldown"
line: 0
zones: {}
messages.yml — All player-facing messages including prefix, wand display name/lore, zone creation/deletion/entry/exit messages, countdown titles, help menu entries, and error messages. Supports & colour codes and &#RRGGBB hex colours.