COWMODSКаталог модов

Donut RTP & RTP Zone

A powerful and polished teleportation plugin designed for Minecraft servers.

Автор: NAIZO25,1 тыс.7обновлён 24 окт. 2026 г.
ПриключенияМеханики игрыТранспорт

Описание

DonutRTP 2.0: The Zone Update

Random teleport and RTP zones for survival servers, without the lag

DonutRTP is a free, open-source random teleport plugin for Paper, Folia, Purpur, Spigot and Bukkit, from Minecraft 1.20.1 to 26.3.

/rtp opens a small menu: pick the Overworld, the Nether, the End or any world you add, stand still for a few seconds, and land somewhere safe in the wild. RTP zones at spawn do it without a command. Players walk onto the pad, and everyone standing there when the countdown ends lands together.

2.0 "The Zone Update" is a full rewrite:

  • group zones, made in game;
  • any number of destinations;
  • asynchronous chunk loading, with spots found ahead of time;
  • claim and region avoidance and landing protection;
  • saved cooldowns with rank tiers, Vault costs, PlaceholderAPI and a developer API.

Each release is tested on every supported Paper and Folia version with real clients.

Two players on an RTP pad: the countdown runs, and they land together

divider

The Menu

Pick where you land

  • One item per destination, as many as you like, in any slot of a one to six row menu.
  • Each item shows your cooldown ("Available in 4m 12s"), the cost, or a lock when you lack the permission. It updates every second while the menu is open.
  • /rtp nether skips the menu. Tab completion lists only the destinations you may use.
  • Icons can be any item, a HeadDatabase head (hdb-1234), or a player head from a texture, a UUID or a name.

Teleporting

Stand still, then go

  1. Pick a destination. The warmup counts down on the action bar, a title, or both.
  2. Walking off your block or taking damage cancels it. Jumping in place never does.
  3. You land on solid ground, in open air, away from claims. You take no fall damage for five seconds and no damage at all for three.
  4. A sound and particles mark the landing. Console commands can run too, for kits or starter quests.

Ops and anyone with donutrtp.warmup.bypass skip the warmup. /rtp player <name> [destination] lets staff send someone with no warmup, cooldown or cost.

RTP Zones

Land together

  • Group zones: one countdown for everyone on the pad. When it ends, everyone still inside lands together, a few blocks apart.
  • Minimum players: the countdown waits for enough players and says how many more it needs.
  • Solo zones: your own countdown starts when you walk in, like 1.x.
  • The countdown shows on the boss bar, title and action bar. Each can be turned off per zone.
  • Per-zone cooldown and permission. Players on cooldown are told how long is left, and join when it runs out.
  • Hologram and scoreboard timers through PlaceholderAPI: %donutrtp_zone_spawn_countdown%, %donutrtp_zone_spawn_players%.

Zones made in game

Stand on one corner and type /rtpadmin pos1, stand on the other and type /rtpadmin pos2, then /rtpadmin zone create spawn overworld. That's it. Using WorldGuard? /rtpadmin zone create spawn overworld region spawn_pad uses a region instead. Every setting changes in game with /rtpadmin zone set, without a restart.

Safe Landings

Never into lava

  • Never into water, lava, fire, magma, powder snow, cobwebs, berry bushes or cactus.
  • Never beside lava, or under lava that would pour down.
  • Never into a tree, the void, or on top of the Nether roof.
  • Never inside a WorldGuard region or a GriefPrevention claim.
  • Always inside the world border, with a margin.
  • Biome rules per destination. Oceans and rivers are denied in the Overworld by default.

No Lag

Built not to lag

Loading a chunk far from everything else is the expensive part of any random teleport.

  • On Paper and Folia, DonutRTP loads chunks asynchronously. Chunks for a waiting player load first, and each loaded chunk is fully used before another one is loaded.
  • A few safe spots per destination are found ahead of time, so most teleports start the moment the warmup ends.
  • On Folia, every block, player and chunk is touched only from the region that owns it.
  • On Spigot, at most one chunk loads per tick.
  • When a search finds nothing, the console says why: no safe ground, denied biomes, claims, or a busy server.

Destinations

Any world, any shape

Add as many destinations as you like: a resource world, a "far lands" option for veterans, a VIP-only world. Each one has its own:

  • world and square or circle shape;
  • centre (or the world spawn), minimum and maximum distance, and heights;
  • biome allow and deny lists;
  • permission, cooldown, cost and menu item.

Cooldowns & Costs

Cooldowns, ranks and costs

  • Cooldowns are saved and survive restarts.
  • One cooldown for every destination, or one each.
  • Shorter cooldowns for ranks: with ranks: { vip: 120, mvp: 60 }, players with donutrtp.cooldown.vip wait two minutes and donutrtp.cooldown.mvp one. The lowest a player has wins.
  • Costs through Vault, taken only once the player has landed, and refunded if the teleport fails.
  • Bypass permissions for cooldowns, costs and the warmup.

