ExoTPA — Modern Teleport Requests
Fast teleport requests with clickable chat buttons, player settings, confirmation GUIs, and countdown-based teleports.
What is ExoTPA?
ExoTPA is a modern TPA plugin focused on making teleport requests cleaner and easier for players to manage.
Players can send /tpa or /tpahere requests, accept or deny them directly from chat, toggle auto-accept, and control incoming requests through a built-in settings GUI. Teleports use a configurable countdown system with movement cancellation support to prevent instant escapes.
✨ Features
Clickable Chat Requests
Incoming teleport requests include clickable accept and deny buttons directly in chat.
️ Settings GUI
Players can manage TPA preferences from an in-game GUI instead of commands only.
⚡ Auto Accept
Toggle automatic acceptance for incoming teleport requests with /tpauto.
⏳ Teleport Countdown
Accepted requests use a configurable countdown before teleporting.
Movement Cancel Support
Teleportation cancels automatically if the player moves during the countdown.
Fully Configurable
Messages, sounds, colors, countdown length, and request timeout values can all be changed in config.yml.
Hex Color Support
Supports modern hex colors using &#RRGGBB.
Commands
Command
Description
/tpa <player> Send a teleport request
/tpahere <player> Request a player to teleport to you
/tpaccept Accept a teleport request
/tpdeny Deny a teleport request
/tpacancel Cancel your outgoing request
/tpasettings Open the settings GUI
/tpauto Toggle auto-accept
⚙️ Requirements
- Minecraft: 1.21+
- Server Software: Paper, Spigot, or compatible forks
Installation
- Drop ExoTPA.jar into your plugins/ folder.
- Restart the server.
- Edit plugins/ExoTPA/config.yml if needed.
- Done.
️ Configuration
ExoTPA config.yml:
Code (Java):
# ExoTPA Configuration
File
# Hex color format
:
&#RRGGBB
# Standard color codes
:
&a,
&c,
&f, etc.
#
Request timeout in seconds
request
-timeout
:
30
# Teleport countdown in seconds
teleport
-countdown
:
5
messages
:
# TPA
Request Messages
tpa
-sent
:
"&fTeleport request sent to &#FF4D6D{player}&f!"
tpahere
-sent
:
"&fTeleport here request sent to &#FF4D6D{player}&f!"
# Incoming
Request Messages
(
Action Bar
)
tpa
-received
:
"&#FF4D6D{player} &fsent you a teleport request!"
tpahere
-received
:
"&#FF4D6D{player} &fsent you a teleport here request!"
# Incoming
Request Messages
(Chat with buttons
)
tpa
-received
-chat
:
"&#FF4D6D{player} &fsent you a teleport request!"
tpahere
-received
-chat
:
"&#FF4D6D{player} &fsent you a teleport here request!"
# Response Messages
tpa
-accepted
:
"�F986Teleport request accepted!"
tpa
-denied
:
"&#FF4D6DTeleport request denied."
tpa
-cancelled
:
"&#FF4D6DTeleport request cancelled."
#
Error Messages
no
-pending
-request
:
"&#FF4D6DYou don't have any pending teleport requests."
player
-not
-found
:
"&#FF4D6DPlayer not found or offline."
cannot
-tpa
-self
:
"&#FF4D6DYou cannot send a teleport request to yourself!"
already
-have
-request
:
"&#FF4D6DYou already have a pending teleport request!"
target
-has
-request
:
"&#FF4D6D{player} &falready has a pending teleport request!"
#
Request Status Messages
request
-expired
:
"&fYour teleport request to &#FF4D6D{player} &fhas expired."
request
-expired
-target
:
"&fTeleport request from &#FF4D6D{player} &fhas expired."
request
-accepted
-sender
:
"&#FF4D6D{player} &faccepted your teleport request!"
request
-denied
-sender
:
"&#FF4D6D{player} &fdenied your teleport request."
request
-cancelled
-target
:
"&#FF4D6D{player} &fcancelled their teleport request."
# Settings Messages
tpa
-disabled
:
"&#FF4D6D{player} &fhas disabled TPA requests."
tpahere
-disabled
:
"&#FF4D6D{player} &fhas disabled TPA Here requests."
settings
-updated
:
"�F986Settings updated!"
auto
-accept
-enabled
:
"�F986Auto-accept enabled!"
auto
-accept
-disabled
:
"&#FF4D6DAuto-accept disabled!"
auto
-accept
-reminder
:
"&#FF4D6DREMINDER: &fYou have &#FF4D6DTPA AUTO &fenabled!"
# Teleportation Messages
teleporting
-sender
:
"&fTeleporting &#FF4D6D{player} &fto you..."
teleporting
-target
:
"&fTeleporting to &#FF4D6D{player}&f..."
teleport
-countdown
:
"&fTeleporting in &#FF4D6D{seconds}s"
teleport
-cancelled
-move
:
"&#FF4D6DTeleportation cancelled because you moved!"
teleport
-success
:
"�F986Teleported!"
Visual Representation
images here (coming soon)