CustomTPA – Modern Teleport Requests
A feature-rich TPA plugin for Spigot, Paper, Purpur, Bukkit and Folia with automatic multi-language support (25 languages), auto-accept mode, countdown sound, chat buttons, GUI, and MiniMessage formatting.
Code (Text):
[b]Spigot/Bukkit build[/b] – use [b]CustomTPA-1.8.1-spigot.jar[/b]
[b]Paper/Purpur/Folia build[/b] – available on Modrinth: https://modrinth.com/plugin/customtpa
✨ Features
- 25 Languages – Each player sees messages in their own language automatically: English, Russian, Ukrainian, German, French, Spanish, Portuguese (Brazil), Turkish, Italian, Polish, Chinese (Simplified), Japanese, Finnish, Korean, Swedish, Dutch, Czech, Hungarian, Romanian, Norwegian, Danish, Greek, Indonesian, Arabic, Vietnamese.
- Auto-Accept Mode – /tpaauto toggles automatic acceptance of all incoming requests with configurable delay.
- Countdown Sound – A subtle experience orb pickup sound plays at each second of the teleport countdown.
- Request Cooldown – Configurable delay between requests to prevent spam.
- World Blacklist – Block teleport requests to/from specific worlds.
- Update Checker Toggle – Enable/disable the automatic update checker in config.yml.
- Chat Buttons – Clickable [✔ Accept], [✘ Deny], and [✘ Cancel] directly in chat, with descriptive prompts.
- Teleport Delay – Configurable countdown with action bar display; player must stand still (movement cancels teleport).
- GUI – /tpa gui opens an inventory with player heads and control buttons; fully localized with countdown sound.
- MiniMessage + Legacy Colors – Supports <gradient>, <rainbow>, <#ffaa00>, &a, &l, §a, and even &#RRGGBB and §x§R§R§G§G§B§B gradient codes.
- PlaceholderAPI + LuckPerms – Use %other_luckperms_prefix% or any other placeholder for the involved player.
- Fully Configurable – All messages and sounds are customizable via lang/*.yml files. Cooldown, blacklist, delay, and update checker are set in config.yml.
- Easy Translation – Add new languages by dropping a messages_XX.yml into the lang/ folder.
- Reload Command – /customtpa reload applies changes without restarting the server.
- Cross-Platform – Works on Spigot, Paper, Purpur, Bukkit and Folia (1.21.1+).
Commands
| /tpa <player> |
Request to teleport to a player |
| /tpahere <player> |
Invite a player to teleport to you |
| /tpaccept [player] |
Accept a request (or select from list) |
| /tpadeny [player] |
Deny a request |
| /tpcancel |
Cancel your outgoing request |
| /tpatoggle |
Toggle receiving requests |
| /tpaauto |
Toggle automatic acceptance of all requests |
| /tpa gui |
Open the graphical request menu |
| /customtpa reload |
Reload configuration (/ctpa) |
Languages
The plugin automatically detects the player's locale.
Currently included:
- English (en)
- Russian (ru)
- Ukrainian (uk)
- German (de)
- French (fr)
- Spanish (es)
- Portuguese, Brazil (pt_br)
- Turkish (tr)
- Italian (it)
- Polish (pl)
- Chinese, Simplified (zh_cn)
- Japanese (ja)
- Finnish (fi)
- Korean (ko)
- Swedish (sv)
- Dutch (nl)
- Czech (cs)
- Hungarian (hu)
- Romanian (ro)
- Norwegian (nb)
- Danish (da)
- Greek (el)
- Indonesian (id)
- Arabic (ar)
- Vietnamese (vi)
To add more languages, copy any messages_*.yml in the lang/ folder, rename it (e.g., messages_pl.yml), translate the values, and reload the plugin.
⚙️ Dependencies (Optional)
- PlaceholderAPI – for placeholders in messages.
- LuckPerms – for displaying player prefixes/suffixes.
The plugin works without them, but they unlock the full potential.
️ Installation
- Drop CustomTPA-1.8.1-spigot.jar into your plugins folder.
- Start the server (or use PlugMan).
- Edit lang/messages_XX.yml to customize messages.
- Edit config.yml to configure cooldown, blacklist, delay, and update checker.
- Run /customtpa reload to apply changes.
Links
Bug Reports & Suggestions
Contact me on Discord:
mrkronick