Integrations

Plays well with others

All of these are optional:

PluginWhat DonutRTP does with it
WorldGuardZones from regions; never lands in a region
GriefPreventionNever lands in a claim
Vault (or VaultUnlocked)Destination costs
PlaceholderAPI%donutrtp_cooldown%, %donutrtp_cooldown_<destination>%, %donutrtp_zone%, %donutrtp_zone_<name>_countdown%, %donutrtp_zone_<name>_players%
HeadDatabaseMenu icons

For developers:

  • RtpPreTeleportEvent is cancellable and can change where a player lands.
  • RtpTeleportEvent fires after landing.
  • Both say which destination and what started the teleport: command, menu, admin or zone.

Upgrading from 1.x

Upgrade in place

Replace the jar and restart. DonutRTP upgrades your 1.x setup on the first start:

  • Your settings carry over: warmup, cooldown, worlds, radius, minimum height, sounds and menu items.
  • Your zones carry over: the WorldGuard zone becomes a zone named after its region, and each cuboid zone keeps its name and permission.
  • The old files are kept as config-1.x.yml and messages-1.x.yml.

Compatibility

Tested on every version

ServerMinecraftJava
Paper, Purpur and other Paper forks1.20.1 – 1.20.417
Paper, Purpur and other Paper forks1.20.5 – 1.21.1121
Paper, Purpur and other Paper forks26.1 – 26.325
Folia1.20.4 – 26.317 – 25
Spigot, Bukkit1.20.1 – 26.3as your server

One jar for all of them. Each release boots a 1.x install on Paper 1.20.1, 1.20.4, 1.20.6, 1.21.1, 1.21.4, 1.21.8, 1.21.11, 26.1.2, 26.2 and 26.3 and Folia 1.20.4, 1.21.4, 1.21.11 and 26.3. On each one, bots run up to 23 checks: the upgrade, the menu, warmup cancels, the Nether and the End, rank cooldowns, a two-player group zone, Vault and the admin commands, plus WorldGuard and GriefPrevention on Paper. The console must stay free of errors.

Commands & Permissions

CommandPermission
/rtpdonutrtp.use (everyone)The menu
/rtp <destination>donutrtp.use and the destination's permissionTeleport straight away
/rtp player <player> [destination]donutrtp.adminSend someone (no warmup, cooldown or cost)
/rtpadmin reloaddonutrtp.adminReload config, messages and zones
/rtpadmin infodonutrtp.adminPlatform, hooks, destinations, ready spots and zones
/rtpadmin pos1, /rtpadmin pos2donutrtp.zone.adminA zone's corners, where you stand
/rtpadmin zone create <name> <destination> [region <id>]donutrtp.zone.adminMake a zone
/rtpadmin zone set <name> <key> <value>donutrtp.zone.adminChange a zone
/rtpadmin zone delete|info|listdonutrtp.zone.admin

donutrtp.zone.use lets players use zones (everyone). donutrtp.cooldown.bypass and donutrtp.cost.bypass are for ops. donutrtp.warmup.bypass is given to nobody by default. /donutrtp works as /rtpadmin.

Questions

Does it lag? On Paper and Folia, chunks load off the main thread, and ready spots are prepared ahead of time. Generating new terrain still costs CPU, as it does for every RTP plugin. Pre-generating your world makes every teleport cheap.

Can I add my own worlds? Yes. Add a destination under destinations: in config.yml with the world's name, then /rtpadmin reload.

Do I need WorldGuard for zones? No. Zones are boxes you select in game. WorldGuard regions work too.

Will my 1.x setup break? No. It is upgraded on the first start and the old files are kept.

Folia? Yes, every part of it, including group zones.

"No safe spot was found"? The console says why. Usually the area is mostly ocean, or claims cover it. A larger radius helps.

Gallery

The menu

The countdown on a group zone

Landed together

A Nether landing

An End landing

divider

Discord: discord.gg/SAmd9fhNhr · Source: GitHub (Apache 2.0) · Support the project: nightbeam.dev/support

Галерея

Последние версии

Все версии →
release

2.0.0

