Перейти к содержимому
Mineforgian

SimpleTPA

A simple TPA Plugin. With customizable Messages and Sounds.

Загрузки
88K
Подписчики
29
Обновлён
11 августа 2026 г.
Лицензия
Apache-2.0

Опубликован 19 января 2025 г.

SimpleTPA

Plugin

Its a SimpleTPA Plugin. With some Customization Options. Default config is at the end of this page.

Please Message me if you encounter any Bugs!

Discord: blizzard8562 (for Bug-Reports, other Issues and Feedback)

Available for Paper/Folia and Bukkit/Spigot (two separate downloads, see the Modrinth versions tab)

Features:

  • Customizable Messages (supports MiniMessage tags and legacy color codes)
  • TPA-Cooldowns
  • Custom Sounds
  • Clickable Chat Message (for /tpaccept or /tpdeny)
  • PlaceholderAPI Support
  • Optional Teleport-Warmup (stand still for a few seconds after being accepted, before you get teleported)
  • Optional support for multiple simultaneous TPA-Requests
  • Folia Support

How to use:

  • /tpa [Player] To send a teleportation request to a specified Player
  • /tpahere [Player] To send a teleportation request, asking a specified Player to teleport to you
  • /tpaccept [Player] To accept a pending TPA-Request. Specify a Player if you have multiple pending requests.
  • /tpdeny [Player] To deny a pending TPA-Request. Specify a Player if you have multiple pending requests.
  • /tpacancel [Player] To cancel one of your pending outgoing TPA-Requests. Specify a Player if you have multiple.
  • /tpreload To reload the config.yml. Permission Required: tpa.reload
  • /tpatoggle Toggles whether you allow incoming TPA-Requests.
  • /tpdebug Toggles console logging of TPA request lifecycle events. Permission Required: tpa.debug
  • /tphere [Player] Force-teleports a specified Player to you. Permission Required: tpa.command.tphere
  • /tpo [Player] Teleports you to the last known (offline) location of a specified Player Permission Required: tpa.command.tpo
  • /tpa version Allows viewing plugin version info.
  • /tpa help Lists all available commands with a short description.

Permissions:

Player Commands:(default permissions)

  • tpa.command.tpa You need this Permission to run /tpa.
  • tpa.command.tpahere You need this Permission to run /tpahere.
  • tpa.command.tpaccept You need this Permission to run /tpaccept.
  • tpa.command.tpdeny You need this Permission to run /tpdeny.
  • tpa.command.tpacancel You need this Permission to run /tpacancel.
  • tpa.command.tpatoggle You need this Permission to run /tpatoggle.
  • tpa.command.version You need this Permission to run /tpa version.
  • tpa.command.help You need this Permission to run /tpa help.

Admin Commands:(default only for OP)

  • tpa.reload You need this Permission to run /tpreload.
  • tpa.debug You need this Permission to run /tpdebug.
  • tpa.command.tphere You need this Permission to run /tphere.
  • tpa.command.tpo You need this Permission to run /tpo.

SimpleTPA Logo

default config.yml (paper 1.6)

settings:
  tpa_cooldown: 30 # Cooldown in Seconds, before a Player can send another TPA-Request.
  tpa_request_timeout: 60 # Time in Seconds, until a TPA-Request runs out.
  check_for_updates: true # Checks Modrinth every 12 hours for a new version.
  modrinth_project_slug: "simpletpaplugin" # Modrinth project slug used for update notifications. Usually there's no need to change this.
  use_placeholderapi_formatting: true # Formats Player names in messages using PlaceholderAPI. Requires PlaceholderAPI to be installed.
  player_display_format: "%player%" # Format for Player names in messages. Legacy § codes and MiniMessage tags (e.g. from %luckperms_prefix%) are automatically translated so they can be mixed safely. Example: "%luckperms_prefix% | %player%" requires PlaceholderAPI and LuckPerms, as well as the LuckPerms PlaceholderAPI expansion, to be installed.
  teleport_warmup_enabled: false # If enabled, the requester has to stand still for a configured amount of time before being teleported after their TPA-Request gets accepted.
  teleport_warmup_seconds: 5 # Time in Seconds the requester has to stand still before being teleported. Only used if teleport_warmup_enabled is true.
  allow_multiple_requests: true # If enabled, Players can send TPA-Requests to multiple different Players at the same time, and receive multiple incoming Requests at once.
  suppress_usage_hint: true # If enabled, suppresses the server's built-in "/tpa <player|version|help>" usage hint that would otherwise appear below SimpleTPA's own error messages.
  tpahere_enabled: true # If enabled, allows Players to use /tpahere to ask another Player to teleport to them.
  tpahere_cooldown: 30 # Cooldown in Seconds, before a Player can send another TPA-Here-Request. Shares the same default as tpa_cooldown but can be changed independently.
  tpahere_request_timeout: 60 # Time in Seconds, until a TPA-Here-Request runs out. Shares the same default as tpa_request_timeout but can be changed independently.
  tpo_enabled: true # If enabled, allows staff to use /tpo to teleport to an offline Player's last known location. Also controls whether logout locations are recorded at all.
