Tags
Creators
Details
Licensed Apache-2.0
Published 5 months ago
Updated 5 days ago
All versions
1.5.1
Release
1.5.15 days ago 698
Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.x
1.20.1–1.20.6
Platforms
Bukkit
Folia
Paper
Purpur
Spigot
Changes
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 with console warning and
donutrtp.adminjoin 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-moveonly reacts to horizontal movement. Jumping never counts as moving.
Upgrade Notes
- Replace the jar with 1.5.1. Keep
plugins/DonutRTP/. - Optional new keys under
update-checkare 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-zonesection inconfig.yml(enabled by default; region empty until set) - Legacy
rtp-zonescuboid zones still work when no WorldGuard region is configured
Permissions
donutrtp.zone.admin— manage zone commands (default: op)donutrtp.cooldown.bypass— bypass cooldown whenrtp-zone.cooldown.bypass-enabledis true
Commands
/rtpalias:donutrtp/donutrtp zone set|remove|info|reload
Notes
- INTERACT trigger mode disables region-entry RTP only; the
/rtpGUI 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-zonessection inconfig.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-secondschanged from 30 to 300 - Default
max-attemptsincreased from 30 to 60 - Existing servers: update
cooldown-seconds: 300in 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 andheadblock formats are unchanged. - Action bar cooldown sound — Optional sound played each second during the warmup countdown (
actionbar-cooldowninconfig.yml). Disabled by default for backwards compatibility. - Instant teleport option — Set
instant-teleport: trueto skip the warmup countdown and teleport immediately after a safe location is found.
Configuration
- New
instant-teleportkey inconfig.yml(default:false) - New
actionbar-cooldownsection inconfig.yml(see inline comments for examples) - HeadDatabase example under
gui.itemsinconfig.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-soundinconfig.yml) - Action bar warmup countdown — Remaining seconds are shown on the action bar during the teleport warmup (configurable via
countdown-actionbarinmessages.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.itemssection inconfig.yml(see inline comments for examples) - New
teleport-soundsection inconfig.yml - New
countdown-actionbarkey inmessages.yml
1.0.1
- Folia compatibility improvements for async teleport handling
1.0.0
- Initial release: DonutSMP-style RTP GUI for Paper and Folia
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:pxKMPaTo:JpCTQavm"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:pxKMPaTo:JpCTQavm"
}