2.0.0
24 окт. 2026 г.340Minecraft: 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# DonutRTP 2.0.0: The Zone Update A full rewrite of DonutRTP. One jar runs on Paper, Folia, Purpur, Spigot and Bukkit, Minecraft 1.20.1 to 26.3, and your 1.x setup upgrades itself on the first start. ## New ### Group RTP zones - **GROUP zones**: one countdown for everyone on the pad. When it ends, everyone still inside lands together, a few blocks apart (`spread`). - **Minimum players**: the countdown waits for `min-players`, and the zone shows how many more it needs. - **INDIVIDUAL zones** still work like 1.x: your own countdown starts when you walk in. - **Any number of zones**, made in game. Mark two corners with `/rtpadmin pos1` and `/rtpadmin pos2`, then run `/rtpadmin zone create <name> <destination>`. You can use a WorldGuard region instead (`... region <id>`). - Every setting changes with `/rtpadmin zone set <name> <key> <value>`, without a restart. - **Countdown on the title, action bar and boss bar**, each switchable per zone. - **Per-zone cooldown and permission**. Players on cooldown are told how long is left, and join the zone when it runs out. - Jumping never counts as leaving a zone. ### Destinations - **Any number of destinations**, not just Overworld, Nether and End. Each has its own: - world, square or circle shape, centre (or the world spawn), minimum and maximum distance, and heights; - biome allow and deny lists (oceans and rivers are denied in the Overworld by default); - permission, cooldown, Vault cost and menu item. - **The world border is always respected**, with a margin. - `/rtp <destination>` teleports without the menu, with tab completion. - `/rtp player <player> [destination]` lets admins send someone, with no warmup, cooldown or cost. ### The menu - Each item shows the player's cooldown ("Available in 4m 12s"), the cost, and a lock when they lack the permission. - It updates every second while open. - Icons can be any item, a HeadDatabase head (`hdb-1234`), or a player head from a texture, UUID or name. ### Safety - **Landing protection**: no fall damage for 5 seconds and no damage at all for 3 seconds after landing (both configurable). - **Claims and regions avoided**: never land inside a WorldGuard region or a GriefPrevention claim. - **Never land somewhere unsafe**: water, lava, fire, magma, powder snow, cobwebs, berry bushes, cactus, the Nether roof, the void, or a tree. - **Never beside lava**, or under lava that would pour down once the chunk starts ticking. ### Cooldowns, costs and ranks - **Cooldowns are saved to disk** and survive restarts. - Cooldowns can be shared or per destination. - **Shorter cooldowns per rank**: `cooldown.ranks: { vip: 120 }` gives players with `donutrtp.cooldown.vip` a two-minute cooldown. The lowest one a player has wins. - **Costs through Vault**, taken only once the player has landed, and refunded if the teleport fails. - Bypass permissions: `donutrtp.cooldown.bypass`, `donutrtp.cost.bypass` and `donutrtp.warmup.bypass`. ### Warmup - Taking damage cancels the warmup (it can be turned off). - Being teleported away by something else also counts as moving. - The countdown can show on the action bar, a title or both, with an optional tick sound. ### Integrations - **PlaceholderAPI**: - `%donutrtp_cooldown%` and `%donutrtp_cooldown_seconds%`; - `%donutrtp_cooldown_<destination>%`; - `%donutrtp_zone%`; - `%donutrtp_zone_<name>_countdown%` and `%donutrtp_zone_<name>_players%`, for holograms and scoreboards. - **Developer API**: - `RtpPreTeleportEvent` is cancellable and can change where the player lands; - `RtpTeleportEvent` fires after landing; - both carry the destination and the source (command, menu, admin or zone). - **Landing commands**: console commands run after each teleport, with `{player}`, `{world}`, `{x}`, `{y}`, `{z}` and `{destination}`. ### Admin - `/rtpadmin info` shows the platform, the hooks, each destination with its ready spots, and the zones. - **A typo never wipes your setup**. If `config.yml` or `zones.yml` is not valid YAML, `/rtpadmin reload` says where the mistake is and keeps the previous settings. `zones.yml` is never overwritten while it cannot be read. - When a player's search finds nothing, the console says why, at most every five minutes per destination: - no safe ground; - denied biomes; - claims and regions; - or chunks still generating on a busy server. ## Fixed - **Lag spikes on `/rtp`**. 1.x loaded up to 60 chunks one after another on the main thread for every teleport. 2.0 loads them asynchronously on Paper and Folia, uses each loaded chunk fully, and keeps a few spots per destination ready in advance. Spigot loads at most one chunk per tick. - **1.20.1 to 1.20.4 servers on Java 17 could not load 1.5.x**: it was built for Java 21. 2.0 is built for Java 17. - **Spigot errors on the warmup**: the action bar used a Paper-only API. Spigot now uses its own chat API. - **Folia**: zone state was shared between region threads without protection. Every player, block and chunk is now touched only from the thread that owns it. ## Changed - Admin commands moved to `/rtpadmin`; `/donutrtp` is an alias, so `/donutrtp reload` still works. Zone commands have a new form: `/rtpadmin zone create|set|delete|info|list`. - Zones live in `zones.yml`. Messages use `{placeholders}` (1.x `%placeholders%` still work). - New permissions: - `donutrtp.zone.use` (everyone) and `donutrtp.zone.admin` (ops); - `donutrtp.cost.bypass` (ops) and `donutrtp.warmup.bypass` (nobody). ## Upgrading from 1.x 1. Replace the jar and start the server. Keep `plugins/DonutRTP/`. 2. DonutRTP upgrades your files on the first start and logs what it did: - `config.yml` becomes the 2.0 layout: warmup, cooldown, attempts, sounds, worlds, radius, minimum height and menu items carry over. - The 1.x WorldGuard zone becomes a zone named after its region. Each 1.x cuboid zone becomes a zone with its own name and permission. Zones that were off stay off. - `messages.yml` is replaced by the 2.0 messages, keeping your prefix. - The old files are kept as `config-1.x.yml` and `messages-1.x.yml`. 3. The new defaults apply on top: - a 300-block minimum distance (capped at a quarter of your radius); - ocean and river biomes denied in the Overworld; - landing protection; - three ready spots per destination. ## Tested - 22 unit tests. - A bot matrix boots a 1.x install on Paper 1.20.1, 1.20.4, 1.20.6, 1.21.1, 1.21.4, 1.21.8, 1.21.11, 26.1.2, 26.2 and 26.3, and Folia 1.20.4, 1.21.4, 1.21.11 and 26.3. On each server it runs up to 23 checks, from the upgrade and the menu to group zones and Vault costs, with WorldGuard and GriefPrevention on Paper. Then it scans the console for errors.
release