sounds:
  tpa_request_sent: "entity.experience_orb.pickup"
  tpa_request_received: "entity.player.levelup"
  tpa_accept: "entity.enderman.teleport"
  tpa_deny: "entity.villager.no"
  tpa_expired: "entity.item.break"
  tpa_toggle_enabled: "block.note_block.bass"
  tpa_toggle_disabled: "block.note_block.pling"
  tpa_teleport_cancelled: "entity.villager.no"
  tpahere_request_sent: "entity.experience_orb.pickup"
  tpahere_request_received: "entity.player.levelup"
messages: # Uses MiniMessage tags (e.g. <green>, <gradient:blue:aqua>, <hover:show_text:'...'>) in this file. Legacy § codes also work and are automatically translated internally if you prefer them. update_available_console is only ever printed to the console log and does not support any coloring.
  tpa_request_sent: "<gray>You sent a TPA-Request to <gold>%target%</gold>."
  tpa_request_received: "<gold>%player%</gold> <gray>sent you a TPA-Request! <green>/tpaccept</green> <gray>or <red>/tpdeny</red>"
  tpahere_request_sent: "<gray>You sent a TPA-Request asking <gold>%target%</gold> to teleport to you."
  tpahere_request_received: "<gold>%player%</gold> <gray>sent a TPA-Request asking you to teleport to them! <green>/tpaccept</green> <gray>or <red>/tpdeny</red>"
  tpahere_disabled: "<red>The /tpahere command is currently disabled."
  tpa_accept_success: "<green>You accepted the TPA-Request from <gold>%player%</gold>."
  tpa_accept_teleport: "<green>You got teleported by <gold>%player%</gold>."
  tpa_teleport_warmup_started: "<yellow>Teleporting to <gold>%player%</gold> in <gold>%seconds%</gold> seconds. <red>Don't move!"
  tpa_teleport_warmup_cancelled: "<red>Teleportation to <gold>%player%</gold> was cancelled because you moved."
  tpa_deny_success: "<red>You denied the TPA-Request from <gold>%player%</gold>."
  tpa_deny_notify: "<gold>%player%</gold> <red>denied your TPA-Request."
  tpa_no_request: "<gray>You dont have any pending TPA-Requests."
  tpa_request_exists: "<gray>You already have a pending TPA-Request. Wait for it to be accepted, denied, or to expire before sending another."
  tpa_request_exists_target: "<gray>You already have a pending TPA-Request to this Player."
  tpa_no_request_from: "<gray>You don't have a pending TPA-Request from <gold>%player%</gold>."
  tpa_no_request_to: "<gray>You don't have a pending TPA-Request to <gold>%player%</gold>."
  tpa_multiple_requests: "<gray>You have multiple pending TPA-Requests: <gold>%players%</gold>. Use <green>/tpaccept</green> [player] or <red>/tpdeny</red> [player] to choose one."
  tpa_multiple_requests_outgoing: "<gray>You have multiple pending outgoing TPA-Requests: <gold>%players%</gold>. Use <yellow>/tpacancel</yellow> [player] to choose one."
  player_not_online: "<red>This Player is currently not online."
  player_only_command: "<red>This command can only be used by Players."
  tpa_self_request: "<red>You cannot send a TPA-Request to yourself."
  wrong_usage: "<gray>Use: <yellow>/%command%</yellow> [Player]"
  tpa_cancel_success: "<red>Your TPA-Request was cancelled."
  tpa_cancel_notify: "<gold>%player%</gold> <gray>cancelled their TPA-Request."
  tpa_request_expired_sender: "<gray>Your TPA-Request to <gold>%target%</gold> ran out."
  tpa_request_expired_receiver: "<gray>The TPA-Request by <gold>%player%</gold> ran out."
  tpahere_request_expired_sender: "<gray>Your TPA-Request asking <gold>%target%</gold> to teleport to you ran out."
  tpahere_request_expired_receiver: "<gray>The TPA-Request by <gold>%player%</gold> asking you to teleport to them ran out."
  tpa_cooldown: "<yellow>Please wait <gold>%seconds%</gold> Seconds, before sending a new TPA-Request."
  config_reloaded: "<green>The Configuration has succesfully been reloaded."
  no_permission: "<red>You dont have the required Permissions to use this Command.!"
  tpa_toggle_enabled: "<red>You will no longer receive TPA-Requests."
  tpa_toggle_disabled: "<green>You can now receive TPA-Requests again."
  tpa_target_not_accepting: "<gold>%target%</gold> <red>is not currently accepting TPA-Requests."
  version_info: "<gray>SimpleTPA version info - Current: <gold>%current%</gold> | Latest: <gold>%latest%</gold> | <aqua>%url%"
  update_available_console: "A new version (%version%) of SimpleTPA is available! Download: %url%"
  update_available_player: "<yellow>A new version (<gold>%version%</gold>) of SimpleTPA is available! <white>Download: <aqua>%url%"
  tpa_debug_enabled: "<green>TPA event debug logging is now enabled.</green>"
  tpa_debug_disabled: "<gray>TPA event debug logging is now disabled.</gray>"
  tphere_success: "<green>You teleported <gold>%player%</gold> to you."
  tphere_moved_notify: "<yellow>You were teleported to <gold>%player%</gold>."
  tpo_disabled: "<red>The /tpo command is currently disabled."
  tpo_player_online: "<gold>%player%</gold> <red>is currently online, use /tpahere or /tpa instead."
  tpo_no_data: "<red>No last known location is available for <gold>%player%</gold>."
  tpo_success: "<green>Teleported to <gold>%player%</gold>'s last known location."

