SimpleTPA
A lightweight TPA plugin for Paper and Folia servers. Teleport requests, clear feedback, per-player settings and protection options you can configure, made for current Minecraft versions.
Wiki:
✨ Features
- Send, accept, deny and cancel teleport requests with
/tpa,/tpahere,/tpaccept,/tpadenyand/tpacancel. /tpalistshows your incoming and outgoing requests with the time left, pages and clickable accept/deny/cancel buttons.- Trust list with auto-accept: add friends with
/tpatrustand choose if their/tpa,/tpahereor both requests get accepted automatically. Nobody else is ever auto-accepted. - Request expiry and anti-spam cooldowns (the cooldown can't be skipped by relogging).
- Optional teleport countdown that gets cancelled when the player moves or takes damage.
- Safe destinations: no teleports into lava, water, fire, cobwebs or onto the Nether roof. Snow, carpets, slabs and paths are handled correctly.
- New: optional teleport costs via Vault. Off by default. The sender only pays once the teleport actually starts, and failed teleports get refunded.
- New: world rules. Allow TPA only inside the same world, or block dimensions like the Nether or the End completely.
- World and cuboid-region blacklist.
- Optional WorldGuard and GriefPrevention support (off by default).
- Settings GUI for requests, sounds, language, auto-accept, trust list and request inbox. Title, size, slots and materials are configurable.
- Every player can pick their own language: English, German, French or Spanish.
- Player blocking, TPA toggle, direct admin teleport and
/tpaall. /tp <player>uses the safe teleport. Everything else (/tp x y z,/tp a b, selectors, console) still works like vanilla./tpaadmin statusfor quick diagnostics (requests, teleports, storage, economy, protection plugins).- New config options are added automatically on startup and
/tpareload, your existing values stay untouched.
Commands
| Command | Description | Permission |
|---|---|---|
/tpa <player> |
Send a teleport request. | — |
/tpahere <player> |
Ask a player to teleport to you. | — |
/tpaccept [player] |
Accept a request. | — |
/tpadeny [player] |
Deny a request. | — |
/tpacancel |
Cancel your sent request(s) or your running countdown. | — |
/tpalist [in\|out] [page] |
List your incoming or outgoing requests. | — |
/tpatrust <add\|remove\|list\|auto> |
Manage your trust list and auto-accept. | — |
/tpatoggle |
Turn incoming requests on or off. | — |
/tpablock <player> |
Block requests from a player. | — |
/tpaunblock <player> |
Unblock a player. | — |
/tpasettings |
Open your settings GUI. | — |
/tp <player> |
Teleport directly to a player. | simpletpa.tp |
/tpaall |
Ask all online players to teleport to you. | simpletpa.tpaall |
/tpareload |
Reload config and language files. | simpletpa.reload |
/tpaadmin status |
Show plugin diagnostics. | simpletpa.admin.status |
Permissions
| Permission | Description | Default |
|---|---|---|
simpletpa.updatenotify |
Get update notifications on join. | OP |
simpletpa.bypass.delay |
Skip the teleport countdown. | OP |
simpletpa.bypass.cooldown |
Skip the request cooldown. | OP |
simpletpa.bypass.protection |
Skip safety checks and countdown cancelling. | OP |
simpletpa.bypass.worlds |
Ignore the cross-world and dimension rules. | OP |
simpletpa.bypass.cost |
Teleport requests are free. | nobody |
simpletpa.bypass.integrations |
Ignore WorldGuard/GriefPrevention checks. | nobody |
Teleport costs (optional)
Needs Vault and an economy plugin like EssentialsX. Turn it on in config.yml:
economy:
enabled: true
tpa-cost: 10.0
tpahere-cost: 10.0
The player who sent the request always pays, also for /tpahere. /tpaall charges tpahere-cost for every player who accepts.
World rules (optional)
worlds:
allow-cross-world: false
blocked-dimensions: [NETHER, THE_END]
Works for /tpa, /tpahere and /tpaall. The admin /tp is not affected.
Compatibility
| Server type | Supported |
|---|---|
| Paper | ✅ |
| Folia | ✅ |
| Purpur and other Paper forks | ✅ |
| Spigot | ❌ |
| Bukkit | ❌ |
| BungeeCord | ❌ |
| Velocity | ❌ |
Requires Minecraft 1.21.1 or newer and Java 21 (Minecraft 26.x needs Java 25).
Configuration
Every option is explained in config.yml. Updates keep your settings and only add what's missing. Please back up your plugin folder before updating.
bStats
All Versions
+ Add VersionUpdatet the Trusted person ui
Added Vault/Economy/xconomy support
Added World settings
Unique request IDs – Old chat buttons cannot accidentally accept a new request from the same player.
/tpatrust – Maintain a persistent list of trusted players, identified by UUID.
Separate auto-accept settings for /tpa, /tpahere, or both.
Fully translatable settings GUI, with German, English, French, and Spanish translations.
/tpaadmin status – Diagnostics for requests, active teleports, storage status, versions, and integrations.
Optional WorldGuard 7 support.
Optional GriefPrevention Legacy 16 support on Paper.
Significantly improved Folia support using entity schedulers.
Teleports use teleportAsync.
Improved safe-teleport destination search and protection against dangerous destinations.
Movement and damage can cancel countdown teleports.
More robust blocklists, cooldowns, and request management.
Improved thread safety when saving settings and trust data.
Atomic JSON saving with backups.
Cleaner handling of the update checker and bStats.
The identified WorldGuard exit-override bug has been fixed ahead of the 1.8 release.
## ✨ New
- New plugin logo, because AI-generated images are no longer allowed on Modrinth.
## 🛠 Fixes
- Delayed teleports now use the **current** destination when the countdown ends. If the other player moved, you teleport to them instead of the old location.
- Players can now have **multiple pending TPA requests** at the same time. A new request no longer silently replaces someone else's request.
/tpaallstill works as before: every player who accepts can teleport to you independently.- Leaving the server now cancels pending teleports and TPA requests. The other player is notified.
- Stopping or reloading the plugin now cancels active teleport countdowns and saves player settings.
## ✨ Improvements
- Use
/tpaccept <player>and/tpadeny <player>when you have more than one request./tpacceptand/tpadenystill work if you only have one. - Accept / deny click buttons now target the correct sender.
/tpacancelcancels **all** requests you sent, including after/tpaall.- Tab completion for
/tpacceptand/tpadeny.
## ✨ New features
- Added
/tpacancelto cancel your own pending teleport request. - Added configurable request expiry, so unanswered TPA requests automatically expire.
- Added configurable request cooldowns to prevent TPA spam.
- Added clear messages for cooldowns, expired requests and cancelled teleports.
- Added configurable teleport protection:
- Cancel a pending teleport when the player moves.
- Cancel a pending teleport when the player takes damage.
- Search for a safe destination before teleporting.
- Prevent unsafe teleports into lava or onto the Nether roof.
- Block TPA in configured worlds and cuboid regions.
- Added bypass permissions:
simpletpa.bypass.cooldownsimpletpa.bypass.protection- Improved the settings GUI. Its title, size, slots and item materials can now be changed in
config.yml.
## ⚙️ Configuration updates
- New configuration options are now automatically added when the plugin starts or
/tpareloadis used. - Existing values in your
config.ymlare preserved during updates.
## 🛠 Fixes and improvements
- Fixed the
/tpaallresult message. - Updated the plugin to version **1.7**.
2. Now its supports 1.21.x - 1.26.2
2. Bug fixes
1. Teleport Delay default 3 sec (you can turn it off)
2. New Permission: simpletpa.bypass.delay
### Fixed Folia Support
### Fixed other bugs
1. Added bstats
1. Fixed some bugs
2. The plugin should now run without problems from version 1.20 to 1.21.11
### If you have some bugs just go in the discord
1. Settings Gui you can open it with /tpasettings 
2. New Languages [France,spain]
# Infos for the gui
1. You can Enable und disable TPA Requests 
2. You can change your privat Language 
3. You toggle the sounds 
# Important
# Please delete the languages folder in the Simpletpa folder
# Whats new?
1. /tpablock | Block TPA requests from a player
2. /tpaunblock | Unblock a previously blocked player
# Added this:
- /tpaall | simpletpa.tpaall | Request all online players to teleport to you
- Fixed lang error
- Added more language support
## Fixed tpatoggle
- A message will now appear when there is a new version
## New permission
- ``
simpletpa.updatenotify`` | Receive update notifications on join
- Added custom start message
- You can no longer send tpa requests to yourself
- You can now accept tpa requests by clicking on the accept message
https://discord.gg/aMHf3XjNFJ