1.5.2

1.5.2
28 сент. 2026 г.6,1 тыс.Minecraft: 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# DonutRTP Patch Notes ## 1.5.2 ### Platform * Minecraft **26.3** support (Paper API `26.3.build.49-alpha`, the latest published 26.3 API artifact) * Boot-tested on Paper **26.3 ALPHA build #133**, Paper 26.2 build 129, Paper 1.20.1 build 196, and Folia 26.2 build 7 * Folia 26.3 is not published yet (Paper Fill API returns 404) * Existing support for 1.20.1–26.2, Folia, Bukkit, Spigot, and Purpur is unchanged (`api-version: 1.20`, `folia-supported: true`) ### Upgrade Notes 1. Replace the jar with **1.5.2**. Keep `plugins/DonutRTP/`. 2. Paper / Folia 26.x servers require Java 25; the plugin jar still runs on Java 21 for 1.20.5–1.21.x. --- ## 1.5.1 ### Bug Fixes * **RTP zone no longer cancels when you jump.** Countdown tracks the height where it started; jumping in place keeps it running. Walking out still cancels. * **"Failed to find a safe location" is far less frequent.** Surface finder scans from the true surface (ignoring leaf canopies) and lands feet on solid ground. ### Platform * bStats metrics (plugin ID **33560**) * Modrinth update check for [donut-rtp-and-rtp-zone](https://modrinth.com/plugin/donut-rtp-and-rtp-zone) with console warning and `donutrtp.admin` join notify (`update-check.*`) * Confirmed support matrix: Bukkit / Spigot / Paper / Purpur / Folia on Minecraft **1.20.1–26.2** * Apache-2.0 OSS cleanup (LICENSE, NOTICE, README, contributor docs) ### Behaviour Notes * `rtp-zone.countdown.cancel-on-move` only reacts to horizontal movement. Jumping never counts as moving. ### Upgrade Notes 1. Replace the jar with **1.5.1**. Keep `plugins/DonutRTP/`. 2. Optional new keys under `update-check` are backfilled by defaults if missing. --- ## 1.5.0 Store release covering early zone/safe-location work. Prefer **1.5.1** for the complete jump-tolerant countdown, safer landings, bStats, and update check. --- ## 1.4.0 ### New Features * **WorldGuard RTP zone** — configure an existing WorldGuard region as an RTP pad * `/donutrtp zone set <region>` or `/donutrtp zone set <world> <region>` * `/donutrtp zone remove`, `/donutrtp zone info`, `/donutrtp zone reload` * Trigger on region enter (ENTER / BOTH); no re-trigger while remaining inside * Zone-specific cooldown, action-bar countdown, and messages * WorldGuard is an **optional softdepend** — the plugin starts without it and only disables region zones ### Configuration * New `rtp-zone` section in `config.yml` (enabled by default; region empty until set) * Legacy `rtp-zones` cuboid zones still work when no WorldGuard region is configured ### Permissions * `donutrtp.zone.admin` — manage zone commands (default: op) * `donutrtp.cooldown.bypass` — bypass cooldown when `rtp-zone.cooldown.bypass-enabled` is true ### Commands * `/rtp` alias: `donutrtp` * `/donutrtp zone set|remove|info|reload` ### Notes * INTERACT trigger mode disables region-entry RTP only; the `/rtp` GUI remains available * There is still no physical in-world RTP block/head interact listener --- ## 1.3.0 ### New Features * RTPZone mechanic — configurable cuboid zones that start a title/subtitle countdown on entry and random-teleport players when it completes ### Configuration * New `rtp-zones` section in `config.yml` (disabled by default) * Per-zone: world, center, half-size (X/Y/Z), countdown-seconds, world-type, optional permission ### Permissions * `donutrtp.zone.use` — allows triggering RTP zones (default: true) --- ## 1.2.1 ### Bug Fixes * Fixed frequent "Failed to find a safe location" by loading chunks before checks, using world-aware height scanning (Nether cave scan), and allowing passable decorative blocks at feet/head ### Configuration * Default `cooldown-seconds` changed from 30 to 300 * Default `max-attempts` increased from 30 to 60 * Existing servers: update `cooldown-seconds: 300` in your config.yml to apply the new cooldown --- ## 1.2.0 ### Added - **HeadDatabase ID support** — GUI items can use a HeadDatabase head via `material: "hdb-<id>"` (requires HeadDatabase plugin). Existing material and `head` block formats are unchanged. - **Action bar cooldown sound** — Optional sound played each second during the warmup countdown (`actionbar-cooldown` in `config.yml`). Disabled by default for backwards compatibility. - **Instant teleport option** — Set `instant-teleport: true` to skip the warmup countdown and teleport immediately after a safe location is found. ### Configuration - New `instant-teleport` key in `config.yml` (default: `false`) - New `actionbar-cooldown` section in `config.yml` (see inline comments for examples) - HeadDatabase example under `gui.items` in `config.yml` - Missing config keys are backfilled with sensible defaults on reload --- ## 1.1.0 ### Added - **Configurable GUI items** — Per-world RTP buttons (Overworld, Nether, End) can be customized in `config.yml`: - Slot, display name, and lore - Any valid Minecraft material as the icon - Custom player heads via texture hash, full base64 value, UUID, or player name - **Configurable teleport sound** — Play a sound on successful RTP with adjustable volume and pitch (`teleport-sound` in `config.yml`) - **Action bar warmup countdown** — Remaining seconds are shown on the action bar during the teleport warmup (configurable via `countdown-actionbar` in `messages.yml`) ### Changed - Warmup countdown no longer spams chat each second; the "don't move" warning still appears once in chat - Invalid materials, player heads, sounds, or GUI slots log a console warning and fall back to defaults ### Configuration - New `gui.items` section in `config.yml` (see inline comments for examples) - New `teleport-sound` section in `config.yml` - New `countdown-actionbar` key in `messages.yml` --- ## 1.0.1 - Folia compatibility improvements for async teleport handling ## 1.0.0 - Initial release: DonutSMP-style RTP GUI for Paper and Folia
release