clickable_messages:
  accept_text: "[✔ Accept]"
  accept_hover: "Click to accept the TPA!"
  accept_command: "/tpaccept"
  accept_color: "GREEN"

  deny_text: "[✖ Deny]"
  deny_hover: "Click to deny the TPA!"
  deny_command: "/tpdeny"
  deny_color: "RED"

help_messages:
  header: "<gold>--- SimpleTPA Commands ---"
  tpa: "<yellow>/tpa</yellow> <gray>[player] - Sends a TPA-Request to a Player."
  tpahere: "<yellow>/tpahere</yellow> <gray>[player] - Asks a Player to teleport to you."
  tpaccept: "<green>/tpaccept</green> <gray>[player] - Accepts a pending TPA-Request. Specify a Player if you have multiple."
  tpdeny: "<red>/tpdeny</red> <gray>[player] - Denies a pending TPA-Request. Specify a Player if you have multiple."
  tpacancel: "<yellow>/tpacancel</yellow> <gray>[player] - Cancels one of your pending outgoing TPA-Requests."
  tpatoggle: "<yellow>/tpatoggle</yellow> <gray>- Toggles whether you can receive TPA-Requests."
  tphere: "<yellow>/tphere</yellow> <gray>[player] - Force-teleports a Player to you. (Staff)"
  tpo: "<yellow>/tpo</yellow> <gray>[player] - Teleports you to an offline Player's last known location. (Staff)"
  version: "<yellow>/tpa version</yellow> <gray>- Shows the current plugin version and update status."
  help: "<yellow>/tpa help</yellow> <gray>- Shows this help message."
  tpreload: "<yellow>/tpreload</yellow> <gray>- Reloads the plugin configuration."
