
Tpa +
Tpa+ is a modern teleport request plugin with /tpa and /tpahere, including cooldowns, expiry, delayed teleport safety, and clickable accept/deny actions. It also offers confirmation GUIs, auto-accept, per-player request blocking, and many more features.
1.2.0
Compatibility
Changes
Changelog - TpaPlus
All notable changes to the TpaPlus Minecraft plugin from its initial release to the current version.
[1.2.0] - 2026-07-14
Added
- Build System Migration: Migrated build system from Maven (
pom.xml) to Gradle (build.gradle,settings.gradle) with dynamic versioning support. - Java 21 support: Upgraded compilation toolchain target release to Java 21 to align with Minecraft 1.21+ requirements.
- Paper API Upgrade: Updated compile dependencies to Paper API
1.21-R0.1-SNAPSHOT. - Multiple Request Handling: Target players can now receive multiple pending requests concurrently from different requesters without overwriting previous requests.
- Targeted Commands: Supported player name arguments on
/tpaccept [player],/tpdeny [player], and/tpcancel [player]to manage specific requests. - Smart Tab Completion: Added dynamic tab-completer support to
/tpaccept,/tpdeny, and/tpcancelthat lists only relevant player names with active requests. - Separate Storage File: Moved player-specific preferences (such as auto-accept lists and toggled-off states) out of the main configuration
tpa.ymlto a dedicated, lightweightdata.ymlfile. - Teleport safety checker: Implemented safety validation of destination block heights. Scans and redirects the teleport to a safe landing spot in a configurable radius (default: 2 blocks), or cancels it if no safe spot is found.
- Damage Cancel Trigger: Added optional countdown cancellation if the teleporting player takes damage during the delay.
- Hot-Reload Support: Added the administrative
/tpareloadcommand to hot-reload config, messages, and player data dynamically without restarting the server. - Admin Bypasses: Introduced bypass permissions for administrative ranks:
aiotpa.bypass.cooldown(bypasses request cooldowns)aiotpa.bypass.delay(enables instant teleports, skipping delay countdowns)aiotpa.bypass.toggle(allows requesting players who have incoming requests toggled off)
Fixed
- Infinite Teleportation Loop: Resolved a critical scheduler bug where the teleport countdown task ran infinitely because the tracking task reference was deleted from the map before it could execute its cancellation block.
/tpcancelCommand Bug: Fixed a command bug where the requester was unable to cancel outgoing requests because the lookup targeted the target's map entries using the requester's UUID.- Async Storage Race Condition: Resolved a Bukkit thread-safety warning by clone-copying the values of data arrays on the main server thread before executing the async file save block.
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:gdzdDRM6:eXCVOUow"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:gdzdDRM6:eXCVOUow"
}