1.5.2

1.5.2
28 сент. 2026 г.55Minecraft: 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# DonutRTP Patch Notes ## 1.5.2 ### Platform * Minecraft **26.3** support (Paper API `26.3.build.49-alpha`, the latest published 26.3 API artifact) * Boot-tested on Paper **26.3 ALPHA build #133**, Paper 26.2 build 129, Paper 1.20.1 build 196, and Folia 26.2 build 7 * Folia 26.3 is not published yet (Paper Fill API returns 404) * Existing support for 1.20.1–26.2, Folia, Bukkit, Spigot, and Purpur is unchanged (`api-version: 1.20`, `folia-supported: true`) ### Upgrade Notes 1. Replace the jar with **1.5.2**. Keep `plugins/DonutRTP/`. 2. Paper / Folia 26.x servers require Java 25; the plugin jar still runs on Java 21 for 1.20.5–1.21.x. --- ## 1.5.1 ### Bug Fixes * **RTP zone no longer cancels when you jump.** Countdown tracks the height where it started; jumping in place keeps it running. Walking out still cancels. * **"Failed to find a safe location" is far less frequent.** Surface finder scans from the true surface (ignoring leaf canopies) and lands feet on solid ground. ### Platform * bStats metrics (plugin ID **33560**) * Modrinth update check for [donut-rtp-and-rtp-zone](https://modrinth.com/plugin/donut-rtp-and-rtp-zone) with console warning and `donutrtp.admin` join notify (`update-check.*`) * Confirmed support matrix: Bukkit / Spigot / Paper / Purpur / Folia on Minecraft **1.20.1–26.2** * Apache-2.0 OSS cleanup (LICENSE, NOTICE, README, contributor docs) ### Behaviour Notes * `rtp-zone.countdown.cancel-on-move` only reacts to horizontal movement. Jumping never counts as moving. ### Upgrade Notes 1. Replace the jar with **1.5.1**. Keep `plugins/DonutRTP/`. 2. Optional new keys under `update-check` are backfilled by defaults if missing. --- ## 1.5.0 Store release covering early zone/safe-location work. Prefer **1.5.1** for the complete jump-tolerant countdown, safer landings, bStats, and update check. --- ## 1.4.0 ### New Features * **WorldGuard RTP zone** — configure an existing WorldGuard region as an RTP pad * `/donutrtp zone set <region>` or `/donutrtp zone set <world> <region>` * `/donutrtp zone remove`, `/donutrtp zone info`, `/donutrtp zone reload` * Trigger on region enter (ENTER / BOTH); no re-trigger while remaining inside * Zone-specific cooldown, action-bar countdown, and messages * WorldGuard is an **optional softdepend** — the plugin starts without it and only disables region zones ### Configuration * New `rtp-zone` section in `config.yml` (enabled by default; region empty until set) * Legacy `rtp-zones` cuboid zones still work when no WorldGuard region is configured ### Permissions * `donutrtp.zone.admin` — manage zone commands (default: op) * `donutrtp.cooldown.bypass` — bypass cooldown when `rtp-zone.cooldown.bypass-enabled` is true ### Commands * `/rtp` alias: `donutrtp` * `/donutrtp zone set|remove|info|reload` ### Notes * INTERACT trigger mode disables region-entry RTP only; the `/rtp` GUI remains available * There is still no physical in-world RTP block/head interact listener --- ## 1.3.0 ### New Features * RTPZone mechanic — configurable cuboid zones that start a title/subtitle countdown on entry and random-teleport players when it completes ### Configuration * New `rtp-zones` section in `config.yml` (disabled by default) * Per-zone: world, center, half-size (X/Y/Z), countdown-seconds, world-type, optional permission ### Permissions * `donutrtp.zone.use` — allows triggering RTP zones (default: true) --- ## 1.2.1 ### Bug Fixes * Fixed frequent "Failed to find a safe location" by loading chunks before checks, using world-aware height scanning (Nether cave scan), and allowing passable decorative blocks at feet/head ### Configuration * Default `cooldown-seconds` changed from 30 to 300 * Default `max-attempts` increased from 30 to 60 * Existing servers: update `cooldown-seconds: 300` in your config.yml to apply the new cooldown --- ## 1.2.0 ### Added - **HeadDatabase ID support** — GUI items can use a HeadDatabase head via `material: "hdb-<id>"` (requires HeadDatabase plugin). Existing material and `head` block formats are unchanged. - **Action bar cooldown sound** — Optional sound played each second during the warmup countdown (`actionbar-cooldown` in `config.yml`). Disabled by default for backwards compatibility. - **Instant teleport option** — Set `instant-teleport: true` to skip the warmup countdown and teleport immediately after a safe location is found. ### Configuration - New `instant-teleport` key in `config.yml` (default: `false`) - New `actionbar-cooldown` section in `config.yml` (see inline comments for examples) - HeadDatabase example under `gui.items` in `config.yml` - Missing config keys are backfilled with sensible defaults on reload --- ## 1.1.0 ### Added - **Configurable GUI items** — Per-world RTP buttons (Overworld, Nether, End) can be customized in `config.yml`: - Slot, display name, and lore - Any valid Minecraft material as the icon - Custom player heads via texture hash, full base64 value, UUID, or player name - **Configurable teleport sound** — Play a sound on successful RTP with adjustable volume and pitch (`teleport-sound` in `config.yml`) - **Action bar warmup countdown** — Remaining seconds are shown on the action bar during the teleport warmup (configurable via `countdown-actionbar` in `messages.yml`) ### Changed - Warmup countdown no longer spams chat each second; the "don't move" warning still appears once in chat - Invalid materials, player heads, sounds, or GUI slots log a console warning and fall back to defaults ### Configuration - New `gui.items` section in `config.yml` (see inline comments for examples) - New `teleport-sound` section in `config.yml` - New `countdown-actionbar` key in `messages.yml` --- ## 1.0.1 - Folia compatibility improvements for async teleport handling ## 1.0.0 - Initial release: DonutSMP-style RTP GUI for Paper and Folia
release