German Translation for config.yml(paper 1.6)
settings:
  tpa_cooldown: 30 # Abklingzeit in Sekunden, bevor ein Spieler eine weitere TPA-Anfrage senden kann.
  tpa_request_timeout: 60 # Zeit in Sekunden, bis eine TPA-Anfrage abläuft.
  check_for_updates: true # Überprüft alle 12 Stunden auf Modrinth, ob eine neue Version verfügbar ist.
  modrinth_project_slug: "simpletpaplugin" # Modrinth-Projekt-Slug für Update-Benachrichtigungen.
  use_placeholderapi_formatting: true # Formatiert Spielernamen in Nachrichten mit PlaceholderAPI. Erfordert, dass PlaceholderAPI installiert ist.
  player_display_format: "§6%luckperms_prefix% §8| %player%" # Format für Spielernamen in Nachrichten. %luckperms_prefix% erfordert PlaceholderAPI und LuckPerms.
  teleport_warmup_enabled: false # Wenn aktiviert, muss der Anfragende nach Annahme der TPA-Anfrage für eine festgelegte Zeit stillstehen, bevor er teleportiert wird.
  teleport_warmup_seconds: 5 # Zeit in Sekunden, die der Anfragende stillstehen muss, bevor er teleportiert wird. Wird nur verwendet, wenn teleport_warmup_enabled aktiviert ist.
  allow_multiple_requests: true # Wenn aktiviert, können Spieler gleichzeitig TPA-Anfragen an mehrere verschiedene Spieler senden und mehrere eingehende Anfragen gleichzeitig erhalten.
  suppress_usage_hint: true # Wenn aktiviert, wird der servereigene Verwendungshinweis "/tpa <player|version|help>" unter den Fehlermeldungen von SimpleTPA ausgeblendet.
  tpahere_enabled: true # Wenn aktiviert, können Spieler /tpahere verwenden, um einen anderen Spieler aufzufordern, sich zu ihnen zu teleportieren.
  tpahere_cooldown: 30 # Abklingzeit in Sekunden, bevor ein Spieler eine weitere TPA-Here-Anfrage senden kann.
  tpahere_request_timeout: 60 # Zeit in Sekunden, bis eine TPA-Here-Anfrage abläuft.
  tpo_enabled: true # Wenn aktiviert, können Teammitglieder /tpo verwenden, um sich zur letzten bekannten Position eines offline Spielers zu teleportieren.

sounds:
  tpa_request_sent: "entity.experience_orb.pickup"
  tpa_request_received: "entity.player.levelup"
  tpa_accept: "entity.enderman.teleport"
  tpa_deny: "entity.villager.no"
  tpa_expired: "entity.item.break"
  tpa_toggle_enabled: "block.note_block.bass"
  tpa_toggle_disabled: "block.note_block.pling"
  tpa_teleport_cancelled: "entity.villager.no"
  tpahere_request_sent: "entity.experience_orb.pickup"
  tpahere_request_received: "entity.player.levelup"

