Fully featured, interactive teleport requests.
A teleport-request plugin for Paper 1.21.x servers. Players send /tpa or /tpahere requests, the recipient gets clickable [Accept] and [Deny] buttons in chat, and the teleport fires after an optional warm-up countdown.
ZenTPA-*.jar from Releases or Modrinth.plugins/ folder and restart.plugins/ZenTPA/config.yml and messages.yml to your liking./zentpa reload to apply changes without a full restart.| Command | Description |
|---|---|
/tpa <player> |
Request to teleport yourself to <player>. |
/tpahere <player> |
Request that <player> teleports to you. |
/tpaccept [player] |
Accept a pending request. |
/tpdeny [player] |
Deny a pending request. |
/tpcancel |
Cancel your outgoing request. |
/tptoggle |
Toggle whether you accept incoming requests. |
/tplist |
List all pending requests with action buttons. |
/zentpa reload |
Reload config.yml and messages.yml. |
| Permission | Default | Description |
|---|---|---|
zentpa.use |
everyone | Access to all player-facing TPA commands. |
zentpa.admin |
op | Use /zentpa reload. |
zentpa.bypass.cooldown |
op | Skip cooldown. |
zentpa.bypass.cost |
op | Skip costs. |
All settings live in plugins/ZenTPA/config.yml with inline comments. Key areas:
Edit messages.yml to customize all chat messages, including the clickable accept/deny buttons (pure MiniMessage — no Java changes needed). Both MiniMessage (<red>…</red>) and legacy (&c) formats are supported.
currency-cost%zentpa_accepting%, %zentpa_incoming_count%, %zentpa_outgoing_count%, and %zentpa_cooldown%git clone https://github.com/maybeizen/zentpa.git
cd ZenTPA
./gradlew shadowJar
Output: build/libs/ZenTPA-*.jar
Author: maybeizen · MIT License · Companion plugin: ZenRTP