1.5.1

1.5.1
21 авг. 2026 г.5,2 тыс.Minecraft: 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# DonutRTP Patch Notes ## 1.5.1 ### Bug Fixes * **RTP zone no longer cancels when you jump.** Countdown tracks the height where it started; jumping in place keeps it running. Walking out still cancels. * **"Failed to find a safe location" is far less frequent.** Surface finder scans from the true surface (ignoring leaf canopies) and lands feet on solid ground. ### Platform * bStats metrics (plugin ID **33560**) * Modrinth update check for [donut-rtp-and-rtp-zone](https://modrinth.com/plugin/donut-rtp-and-rtp-zone) with console warning and `donutrtp.admin` join notify (`update-check.*`) * Confirmed support matrix: Bukkit / Spigot / Paper / Purpur / Folia on Minecraft **1.20.1–26.2** * Apache-2.0 OSS cleanup (LICENSE, NOTICE, README, contributor docs) ### Behaviour Notes * `rtp-zone.countdown.cancel-on-move` only reacts to horizontal movement. Jumping never counts as moving. ### Upgrade Notes 1. Replace the jar with **1.5.1**. Keep `plugins/DonutRTP/`. 2. Optional new keys under `update-check` are backfilled by defaults if missing. --- ## 1.5.0 Store release covering early zone/safe-location work. Prefer **1.5.1** for the complete jump-tolerant countdown, safer landings, bStats, and update check. --- ## 1.4.0 ### New Features * **WorldGuard RTP zone** — configure an existing WorldGuard region as an RTP pad * `/donutrtp zone set <region>` or `/donutrtp zone set <world> <region>` * `/donutrtp zone remove`, `/donutrtp zone info`, `/donutrtp zone reload` * Trigger on region enter (ENTER / BOTH); no re-trigger while remaining inside * Zone-specific cooldown, action-bar countdown, and messages * WorldGuard is an **optional softdepend** — the plugin starts without it and only disables region zones ### Configuration * New `rtp-zone` section in `config.yml` (enabled by default; region empty until set) * Legacy `rtp-zones` cuboid zones still work when no WorldGuard region is configured ### Permissions * `donutrtp.zone.admin` — manage zone commands (default: op) * `donutrtp.cooldown.bypass` — bypass cooldown when `rtp-zone.cooldown.bypass-enabled` is true ### Commands * `/rtp` alias: `donutrtp` * `/donutrtp zone set|remove|info|reload` ### Notes * INTERACT trigger mode disables region-entry RTP only; the `/rtp` GUI remains available * There is still no physical in-world RTP block/head interact listener --- ## 1.3.0 ### New Features * RTPZone mechanic — configurable cuboid zones that start a title/subtitle countdown on entry and random-teleport players when it completes ### Configuration * New `rtp-zones` section in `config.yml` (disabled by default) * Per-zone: world, center, half-size (X/Y/Z), countdown-seconds, world-type, optional permission ### Permissions * `donutrtp.zone.use` — allows triggering RTP zones (default: true) --- ## 1.2.1 ### Bug Fixes * Fixed frequent "Failed to find a safe location" by loading chunks before checks, using world-aware height scanning (Nether cave scan), and allowing passable decorative blocks at feet/head ### Configuration * Default `cooldown-seconds` changed from 30 to 300 * Default `max-attempts` increased from 30 to 60 * Existing servers: update `cooldown-seconds: 300` in your config.yml to apply the new cooldown --- ## 1.2.0 ### Added - **HeadDatabase ID support** — GUI items can use a HeadDatabase head via `material: "hdb-<id>"` (requires HeadDatabase plugin). Existing material and `head` block formats are unchanged. - **Action bar cooldown sound** — Optional sound played each second during the warmup countdown (`actionbar-cooldown` in `config.yml`). Disabled by default for backwards compatibility. - **Instant teleport option** — Set `instant-teleport: true` to skip the warmup countdown and teleport immediately after a safe location is found. ### Configuration - New `instant-teleport` key in `config.yml` (default: `false`) - New `actionbar-cooldown` section in `config.yml` (see inline comments for examples) - HeadDatabase example under `gui.items` in `config.yml` - Missing config keys are backfilled with sensible defaults on reload --- ## 1.1.0 ### Added - **Configurable GUI items** — Per-world RTP buttons (Overworld, Nether, End) can be customized in `config.yml`: - Slot, display name, and lore - Any valid Minecraft material as the icon - Custom player heads via texture hash, full base64 value, UUID, or player name - **Configurable teleport sound** — Play a sound on successful RTP with adjustable volume and pitch (`teleport-sound` in `config.yml`) - **Action bar warmup countdown** — Remaining seconds are shown on the action bar during the teleport warmup (configurable via `countdown-actionbar` in `messages.yml`) ### Changed - Warmup countdown no longer spams chat each second; the "don't move" warning still appears once in chat - Invalid materials, player heads, sounds, or GUI slots log a console warning and fall back to defaults ### Configuration - New `gui.items` section in `config.yml` (see inline comments for examples) - New `teleport-sound` section in `config.yml` - New `countdown-actionbar` key in `messages.yml` --- ## 1.0.1 - Folia compatibility improvements for async teleport handling ## 1.0.0 - Initial release: DonutSMP-style RTP GUI for Paper and Folia
release