messages:
  tpa_request_sent: "Du hast eine TPA-Anfrage an %target% gesendet."
  tpa_request_received: "%player% hat dir eine TPA-Anfrage gesendet! /tpaccept oder /tpdeny"
  tpahere_request_sent: "Du hast eine TPA-Anfrage an %target% gesendet, damit sich der Spieler zu dir teleportiert."
  tpahere_request_received: "%player% hat dich aufgefordert, dich zu ihm zu teleportieren! /tpaccept oder /tpdeny"
  tpahere_disabled: "§cDer Befehl /tpahere ist derzeit deaktiviert."
  tpa_accept_success: "Du hast die TPA-Anfrage von %player% akzeptiert."
  tpa_accept_teleport: "Du wurdest von %player% teleportiert."
  tpa_teleport_warmup_started: "§eDu wirst in %seconds% Sekunden zu %player% teleportiert. Beweg dich nicht!"
  tpa_teleport_warmup_cancelled: "§cDie Teleportation zu %player% wurde abgebrochen, da du dich bewegt hast."
  tpa_deny_success: "Du hast die TPA-Anfrage von %player% abgelehnt."
  tpa_deny_notify: "%player% hat deine TPA-Anfrage abgelehnt."
  tpa_no_request: "Du hast keine ausstehenden TPA-Anfragen."
  tpa_request_exists: "Du hast bereits eine ausstehende TPA-Anfrage. Warte, bis diese akzeptiert, abgelehnt wurde oder abgelaufen ist, bevor du eine weitere sendest."
  tpa_request_exists_target: "Du hast bereits eine ausstehende TPA-Anfrage an diesen Spieler."
  tpa_no_request_from: "Du hast keine ausstehende TPA-Anfrage von %player%."
  tpa_no_request_to: "Du hast keine ausstehende TPA-Anfrage an %player%."
  tpa_multiple_requests: "Du hast mehrere ausstehende TPA-Anfragen: %players%. Nutze /tpaccept <Spieler> oder /tpdeny <Spieler>, um eine auszuwählen."
  tpa_multiple_requests_outgoing: "Du hast mehrere ausstehende ausgehende TPA-Anfragen: %players%. Nutze /tpacancel <Spieler>, um eine auszuwählen."
  player_not_online: "Dieser Spieler ist derzeit nicht online."
  player_only_command: "Dieser Befehl kann nur von Spielern verwendet werden."
  tpa_self_request: "Du kannst dir selbst keine TPA-Anfrage senden."
  wrong_usage: "Verwendung: /%command% <Spieler>"
  tpa_cancel_success: "Deine TPA-Anfrage wurde abgebrochen."
  tpa_cancel_notify: "%player% hat seine TPA-Anfrage abgebrochen."
  tpa_request_expired_sender: "Deine TPA-Anfrage an %target% ist abgelaufen."
  tpa_request_expired_receiver: "Die TPA-Anfrage von %player% ist abgelaufen."
  tpahere_request_expired_sender: "Deine TPA-Anfrage an %target%, sich zu dir zu teleportieren, ist abgelaufen."
  tpahere_request_expired_receiver: "Die TPA-Anfrage von %player%, sich zu dir zu teleportieren, ist abgelaufen."
  tpa_cooldown: "§eBitte warte %seconds% Sekunden, bevor du eine neue TPA-Anfrage sendest."
  config_reloaded: "§aDie Konfiguration wurde erfolgreich neu geladen."
  no_permission: "§cDu hast nicht die benötigten Berechtigungen, um diesen Befehl zu verwenden!"
  tpa_toggle_enabled: "§cDu erhältst nun keine TPA-Anfragen mehr."
  tpa_toggle_disabled: "§aDu kannst jetzt wieder TPA-Anfragen erhalten."
  tpa_target_not_accepting: "%target% akzeptiert derzeit keine TPA-Anfragen."
  version_info: "SimpleTPA Versionsinfo - Aktuell: %current% | Neueste: %latest% | %url%"
  update_available_console: "Eine neue Version (%version%) von SimpleTPA ist verfügbar! Download: %url%"
  update_available_player: "§eEine neue Version (%version%) von SimpleTPA ist verfügbar! §fDownload: %url%"
  tpa_debug_enabled: "§aDas TPA-Debug-Logging ist jetzt aktiviert."
  tpa_debug_disabled: "§7Das TPA-Debug-Logging ist jetzt deaktiviert."
  tphere_success: "§aDu hast %player% zu dir teleportiert."
  tphere_moved_notify: "§eDu wurdest zu %player% teleportiert."
  tpo_disabled: "§cDer Befehl /tpo ist derzeit deaktiviert."
  tpo_player_online: "%player% ist derzeit online. Verwende stattdessen /tpahere oder /tpa."
  tpo_no_data: "§cEs ist keine letzte bekannte Position von %player% verfügbar."
  tpo_success: "§aDu wurdest zur letzten bekannten Position von %player% teleportiert."

clickable_messages:
  accept_text: "[✔ Akzeptieren]"
  accept_hover: "Klicke, um die TPA-Anfrage zu akzeptieren!"
  accept_command: "/tpaccept"
  accept_color: "GREEN"

  deny_text: "[✖ Ablehnen]"
  deny_hover: "Klicke, um die TPA-Anfrage abzulehnen!"
  deny_command: "/tpdeny"
  deny_color: "RED"

