
EasyTPA
Simple player teleport requests with customisable menus, countdowns, and flexible teleport destinations.
Описание
EasyTPA
Simple player teleport requests with customisable menus, countdowns, and flexible teleport destinations.
Platforms
Requirements
- Minecraft: 1.13+ on Bukkit, Spigot, Paper, or Purpur. Check the available versions for release compatibility.
- Java: the plugin targets Java 8. Use the Java version required by your server; Minecraft 26.x requires Java 25.
- LuckPerms: optional; falls back to Bukkit permissions.
- Client installation: none required.
- Folia: not supported.
Features
- Teleport requests — request to visit another player or invite them to you.
- Customisable menus — separate confirmation menus for sending and accepting both request types.
- Configurable countdowns — choose how long players wait before teleporting.
- Flexible destinations — use the destination player's location when accepted or when the countdown finishes.
- Movement cancellation — cancels the countdown when the travelling player moves to another block.
- Disconnect cancellation — cancels the teleport if the destination player goes offline.
- Player preferences — toggle incoming requests, automatic acceptance, and acceptance menus.
- Request controls — configurable cooldowns and request expiry.
- Custom messages and sounds — customise chat messages, clickable notifications, action bars, titles, and sound effects.
- Legacy colour support — hex colours fall back to a similar legacy colour on Minecraft 1.13–1.15.
- Persistent settings — player preferences are stored in SQLite.
- Permission support — Bukkit permissions with optional LuckPerms integration.
- Update notifications — background Modrinth checks show how many published builds you're behind and provide a download link.
How It Works
Send a request with /tpa <player> to teleport to someone, or /tpahere <player> to invite them to you. Confirm the request in the menu, then the receiving player can accept or deny it.
Once accepted, the travelling player's countdown begins. Moving to another block cancels it. Unanswered requests expire automatically.
Choose Your Teleport Destination
teleport-destination: acceptance
| Setting | Behaviour |
|---|---|
acceptance | Uses the destination player's location when the request was accepted. |
countdown-end | Uses the destination player's current location when the countdown reaches zero. |
Both options work with /tpa, /tpahere, and automatically accepted requests. Countdowns already in progress keep the destination mode selected when accepted.
Commands
| Command | Description |
|---|---|
/tpa <player> | Request to teleport to a player. |
/tpahere <player> | Request that a player teleport to you. |
/tpaccept | Accept a pending request. |
/tpadeny | Deny a pending request. |
/tpacancel | Cancel your outgoing requests. |
/tpatoggle | Toggle incoming /tpa requests. |
/tpaheretoggle | Toggle incoming /tpahere requests. |
/tpaauto | Toggle automatic acceptance. Alias: /tpauto. |
/tpaguitoggle | Toggle acceptance confirmation menus. |
/tpareload | Reload configuration files. |
Permissions
| Permission | Default | Description |
|---|---|---|
easytpa.tpa | Everyone | Use /tpa. |
easytpa.tpahere | Everyone | Use /tpahere. |
easytpa.tpaccept | Everyone | Accept requests. |
easytpa.tpadeny | Everyone | Deny requests. |
easytpa.tpacancel | Everyone | Cancel outgoing requests. |
easytpa.tpatoggle | Everyone | Toggle incoming teleport requests. |
easytpa.tpaheretoggle | Everyone | Toggle incoming teleport invitations. |
easytpa.tpaauto | Everyone | Toggle automatic acceptance. |
easytpa.tpaguitoggle | Everyone | Toggle acceptance menus. |
easytpa.tpareload | OP | Reload configuration files. |
easytpa.tpa.bypass | OP | Bypass another player's request-toggle restrictions. |
easytpa.admin | OP | All plugin permissions and request-cooldown bypass. |
Legacy donuttpa.* permission names remain supported for existing setups.
Configuration
config.yml
teleport-warmup: 3
teleport-destination: acceptance
request-timeout: 60
update-check: true
Use /tpareload after changing teleport settings. The update checker runs once at startup; restart after changing update-check.
Customisation Files
| File | Purpose |
|---|---|
messages.yml | Chat messages, action bars, titles, and subtitles. |
sounds.yml | Sound effects. |
request-cooldown.yml | Request cooldown duration. |
world-nick.yml | World names displayed in menus. |
gui/*.yml | Menu titles, items, slots, names, and lore. |
Updating From DonutTPA
Stop your server, back up your plugin data, remove the old DonutTPA JAR, and install EasyTPA.
On first start, EasyTPA copies an existing DonutTpa or DonutTPA data folder when its own folder is absent or empty. Your original folder is preserved, and existing EasyTPA data is not overwritten.
File Structure
plugins/EasyTPA/
├── config.yml
├── messages.yml
├── sounds.yml
├── request-cooldown.yml
├── world-nick.yml
├── data.db
└── gui/
├── tpa-send.yml
├── tpa-accept.yml
├── tpa-here-send.yml
└── tpa-here-accept.yml
Support
This project is maintained by sqidgeon. You are NOT allowed to re-distribute this plugin without consent from us!