1.5.0

1.5.0
14 авг. 2026 г.947Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# DonutRTP v1.5.0 ### Bug Fixes * **RTP zone no longer cancels when you jump.** The warmup countdown now tracks the height where it started, so jumping in place (or any vertical-only movement) keeps the countdown running. Walking out of the zone still cancels as before. * **"Failed to find a safe location" is far less frequent.** The surface finder had an off-by-one that placed the player's feet inside the ground block, causing ordinary flat terrain to be rejected. It now scans downward from the true surface (ignoring leaf canopies) and correctly lands players on solid ground. ### Behaviour Notes * `rtp-zone.countdown.cancel-on-move` now only reacts to horizontal (walking) movement. Jumping never counts as moving. Leaving the zone always cancels regardless of the setting. * Surface scanning uses `MOTION_BLOCKING_NO_LEAVES` plus a short downward window, improving success in forests, snowy biomes, and on carpets/slabs. ### Compatibility * Same loaders as 1.4.0 (Paper / Folia / Purpur family, api-version 1.20). Folia-safe: safe-location search and per-player countdowns still run on the correct region/entity threads. ### Upgrade Notes 1. Replace the DonutRTP jar with **1.5.0**. Keep your existing `plugins/DonutRTP/` folder. 2. No config changes are required. The `cancel-on-move` comment was clarified but the key and default (`false`) are unchanged. 3. If you previously saw frequent "no safe location" errors, verify your world `radius` and `min-y` still make sense; the finder is now more reliable within those bounds.
release

