{"id":158791,"date":"2026-06-09T16:54:51","date_gmt":"2026-06-09T13:54:51","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/tpa-plus\/"},"modified":"2026-06-09T16:54:51","modified_gmt":"2026-06-09T13:54:51","slug":"tpa-plus","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/tpa-plus\/","title":{"rendered":"Tpa Plus"},"content":{"rendered":"<p># TPAPlugin<\/p>\n<p>A fully optimized, feature-rich TPA (Teleport Ask) plugin for **Paper, Folia Purpur &#038; More** servers with customizable GUIs, clickable messages, sound effects, proxy support, HEX color Support, and PlaceholderAPI integration.<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\ude80 Features<\/p>\n<p>&#8211; \u2705 **Paper &#038; Folia Compatible** \u2013 Fully optimized for both platforms<br \/>\n&#8211; \ud83c\udfa8 **Customizable GUIs** \u2013 **Three** fully configurable GUIs:<br \/>\n  &#8211; `tpa.yml` (single request)<br \/>\n  &#8211; `tpahere.yml` (teleport-here request)<br \/>\n  &#8211; `tpaaccept.yml` (request list)<br \/>\n  &#8211; `tpa-confirm.yml` (teleport-confirm menu)<br \/>\n&#8211; \u23f1\ufe0f **Configurable Teleport Delays**<br \/>\n&#8211; \ud83d\udd04 **Advanced Request Management** \u2013 Accept, deny, cancel &#038; expire requests<br \/>\n&#8211; \ud83d\udeab **Toggle System** \u2013 Players can disable TPA \/ TPAHere requests \/ TPA confirm menu<br \/>\n&#8211; \ud83e\udd16 **Auto-Accept Mode**<br \/>\n&#8211; \ud83c\udf10 **Proxy Support** \u2013 Velocity \/ BungeeCord compatible with server blacklist<br \/>\n&#8211; \ud83d\udcca **PlaceholderAPI Support**<br \/>\n&#8211; \ud83d\udcbe **Persistent Player Data**<br \/>\n&#8211; \ud83d\udee1\ufe0f **Teleport Cancellation** \u2013 Cancel on move or damage<br \/>\n&#8211; \ud83d\uddb1\ufe0f **Clickable Chat Messages** \u2013 Accept \/ Deny directly from chat<br \/>\n&#8211; \ud83d\udd0a **Configurable Sounds** \u2013 Full sound control for all actions<br \/>\n&#8211; \ud83d\udcdd **Fully Configurable Messages**<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udccb Commands<\/p>\n<p>| Command | Description | Permission |<br \/>\n|&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;|<br \/>\n| `\/tpa <player>` | Send a teleport request | `tpaplugin.tpa` |<br \/>\n| `\/tpahere <player>` | Request player to teleport to you | `tpaplugin.tpahere` |<br \/>\n| `\/tpaaccept [player]` | Accept request or open GUI | `tpaplugin.tpaaccept` |<br \/>\n| `\/tpadeny [player]` | Deny teleport request | `tpaplugin.tpadeny` |<br \/>\n| `\/tpacancel <player>` | Cancel your request | `tpaplugin.tpacancel` |<br \/>\n| `\/tpatoggle` | Toggle receiving TPA requests | `tpaplugin.tpatoggle` |<br \/>\n| `\/tpaheretoggle` | Toggle receiving TPAHere requests | `tpaplugin.tpaheretoggle` |<br \/>\n| `\/tpaconfirmtoggle` | Toggle TPA confirm menu | `tpaplugin.confirmtoggle` |<br \/>\n| `\/tpauto` | Toggle auto-accept | `tpaplugin.tpauto` |<br \/>\n| `\/tpareload` | Reload config &#038; GUIs | `tpaplugin.reload` |<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udd11 Permissions<\/p>\n<p>&#8220;`yaml<br \/>\ntpaplugin.*              # All permissions (OP)<br \/>\ntpaplugin.tpa            # Send TPA requests<br \/>\ntpaplugin.tpahere        # Send TPAHere requests<br \/>\ntpaplugin.tpaaccept      # Accept requests<br \/>\ntpaplugin.tpadeny        # Deny requests<br \/>\ntpaplugin.tpacancel      # Cancel requests<br \/>\ntpaplugin.tpatoggle      # Toggle TPA<br \/>\ntpaplugin.tpaheretoggle  # Toggle TPAHere<br \/>\ntpaplugin.tpauto         # Auto-accept<br \/>\ntpaplugin.reload         # Reload plugin<br \/>\ntpaplugin.confirmtoggle    # Toggle TPA Confirm Menu<br \/>\n&#8220;` <\/p>\n<p>## \ud83d\udcca PlaceholderAPI Placeholders<\/p>\n<p>| Placeholder | Description | Output |<br \/>\n|&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8211;|<br \/>\n| `%tpa_tpastatus%` | Shows if TPA is enabled | ON\/OFF |<br \/>\n| `%tpa_tpaherestatus%` | Shows if TPA here is enabled | ON\/OFF |<br \/>\n| `%tpa_tpautostatus%` | Shows if auto-accept is enabled | ON\/OFF |<br \/>\n| `%tpa_confirmmenustatus%` | Shows if TPA here is enabled | ON\/OFF |<br \/>\n| `%tpa_pendingrequests%` | Number of pending requests | Number |<\/p>\n<p>## \u2699\ufe0f Configuration<\/p>\n<p>### config.yml<\/p>\n<p>&#8220;`yaml<br \/>\nteleport-delay: 5<br \/>\nrequest-expire-time: 60<br \/>\nteleport-on-accept: true<br \/>\ncancel-on-move: true<br \/>\ncancel-on-damage: true<\/p>\n<p>proxy:<br \/>\n  enabled: false<br \/>\n  server-blacklist:<br \/>\n  &#8211; lobby<br \/>\n  &#8211; hub<\/p>\n<p>world-aliases:<br \/>\n  world: &#8220;Overworld&#8221;<br \/>\n  afk3: &#8220;AFK AREA&#8221;<br \/>\n  world_nether: &#8220;Nether&#8221;<\/p>\n<p>messages:<br \/>\n  prefix: &#8216;&#038;8[&#038;9\u2726&#038;b\u1d1b\u1d18\u1d00&#038;5\u2726&#038;8] &#038;r&#8217;<\/p>\n<p>  tpa-sent: &#8216;&#038;b\u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b \u0280\u1d07\u01eb\u1d1c\u1d07\u0455\u1d1b \ua731\u1d07\u0274\u1d1b \u1d1b\u1d0f &#038;9{player}&#038;b.&#8217;<br \/>\n  tpa-received: &#8216;&#038;9{player} &#038;b\u029c\u1d00\u0455 \ua731\u1d07\u0274\u1d1b \u028f\u1d0f\u1d1c \u1d00 \u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b \u0280\u1d07\u01eb\u1d1c\u1d07\u0455\u1d1b.&#8217;<\/p>\n<p>  tpahere-sent: &#8216;&#038;b\u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b-\u029c\u1d07\u0280\u1d07 \u0280\u1d07\u01eb\u1d1c\u1d07\u0455\u1d1b \ua731\u1d07\u0274\u1d1b \u1d1b\u1d0f &#038;9{player}&#038;b.&#8217;<br \/>\n  tpahere-received: &#8216;&#038;9{player} &#038;b\u1d21\u1d00\u0274\u1d1b\u0455 \u028f\u1d0f\u1d1c \u1d1b\u1d0f \u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b \u1d1b\u1d0f \u1d1b\u029c\u1d07\u1d0d.&#8217;<\/p>\n<p>  request-accepted: &#8216;&#038;b\u028f\u1d0f\u1d1c \u1d00\u1d04\u1d04\u1d07\u1d18\u1d1b\u1d07\u1d05 &#038;9{player}&#038;b\u2019\u0455 \u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b \u0280\u1d07\u01eb\u1d1c\u1d07\u0455\u1d1b.&#8217;<br \/>\n  request-denied: &#8216;&#038;c\u028f\u1d0f\u1d1c \u1d05\u1d07\u0274\u026a\u1d07\u1d05 &#038;9{player}&#038;c\u2019\u0455 \u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b \u0280\u1d07\u01eb\u1d1c\u1d07\u0455\u1d1b.&#8217;<\/p>\n<p>  request-accepted-receiver: &#8216;&#038;b\u028f\u1d0f\u1d1c \u1d00\u1d04\u1d04\u1d07\u1d18\u1d1b\u1d07\u1d05 &#038;9{player}&#038;b\u2019\u0455 \u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b \u0280\u1d07\u01eb\u1d1c\u1d07\u0455\u1d1b.&#8217;<br \/>\n  request-accepted-sender: &#8216;&#038;9{player} &#038;b\u029c\u1d00\u0455 &#038;a\u1d00\u1d04\u1d04\u1d07\u1d18\u1d1b\u1d07\u1d05 &#038;b\u028f\u1d0f\u1d1c\u0280 \u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b \u0280\u1d07\u01eb\u1d1c\u1d07\u0455\u1d1b.&#8217;<\/p>\n<p>  request-denied-receiver: &#8216;&#038;c\u028f\u1d0f\u1d1c \u1d05\u1d07\u0274\u026a\u1d07\u1d05 &#038;9{player}&#038;c\u2019\u0455 \u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b \u0280\u1d07\u01eb\u1d1c\u1d07\u0455\u1d1b.&#8217;<br \/>\n  request-denied-sender: &#8216;&#038;9{player} &#038;c\u029c\u1d00\u0455 \u1d05\u1d07\u0274\u026a\u1d07\u1d05 &#038;c\u028f\u1d0f\u1d1c\u0280 \u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b \u0280\u1d07\u01eb\u1d1c\u1d07\u0455\u1d1b.&#8217;<\/p>\n<p>  request-cancelled: &#8216;&#038;c\u028f\u1d0f\u1d1c \u1d04\u1d00\u0274\u1d04\u1d07\u029f\u029f\u1d07\u1d05 \u028f\u1d0f\u1d1c\u0280 \u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b \u0280\u1d07\u01eb\u1d1c\u1d07\u0455\u1d1b \u1d1b\u1d0f &#038;9{player}&#038;c.&#8217;<br \/>\n  request-expired: &#8216;&#038;c\u028f\u1d0f\u1d1c\u0280 \u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b \u0280\u1d07\u01eb\u1d1c\u1d07\u0455\u1d1b \u1d1b\u1d0f &#038;9{player} &#038;c\u029c\u1d00\u0455 \u1d07x\u1d18\u026a\u0280\u1d07\u1d05.&#8217;<\/p>\n<p>  no-pending-requests: &#8216;&#038;c\u028f\u1d0f\u1d1c \u029c\u1d00\u1d20\u1d07 \u0274\u1d0f \u1d18\u1d07\u0274\u1d05\u026a\u0274\u0262 \u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b \u0280\u1d07\u01eb\u1d1c\u1d07\u0455\u1d1b\u0455.&#8217;<\/p>\n<p>  teleporting-in: &#8216;&#038;b\u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b\u026a\u0274\u0262 \u026a\u0274 &#038;9{seconds}&#038;b \ua731\u1d07\u1d04\u1d0f\u0274\u1d05\u0455&#8230;&#8217;<br \/>\n  teleported: &#8216;&#038;b\u028f\u1d0f\u1d1c \u029c\u1d00\u1d20\u1d07 \u0299\u1d07\u1d07\u0274 &#038;9\ua731\u1d1c\u1d04\u1d04\u1d07\ua731\ua731\ua730\u1d1c\u029f\u029f\u028f \u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b\u1d07\u1d05&#038;b!&#8217;<\/p>\n<p>  teleport-cancelled-move: &#8216;&#038;c\u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b \u1d04\u1d00\u0274\u1d04\u1d07\u029f\u029f\u1d07\u1d05 &#038;8(&#038;7\u028f\u1d0f\u1d1c \u1d0d\u1d0f\u1d20\u1d07\u1d05&#038;8)&#8217;<br \/>\n  teleport-cancelled-damage: &#8216;&#038;c\u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b \u1d04\u1d00\u0274\u1d04\u1d07\u029f\u029f\u1d07\u1d05 &#038;8(&#038;7\u028f\u1d0f\u1d1c \u1d1b\u1d0f\u1d0f\u1d0b \u1d05\u1d00\u1d0d\u1d00\u0262\u1d07&#038;8)&#8217;<\/p>\n<p>  player-not-found: &#8216;&#038;c\u1d18\u029f\u1d00\u028f\u1d07\u0280 \u0274\u1d0f\u1d1b \ua730\u1d0f\u1d1c\u0274\u1d05.&#8217;<br \/>\n  cannot-tpa-yourself: &#8216;&#038;c\u028f\u1d0f\u1d1c \u1d04\u1d00\u0274\u0274\u1d0f\u1d1b \u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b \u1d1b\u1d0f \u028f\u1d0f\u1d1c\u0280\ua731\u1d07\u029f\ua730.&#8217;<br \/>\n  player-offline: &#8216;&#038;c\u1d1b\u029c\u1d00\u1d1b \u1d18\u029f\u1d00\u028f\u1d07\u0280 \u026a\u0455 \u1d04\u1d1c\u0280\u0280\u1d07\u0274\u1d1b\u029f\u028f \u1d0f\ua730\ua730\u029f\u026a\u0274\u1d07.&#8217;<\/p>\n<p>  tpa-disabled: &#8216;&#038;9{player} &#038;c\u029c\u1d00\u0455 \u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b \u0280\u1d07\u01eb\u1d1c\u1d07\u0455\u1d1b\u0455 \u1d05\u026a\u0455\u1d00\u0299\u029f\u1d07\u1d05.&#8217;<br \/>\n  tpahere-disabled: &#8216;&#038;9{player} &#038;c\u029c\u1d00\u0455 \u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b-\u029c\u1d07\u0280\u1d07 \u0280\u1d07\u01eb\u1d1c\u1d07\u0455\u1d1b\u0455 \u1d05\u026a\u0455\u1d00\u0299\u029f\u1d07\u1d05.&#8217;<\/p>\n<p>  tpa-toggled-on: &#8216;&#038;b\u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b \u0280\u1d07\u01eb\u1d1c\u1d07\u0455\u1d1b\u0455 \u1d00\u0280\u1d07 \u0274\u1d0f\u1d21 &#038;9\u1d07\u0274\u1d00\u0299\u029f\u1d07\u1d05&#038;b.&#8217;<br \/>\n  tpa-toggled-off: &#8216;&#038;c\u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b \u0280\u1d07\u01eb\u1d1c\u1d07\u0455\u1d1b\u0455 \u1d00\u0280\u1d07 \u0274\u1d0f\u1d21 &#038;7\u1d05\u026a\u0455\u1d00\u0299\u029f\u1d07\u1d05&#038;c.&#8217;<\/p>\n<p>  tpahere-toggled-on: &#8216;&#038;b\u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b-\u029c\u1d07\u0280\u1d07 \u0280\u1d07\u01eb\u1d1c\u1d07\u0455\u1d1b\u0455 \u1d00\u0280\u1d07 \u0274\u1d0f\u1d21 &#038;9\u1d07\u0274\u1d00\u0299\u029f\u1d07\u1d05&#038;b.&#8217;<br \/>\n  tpahere-toggled-off: &#8216;&#038;c\u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b-\u029c\u1d07\u0280\u1d07 \u0280\u1d07\u01eb\u1d1c\u1d07\u0455\u1d1b\u0455 \u1d00\u0280\u1d07 \u0274\u1d0f\u1d21 &#038;7\u1d05\u026a\u0455\u1d00\u0299\u029f\u1d07\u1d05&#038;c.&#8217;<\/p>\n<p>  tpauto-enabled: &#8216;&#038;b\u1d00\u1d1c\u1d1b\u1d0f-\u1d00\u1d04\u1d04\u1d07\u1d18\u1d1b \u026a\u0455 \u0274\u1d0f\u1d21 &#038;9\u1d07\u0274\u1d00\u0299\u029f\u1d07\u1d05&#038;b.&#8217;<br \/>\n  tpauto-disabled: &#8216;&#038;c\u1d00\u1d1c\u1d1b\u1d0f-\u1d00\u1d04\u1d04\u1d07\u1d18\u1d1b \u026a\u0455 \u0274\u1d0f\u1d21 &#038;7\u1d05\u026a\u0455\u1d00\u0299\u029f\u1d07\u1d05&#038;c.&#8217;<\/p>\n<p>  already-have-request: &#8216;&#038;c\u028f\u1d0f\u1d1c \u1d00\u029f\u0280\u1d07\u1d00\u1d05\u028f \u029c\u1d00\u1d20\u1d07 \u1d00 \u1d18\u1d07\u0274\u1d05\u026a\u0274\u0262 \u0280\u1d07\u01eb\u1d1c\u1d07\u0455\u1d1b \u1d21\u026a\u1d1b\u029c \u1d1b\u029c\u026a\u0455 \u1d18\u029f\u1d00\u028f\u1d07\u0280.&#8217;<br \/>\n  config-reloaded: &#8216;&#038;b\u1d04\u1d0f\u0274\ua730\u026a\u0262\u1d1c\u0280\u1d00\u1d1b\u026a\u1d0f\u0274 \u0280\u1d07\u029f\u1d0f\u1d00\u1d05\u1d07\u1d05 &#038;9\ua731\u1d1c\u1d04\u1d04\u1d07\ua731\ua731\ua730\u1d1c\u029f\u029f\u028f&#038;b.&#8217;<br \/>\n  no-permission: &#8216;&#038;c\u028f\u1d0f\u1d1c \u1d05\u1d0f \u0274\u1d0f\u1d1b \u029c\u1d00\u1d20\u1d07 \u1d18\u1d07\u0280\u1d0d\u026a\ua731\ua731\u026a\u1d0f\u0274 \u1d1b\u1d0f \u1d1c\ua731\u1d07 \u1d1b\u029c\u026a\ua731 \u1d04\u1d0f\u1d0d\u1d0d\u1d00\u0274\u1d05.&#8217;<br \/>\n  blacklisted-server: &#8216;&#038;c\u028f\u1d0f\u1d1c \u1d04\u1d00\u0274\u0274\u1d0f\u1d1b \u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b \u1d1b\u1d0f \u1d18\u029f\u1d00\u028f\u1d07\u0280\u0455 \u1d0f\u0274 \u1d1b\u029c\u1d00\u1d1b \ua731\u1d07\u0280\u1d20\u1d07\u0280.&#8217;<\/p>\n<p>  tpa-confirm-enabled: &#8216;&#038;b\u1d1b\u1d18\u1d00 \u1d04\u1d0f\u0274\ua730\u026a\u0280\u1d0d \u1d0d\u1d07\u0274\u1d1c \u026a\u0455 \u0274\u1d0f\u1d21 &#038;a\u1d07\u0274\u1d00\u0299\u029f\u1d07\u1d05&#038;b.&#8217;<br \/>\n  tpa-confirm-disabled: &#8216;&#038;b\u1d1b\u1d18\u1d00 \u1d04\u1d0f\u0274\ua730\u026a\u0280\u1d0d \u1d0d\u1d07\u0274\u1d1c \u026a\u0455 \u0274\u1d0f\u1d21 &#038;c\u1d05\u026a\u0455\u1d00\u0299\u029f\u1d07\u1d05&#038;b.&#8217;<\/p>\n<p>click:<br \/>\n  accept:<br \/>\n    text: &#8216;&#038;a[\u2714 \u1d00\u1d04\u1d04\u1d07\u1d18\u1d1b]&#8217;<br \/>\n    hover: &#8216;&#038;7\u1d04\u029f\u026a\u1d04\u1d0b \u1d1b\u1d0f \u1d00\u1d04\u1d04\u1d07\u1d18\u1d1b \u1d1b\u029c\u1d07 \u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b \u0280\u1d07\u01eb\u1d1c\u1d07\u0455\u1d1b&#8217;<br \/>\n    command: \/tpaaccept {player}<\/p>\n<p>  deny:<br \/>\n    text: &#8216;&#038;c[\u2716 \u1d05\u1d07\u0274\u028f]&#8217;<br \/>\n    hover: &#8216;&#038;7\u1d04\u029f\u026a\u1d04\u1d0b \u1d1b\u1d0f \u1d05\u1d07\u0274\u028f \u1d1b\u029c\u1d07 \u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b \u0280\u1d07\u01eb\u1d1c\u1d07\u0455\u1d1b&#8217;<br \/>\n    command: \/tpadeny {player}<\/p>\n<p>sounds:<br \/>\n  tpa_request_sent: ENTITY_EXPERIENCE_ORB_PICKUP<br \/>\n  tpa_request_received: ENTITY_PLAYER_LEVELUP<br \/>\n  tpa_accept: ENTITY_ENDERMAN_TELEPORT<br \/>\n  tpa_deny: ENTITY_VILLAGER_NO<br \/>\n  tpa_expired: ENTITY_ITEM_BREAK<br \/>\n  tpa_toggle_enabled: BLOCK_NOTE_BLOCK_BASS<br \/>\n  tpa_toggle_disabled: BLOCK_NOTE_BLOCK_PLING<br \/>\n&#8220;`<\/p>\n<p>### GUI\/tpa.yml<\/p>\n<p>&#8220;`yaml<br \/>\ntitle: &#8216;&#038;8\u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b \u0280\u1d07\u01eb\u1d1c\u1d07\u0455\u1d1b&#8217;<br \/>\nsize: 27<br \/>\nitems:<br \/>\n  accept:<br \/>\n    slot: 15<br \/>\n    material: LIME_STAINED_GLASS_PANE<br \/>\n    name: &#8216;&#038;a&#038;l\u1d00\u1d04\u1d04\u1d07\u1d18\u1d1b&#8217;<br \/>\n  deny:<br \/>\n    slot: 11<br \/>\n    material: RED_STAINED_GLASS_PANE<br \/>\n    name: &#8216;&#038;c&#038;l\u1d05\u1d07\u0274\u028f&#8217;<br \/>\n  player-head:<br \/>\n    slot: 13<br \/>\n    name: &#8216;&#038;e{player}&#8217;<br \/>\n    lore:<br \/>\n    &#8211; &#8216;{request_type}&#8217;<br \/>\n    &#8211; &#8216;&#038;7\ua730\u029f\u026a\u0262\u029c\u1d1b: {flight_status}&#8217;<br \/>\n    &#8211; &#8221;<br \/>\n    &#8211; &#8216;&#038;7\u1d07x\u1d18\u026a\u0280\u1d07\u0455 \u026a\u0274: &#038;e{time}\u0455&#8217;<br \/>\n    &#8211; &#8216;&#038;7\u029f\u1d0f\u1d04\u1d00\u1d1b\u026a\u1d0f\u0274: &#038;f{world}&#8217;<br \/>\n&#8220;`<\/p>\n<p>### GUI\/tpahere.yml<\/p>\n<p>&#8220;`yaml<br \/>\ntitle: &#8216;&#038;8\u1d1b\u1d07\u029f\u1d07\u1d18\u1d0f\u0280\u1d1b \u029c\u1d07\u0280\u1d07 \u0280\u1d07\u01eb\u1d1c\u1d07\u0455\u1d1b&#8217;<br \/>\nsize: 27<br \/>\nitems:<br \/>\n  accept:<br \/>\n    slot: 15<br \/>\n    material: LIME_STAINED_GLASS_PANE<br \/>\n    name: &#8216;&#038;a&#038;l\u1d00\u1d04\u1d04\u1d07\u1d18\u1d1b&#8217;<br \/>\n  deny:<br \/>\n    slot: 11<br \/>\n    material: RED_STAINED_GLASS_PANE<br \/>\n    name: &#8216;&#038;c&#038;l\u1d05\u1d07\u0274\u028f&#8217;<br \/>\n  player-head:<br \/>\n    slot: 13<br \/>\n    name: &#8216;&#038;e{player}&#8217;<br \/>\n    lore:<br \/>\n    &#8211; &#8216;{request_type}&#8217;<br \/>\n    &#8211; &#8216;&#038;7\ua730\u029f\u026a\u0262\u029c\u1d1b: {flight_status}&#8217;<br \/>\n    &#8211; &#8221;<br \/>\n    &#8211; &#8216;&#038;7\u1d07x\u1d18\u026a\u0280\u1d07\u0455 \u026a\u0274: &#038;e{time}\u0455&#8217;<br \/>\n    &#8211; &#8216;&#038;7\u029f\u1d0f\u1d04\u1d00\u1d1b\u026a\u1d0f\u0274: &#038;f{world}&#8217;<br \/>\n&#8220;`<\/p>\n<p>### GUI\/tpaaccept.yml<\/p>\n<p>&#8220;`yaml<br \/>\ntitle: &#8216;&#038;8\u1d18\u1d07\u0274\u1d05\u026a\u0274\u0262 \u0280\u1d07\u01eb\u1d1c\u1d07\u0455\u1d1b\u0455&#8217;<br \/>\nsize: 54<br \/>\nrequest-item:<br \/>\n  name: &#8216;&#038;e{player}&#8217;<br \/>\n  lore:<br \/>\n  &#8211; &#8216;{request_type}&#8217;<br \/>\n  &#8211; &#8216;&#038;7\ua730\u029f\u026a\u0262\u029c\u1d1b: {flight_status}&#8217;<br \/>\n  &#8211; &#8216;&#038;7\u029f\u1d0f\u1d04\u1d00\u1d1b\u026a\u1d0f\u0274: &#038;f{world}&#8217;<br \/>\n  &#8211; &#8216;&#038;7\u1d1b\u026a\u1d0d\u1d07 \u029f\u1d07\ua730\u1d1b: &#038;e{time}\u0455&#8217;<br \/>\n  &#8211; &#8221;<br \/>\n  &#8211; &#8216;&#038;a\u029f\u1d07\ua730\u1d1b-\u1d04\u029f\u026a\u1d04\u1d0b &#038;7\u1d1b\u1d0f \u1d00\u1d04\u1d04\u1d07\u1d18\u1d1b&#8217;<br \/>\n  &#8211; &#8216;&#038;c\u0280\u026a\u0262\u029c\u1d1b-\u1d04\u029f\u026a\u1d04\u1d0b &#038;7\u1d1b\u1d0f \u1d05\u1d07\u0274\u028f&#8217;<br \/>\n&#8220;`<\/p>\n<p>### GUI\/tpa-confirm.yml<\/p>\n<p>&#8220;`yaml<br \/>\ntpa-confirm-menu:<br \/>\n  enabled-by-default: true<br \/>\ntitle: &#8216;&#038;8\u1d1b\u1d18\u1d00 \u1d04\u1d0f\u0274\ua730\u026a\u0280\u1d0d&#8217;<br \/>\nsize: 27<br \/>\nplayer-head:<br \/>\n  slot: 13<br \/>\n  name: &#8216;&#038;b{player}&#8217;<br \/>\n  lore:<br \/>\n  &#8211; &#8216;&#038;7\ua730\u029f\u026a\u0262\u029c\u1d1b: {flight_status}&#8217;<br \/>\n  &#8211; &#8216;&#038;7\u029f\u1d0f\u1d04\u1d00\u1d1b\u026a\u1d0f\u0274: &#038;f{world}&#8217;<br \/>\nconfirm:<br \/>\n  slot: 15<br \/>\n  material: LIME_STAINED_GLASS_PANE<br \/>\n  name: &#8216;&#038;a\u1d04\u1d0f\u0274\ua730\u026a\u0280\u1d0d&#8217;<br \/>\ndeny:<br \/>\n  slot: 11<br \/>\n  material: RED_STAINED_GLASS_PANE<br \/>\n  name: &#8216;&#038;c\u1d04\u1d00\u0274\u1d04\u1d07\u029f&#8217;<br \/>\n&#8220;`<\/p>\n<p>### Installing on Server<\/p>\n<p>1. **Download** or build the plugin JAR<br \/>\n2. **Place** the JAR file in your server&#8217;s `plugins\/` folder<br \/>\n3. **Restart** your server<br \/>\n4. **Configure** the plugin:<br \/>\n   &#8211; Edit `plugins\/TPAPlugin\/config.yml`<br \/>\n   &#8211; Edit `plugins\/TPAPlugin\/GUI\/tpa.yml`<br \/>\n   &#8211; Edit `plugins\/TPAPlugin\/GUI\/tpahere.yml`<br \/>\n   &#8211; Edit `plugins\/TPAPlugin\/GUI\/tpaaccept.yml`<br \/>\n   &#8211; Edit `plugins\/TPAPlugin\/GUI\/tpa-confirm.yml`<br \/>\n5. **Reload** using `\/tpareload` or restart the server<\/p>\n<p>## \ud83c\udf10 Proxy Support<\/p>\n<p>### Enabling Proxy Mode<\/p>\n<p>1. Set `proxy.enabled: true` in `config.yml`<br \/>\n2. Configure `server-blacklist` to prevent teleports to specific servers<br \/>\n3. Ensure plugin is installed on **all** servers in your network<\/p>\n<p>### Server Blacklist<\/p>\n<p>Players cannot teleport to\/from servers in the blacklist:<\/p>\n<p>&#8220;`yaml<br \/>\nproxy:<br \/>\n  enabled: true<br \/>\n  server-blacklist:<br \/>\n    &#8211; lobby<br \/>\n    &#8211; hub<br \/>\n    &#8211; minigames<br \/>\n&#8220;`<\/p>\n<p>## \u26a1 Performance Optimizations<\/p>\n<p>&#8211; **Concurrent Hash Maps** for thread-safe data storage<br \/>\n&#8211; **Asynchronous file I\/O** for player data<br \/>\n&#8211; **Efficient request expiration** with scheduled tasks<br \/>\n&#8211; **Memory-optimized** GUI rendering<br \/>\n&#8211; **Minimal packet sending** for better network performance<br \/>\n&#8211; **Folia-compatible** scheduling for multi-threaded chunk loading<\/p>\n<p>## \ud83e\udd1d Support<\/p>\n<p>For issues, suggestions, or contributions:<br \/>\n&#8211; Contact SOULESS STUDIOS<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A fully optimized, feature-rich TPA (Teleport Ask) plugin for Paper, Folia Purpur &#038; More servers with customizable GUIs, clickable messages, sound effects, proxy support, HEX color Support, and PlaceholderAPI integration.<\/p>\n","protected":false},"featured_media":158792,"template":"","meta":{"_minecraft_slug":"tpa-plus","_minecraft_project_id":"cAKWMnas","_minecraft_author":"studiossouless","_minecraft_license":"LicenseRef-All-Rights-Reserved","_minecraft_downloads":533,"_minecraft_follows":2,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"tpa-plus.zip","_minecraft_size_bytes":54264,"_minecraft_version_count":1,"_minecraft_updated_at":"2026-05-16T10:30:02.744450Z","_minecraft_date_created":"2026-01-25T21:18:46.422355Z","_minecraft_date_modified":"2026-01-21T08:57:31.726841Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/tpa-plus","_minecraft_icon_attachment_id":158792,"_minecraft_imported_at":"2026-06-09T13:54:51+00:00","_minecraft_import_hash":"af571a6df2bffd810f8f8665c521ad41","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[125,127,128,129],"mod_loader":[131,132,133,134],"minecraft_version":[49,50,51,52,53,54,55,56,57,58,59,36,60,93,94,101,102,62,37,40,41,73,74,38,78,79,80,81,82],"class_list":["post-158791","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-folia","mod_category-paper","mod_category-purpur","mod_category-spigot","mod_loader-folia","mod_loader-paper","mod_loader-purpur","mod_loader-spigot","minecraft_version-1-17","minecraft_version-1-17-1","minecraft_version-1-18","minecraft_version-1-18-1","minecraft_version-1-18-2","minecraft_version-1-19","minecraft_version-1-19-1","minecraft_version-1-19-2","minecraft_version-1-19-3","minecraft_version-1-19-4","minecraft_version-1-20","minecraft_version-1-20-1","minecraft_version-1-20-2","minecraft_version-1-20-3","minecraft_version-1-20-4","minecraft_version-1-20-5","minecraft_version-1-20-6","minecraft_version-1-21","minecraft_version-1-21-1","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-2","minecraft_version-1-21-3","minecraft_version-1-21-4","minecraft_version-1-21-5","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tpa Plus - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/tpa-plus\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tpa Plus - Minecraft\" \/>\n<meta property=\"og:description\" content=\"A fully optimized, feature-rich TPA (Teleport Ask) plugin for Paper, Folia Purpur &amp; More servers with customizable GUIs, clickable messages, sound effects, proxy support, HEX color Support, and PlaceholderAPI integration.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/tpa-plus\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/tpa-plus\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/tpa-plus\\\/\",\"name\":\"Tpa Plus - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/tpa-plus\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/tpa-plus\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/tpa-plus-icon-f6e2e26bb6103e3a8e488a22c7a1686578b92d68_96.webp\",\"datePublished\":\"2026-06-09T13:54:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/tpa-plus\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/tpa-plus\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/tpa-plus\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/tpa-plus-icon-f6e2e26bb6103e3a8e488a22c7a1686578b92d68_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/tpa-plus-icon-f6e2e26bb6103e3a8e488a22c7a1686578b92d68_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/tpa-plus\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Tpa Plus\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tpa Plus - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/tpa-plus\/","og_locale":"en_US","og_type":"article","og_title":"Tpa Plus - Minecraft","og_description":"A fully optimized, feature-rich TPA (Teleport Ask) plugin for Paper, Folia Purpur & More servers with customizable GUIs, clickable messages, sound effects, proxy support, HEX color Support, and PlaceholderAPI integration.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/tpa-plus\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/tpa-plus\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/tpa-plus\/","name":"Tpa Plus - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/tpa-plus\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/tpa-plus\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/tpa-plus-icon-f6e2e26bb6103e3a8e488a22c7a1686578b92d68_96.webp","datePublished":"2026-06-09T13:54:51+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/tpa-plus\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/tpa-plus\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/tpa-plus\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/tpa-plus-icon-f6e2e26bb6103e3a8e488a22c7a1686578b92d68_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/tpa-plus-icon-f6e2e26bb6103e3a8e488a22c7a1686578b92d68_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/tpa-plus\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"Tpa Plus"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/158791","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/158792"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=158791"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=158791"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=158791"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=158791"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}