EasyTPA

EasyTPA

Simple player teleport requests with customisable menus, countdowns, and flexible teleport destinations.

27 013 downloads 6 followers

EasyTPA

Simple player teleport requests with customisable menus, countdowns, and flexible teleport destinations.

Available on Modrinth


Platforms

Supported on Paper Supported on Bukkit Supported on Spigot Supported on Purpur


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

Discord


This project is maintained by sqidgeon. You are NOT allowed to re-distribute this plugin without consent from us!

Version Minecraft Loader Download

DonutTPA 13

1.0.0

1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2
bukkit, paper, purpur, spigot
Download