Donut RTP & RTP Zone 1.4.0

1.4.0
10 июл. 2026 г.4,1 тыс.Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
### New Features * **WorldGuard RTP zone** — configure an existing WorldGuard region as an RTP pad * `/donutrtp zone set <region>` or `/donutrtp zone set <world> <region>` * `/donutrtp zone remove`, `/donutrtp zone info`, `/donutrtp zone reload` * Trigger on region enter (ENTER / BOTH); no re-trigger while remaining inside * Zone-specific cooldown, action-bar countdown, and messages * WorldGuard is an **optional softdepend** — the plugin starts without it and only disables region zones ### Configuration * New `rtp-zone` section in `config.yml` (enabled by default; region empty until set) * Legacy `rtp-zones` cuboid zones still work when no WorldGuard region is configured ### Permissions * `donutrtp.zone.admin` — manage zone commands (default: op) * `donutrtp.cooldown.bypass` — bypass cooldown when `rtp-zone.cooldown.bypass-enabled` is true
release

Donut RTP & RTP Zone 1.3.0

1.3.0
22 июн. 2026 г.1,9 тыс.Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
### New Features * RTPZone mechanic — configurable cuboid zones that start a title/subtitle countdown on entry and random-teleport players when it completes ### Configuration * New `rtp-zones` section in `config.yml` (disabled by default) * Per-zone: world, center, half-size (X/Y/Z), countdown-seconds, world-type, optional permission ### Permissions * `donutrtp.zone.use` — allows triggering RTP zones (default: true)
release

Donut RTP 1.2.1

1.2.1
18 июн. 2026 г.587Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
### Bug Fixes * Fixed frequent "Failed to find a safe location" by loading chunks before checks, using world-aware height scanning (Nether cave scan), and allowing passable decorative blocks at feet/head ### Configuration * Default `cooldown-seconds` changed from 30 to 300 * Default `max-attempts` increased from 30 to 60 * Existing servers: update `cooldown-seconds: 300` in your config.yml to apply the new cooldown
release

Donut RTP 1.2.0

1.2.0
10 июн. 2026 г.950Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
### Added - **HeadDatabase ID support** — GUI items can use a HeadDatabase head via `material: "hdb-<id>"` (requires HeadDatabase plugin). Existing material and `head` block formats are unchanged. - **Action bar cooldown sound** — Optional sound played each second during the warmup countdown (`actionbar-cooldown` in `config.yml`). Disabled by default for backwards compatibility. - **Instant teleport option** — Set `instant-teleport: true` to skip the warmup countdown and teleport immediately after a safe location is found. ### Configuration - New `instant-teleport` key in `config.yml` (default: `false`) - New `actionbar-cooldown` section in `config.yml` (see inline comments for examples) - HeadDatabase example under `gui.items` in `config.yml` - Missing config keys are backfilled with sensible defaults on reload
release

Donut RTP 1.1.0

1.1.0
9 июн. 2026 г.116Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
### Added - **Configurable GUI items** Per-world RTP buttons (Overworld, Nether, End) can be customized in `config.yml`: - Slot, display name, and lore - Any valid Minecraft material as the icon - Custom player heads via texture hash, full base64 value, UUID, or player name - **Configurable teleport sound** Play a sound on successful RTP with adjustable volume and pitch (`teleport-sound` in `config.yml`) - **Action bar warmup countdown** Remaining seconds are shown on the action bar during the teleport warmup (configurable via `countdown-actionbar` in `messages.yml`) ### Changed - Warmup countdown no longer spams chat each second; the "don't move" warning still appears once in chat - Invalid materials, player heads, sounds, or GUI slots log a console warning and fall back to defaults ### Configuration - New `gui.items` section in `config.yml` (see inline comments for examples) - New `teleport-sound` section in `config.yml` - New `countdown-actionbar` key in `messages.yml`