Simple-Tpa

SimpleTpa

Ask to teleport to a friend. They click ACCEPT. You're there.

⚠️ SimpleTpa 3 needs a Paper server, Minecraft 1.21 or newer (Purpur and other Paper forks work too). Using Spigot or an older Minecraft version? Download version 2.3 from the Files tab, it keeps working as before.


How it works

  1. Steve types /tpa Alex
  2. Alex sees a message with two buttons: [ACCEPT] [DENY]
  3. Alex clicks [ACCEPT]
  4. Steve stands still for 3 seconds, and a teleport animation plays
  5. Steve is teleported next to Alex, always on a safe spot

Want Alex to come to you instead? Use /tpahere Alex.


Features

  • ✔ Clickable buttons to accept or deny, no typing needed
  • ✔ Several requests at once: accept the latest, or choose who to accept
  • ✔ Countdown before teleporting, cancelled if you move or get hit (no escaping fights)
  • ✔ Safe teleport: never land in lava, in the void or inside a wall
  • ✔ Cooldown between requests, with an optional countdown bar
  • ✔ 7 teleport animations, unlockable with permissions
  • ✔ Activity log: see who asked whom, how it ended and where players teleported
  • ✔ Player menu and admin menu, everything in game
  • ✔ Fully customisable messages, colours, sounds and language
  • ✔ Teleport between worlds: allowed or blocked, you decide

Teleport animations

While the countdown runs, particles swirl around the player.

Animation Look
Classic Purple portal particles (default for everyone)
Spiral A rising spiral of white sparks
Double helix Two purple strands twisting together
Rings Green rings around the player
Vortex A swirling witch-magic vortex
Halo A golden halo
Orb Blue soul-fire orbs

Each animation is unlocked with simpletpa.animation.<name>, so they make a nice reward for ranks. Players choose theirs from /tpamenu. Admins pick the default, turn animations on or off and preview them from /tpaconfig.


Player menu (/tpamenu)

Everything a player needs, without remembering commands:

  • Choose your animation: locked ones are shown too, so players know what they can unlock
  • Stop all requests with one click, and turn them back on later
  • Ignore list: see who you ignore and remove them
  • Show or hide the countdown bars

Choices are saved and stay after a restart.


Admin menu (/tpaconfig)

Set up the plugin without opening a single file:

  • Settings: countdown, cooldown, request timeout, safe teleport, worlds and more. Click to change, saved instantly
  • Messages: pick a section (requests, teleports, commands, menus…), click any message and type the new text in chat
  • Animations: turn on or off, preview, set the default
  • Languages: switch language instantly, no restart
  • Logs: browse every player's TPA history (see below)

Activity log

Someone says "he teleported to my base without asking"? Check it in seconds.

  1. Open /tpaconfig → Logs and pick a player (search by name if you have many)
  2. Choose Requests sent, Requests received or Teleports
  3. Every entry shows the details:
List What you see
Requests sent Time, who it was sent to, /tpa or /tpahere, and how it ended
Requests received Time, who sent it, /tpa or /tpahere, and how it ended
Teleports Time, the other player, world and coordinates

Possible outcomes: accepted, denied, cancelled, expired or pending.

Logs are saved to plugins/SimpleTpa/logs/ without slowing down the server. In config.yml you choose whether to keep them (logs.enabled), how many entries per player (logs.max-entries-per-player) and for how many days (logs.retention-days, 0 = forever). All the texts, including the date format, can be changed like any other message.


Make it yours

  • Messages support colours, gradients and hover text (MiniMessage)
  • Colour theme: change 4 colours in config.yml and every message follows
  • Sounds and particles for every event, each one can be changed or turned off
  • Languages: English and Italian included. To add one, copy languages/en.yaml, translate it, and it shows up in the admin menu. Lines you didn't translate stay in English

Commands

Command What it does
/tpa [player] Ask to teleport to a player
/tpahere [player] Ask a player to come to you
/tpaccept [player] Accept a request
/tpdeny [player] Deny a request
/tpacancel Cancel the request you sent
/tpatoggle Stop (or allow again) all incoming requests
/tpaignore [player] Ignore (or stop ignoring) a player
/tpamenu Open your personal settings
/tpaconfig Open the admin settings and logs (admins only)
/tpareload Reload the configuration (admins only)

Permissions

Players can use all the basic commands by default. Admins (op) get everything else.

Permission What it gives Default
simpletpa.tpa, simpletpa.tpahere, simpletpa.tpaccept, simpletpa.tpdeny, simpletpa.tpacancel, simpletpa.tpatoggle, simpletpa.tpaignore, simpletpa.menu Basic commands and player menu Everyone
simpletpa.gui Admin menu and logs Op
simpletpa.admin.reload /tpareload Op
simpletpa.animation.[name] Unlock an animation (classic is free for everyone) Op
simpletpa.bypass.cooldown No waiting between requests Op
simpletpa.bypass.warmup Teleport instantly, no countdown Op
simpletpa.bypass.world Teleport between worlds even when it's disabled Op
simpletpa.bypass.toggle Send requests to players who disabled them Op

Animation names: classic, spiral, double-helix, rings, vortex, halo, orb.


Installation

  1. Put SimpleTpa-3.1.0.jar in your plugins folder
  2. Restart the server
  3. Done! Change settings in game with /tpaconfig, or edit plugins/SimpleTpa/config.yml and run /tpareload

Language: English by default. To switch to Italian: /tpaconfig → Languages, or set language: it in config.yml.


Updating from version 2 (old users, please read)

Version 3 is a complete rewrite. Updating is easy:

  1. Make sure your server runs Paper 1.21 or newer
  2. Replace the old jar with the new one and restart

What changes for you:

  • Your old config.yml is saved as config-v2-backup.yml and a new one is created. If you had custom messages, copy them again (now you can do it in game with /tpaconfig).
  • Teleporting between worlds is now allowed by default (it was always blocked before). To block it again: allow-cross-world: false.
  • Default cooldown is now 30 seconds (was 20).
  • Permissions from v2.3 still work (simpletpa.tpa, simpletpa.tpaccept, simpletpa.tpdeny). Very old v2.2 permissions (tpa.tpa…) are no longer used.
  • Admins (op) still skip the cooldown, and now also skip the countdown.

Using EssentialsX or CMI?

They also have a /tpa command. SimpleTpa loads first, so /tpa, /tpaccept and the others use SimpleTpa automatically. The other plugin's command is still available as /essentials:tpa.


SimpleTpa sends anonymous usage statistics to bStats. You can turn them off in plugins/bStats/config.yml.


Need help?

Found a bug or have an idea? Leave a comment here, and tell us your server version (/version).


Comments

Posts Quoted:
Reply
Clear All Quotes

About This Project

  • Project ID
    98996
  • Created
    Apr 3, 2016
  • Last Released File
    Oct 18, 2026
  • Total Downloads
    138,877
  • License

Categories

Members

Recent Files