help_messages:
  header: "§6--- SimpleTPA Befehle ---"
  tpa: "§e/tpa <Spieler> §7- Sendet eine TPA-Anfrage an einen Spieler."
  tpahere: "§e/tpahere <Spieler> §7- Bittet einen Spieler, sich zu dir zu teleportieren."
  tpaccept: "§e/tpaccept [Spieler] §7- Akzeptiert eine ausstehende TPA-Anfrage. Gib einen Spieler an, wenn du mehrere hast."
  tpdeny: "§e/tpdeny [Spieler] §7- Lehnt eine ausstehende TPA-Anfrage ab. Gib einen Spieler an, wenn du mehrere hast."
  tpacancel: "§e/tpacancel [Spieler] §7- Bricht eine deiner ausstehenden ausgehenden TPA-Anfragen ab."
  tpatoggle: "§e/tpatoggle §7- Schaltet um, ob du TPA-Anfragen erhalten kannst."
  tphere: "§e/tphere <Spieler> §7- Teleportiert einen Spieler zu dir. (Teammitglied)"
  tpo: "§e/tpo <Spieler> §7- Teleportiert dich zur letzten bekannten Position eines offline Spielers. (Teammitglied)"
  version: "§e/tpa version §7- Zeigt die aktuelle Plugin-Version und den Update-Status an."
  help: "§e/tpa help §7- Zeigt diese Hilfenachricht an."
  tpreload: "§e/tpreload §7- Lädt die Plugin-Konfiguration neu."

Have fun :)

Ченджлог

1.6Релиз26.1.1, 26.1.2, 26.2 · 11 августа 2026 г.

Added

  • /tpahere - Asks another Player to teleport to you
  • /tphere - force teleports another player to you
  • /tpo - Teleports you to the last (offline) location of another Player
  • Events for tpa send, accept, deny, cancel and expire events
  • /tpdebug Toggles console logging for those events.

Fixed/Improved

  • Improved how the Config-Loader handles things, when real syntax errors occur
1.6Релиз26.1.1, 26.1.2, 26.2 · 11 августа 2026 г.

Added

  • /tpahere - Asks another Player to teleport to you
  • /tphere - force teleports another player to you
  • /tpo - Teleports you to the last (offline) location of another Player
  • Events for tpa send, accept, deny, cancel and expire events
  • /tpdebug Toggles console logging for those events.

Fixed/Improved

  • Improved how the Config-Loader handles things, when real syntax-errors occur
1.5hfРелиз26.1.1, 26.1.2, 26.2 · 27 июля 2026 г.
  • fixed minimessage & placeholder parsing
  • changed default value of player_display_format to just %player% for fallback reasons.
  • added new suppress_usage_hint (default=true) to suprres any ""/tpa <player|version|help>"" messages
1.5hfРелиз26.1.1, 26.1.2, 26.2 · 27 июля 2026 г.
  • changed default value of player_display_format to just %player% for fallback reasons.
  • added new suppress_usage_hint (default=true) to suprres any ""/tpa <player|version|help>"" messages
1.5Релиз1.21.9, 1.21.10, 1.21.11 · 26 июля 2026 г.
  • PlaceholderAPI support in config.yml
  • MiniMessage support
  • New optional teleport_warmup options in config.yml (Player has to stand still before getting teleported)
  • Multiple TPA-Requests support (configurable in config.yml)
  • more Folia support (probably not fully functional but should be better than before)
  • bug fixes:
    • Config-migration reworked to also allow for top-level-section additions
    • You cant send a tpa to yourself any more
1.5Релиз26.1.1, 26.1.2, 26.2 · 26 июля 2026 г.
  • PlaceholderAPI support in config.yml
  • New optional teleport_warmup options in config.yml (Player has to stand still before getting teleported)
  • Multiple TPA-Requests support (configurable in config.yml)
  • bug fixes:
    • Config-migration reworked to also allow for top-level-section additions
    • You cant send a tpa to yourself any more
1.4hfРелиз26.1, 26.1.1, 26.1.2 · 17 мая 2026 г.
  • I am so sorry for the previos version! It had a fatal bug that would result in config.yml corruption! I fixed it, i am currently on vacation so i couldnt test it properly! This will not happen again!
1.4Релиз26.1, 26.1.1, 26.1.2 · 15 мая 2026 г.
  • fixed an issue with the Plugin overwriting config.yml on boot.

will work on Folia Support next!

Комментарии

Загружаем…