{"id":82203,"date":"2026-06-04T20:17:12","date_gmt":"2026-06-04T17:17:12","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/hosh-tpa\/"},"modified":"2026-06-04T20:17:12","modified_gmt":"2026-06-04T17:17:12","slug":"hosh-tpa","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/hosh-tpa\/","title":{"rendered":"HOSH Tpa"},"content":{"rendered":"<p># HOSH TPA<\/p>\n<p>A lightweight, feature-rich teleport-request plugin for Spigot servers. Send, accept, and deny `\/tpa` and `\/tpahere` requests with a polished GUI, clickable chat actions, titles, sounds, and configurable timeouts.<\/p>\n<p>&#8212;<\/p>\n<p>## Requirements<\/p>\n<p>&#8211; **Paper** (or compatible) \u2014 **1.19.x \/ 1.20.x \/ 1.21.x**<br \/>\n&#8211; **Java 17+**<br \/>\n&#8211; **Hosh Loader (mandatory)** \u2014 This plugin **will not stay enabled** without it. If `HoshLoader.jar` is missing, HOSH TPA disables itself and **server operators** get a message on join. Use **`\/hosh tpa reload`** (via Hosh Loader) to reload this plugin after config changes.<br \/>\n&#8211; **Auto updates via loader** \u2014 Use `\/hosh update all` to prepare newest compatible HOSH plugin updates for next restart.<\/p>\n<p>## Downloads<\/p>\n<p>| | Modrinth |<br \/>\n|&#8212;|&#8212;&#8212;&#8212;-|<br \/>\n| **Hosh Loader** (install first) | Download Hosh Loader |<br \/>\n| **HOSH TPA** (this plugin) | Download HOSH TPA |<\/p>\n<p>&#8212;<\/p>\n<p>## Features<\/p>\n<p>&#8211; **Dual command aliases** \u2014 `\/tpa` and `\/htpa` (same for `\/tpahere` \/ `\/htpahere`) behave identically<br \/>\n&#8211; **Confirmation GUI** \u2014 Before a request is sent, the requester sees a small inventory GUI with Accept \/ Cancel buttons and the target&#8217;s player head<br \/>\n&#8211; **Clickable chat actions** \u2014 Targets receive `[ACCEPT]` \/ `[DECLINE]` clickable messages in chat<br \/>\n&#8211; **Title &#038; sound feedback** \u2014 Configurable titles on request received \/ accepted \/ denied, plus success and error sounds<br \/>\n&#8211; **Teleport countdown** \u2014 Configurable delay before the teleport executes; cancelled on movement (toggleable)<br \/>\n&#8211; **Request timeout** \u2014 Pending requests automatically expire after a configurable number of seconds; both parties are notified<br \/>\n&#8211; **Toggle system** \u2014 Players can block incoming requests with `\/tpatoggle`<br \/>\n&#8211; **Target self-check** \u2014 Players cannot send requests to themselves<br \/>\n&#8211; **Tab completion** \u2014 All player-facing commands support tab-completing online player names<\/p>\n<p>&#8212;<\/p>\n<p>## Commands<\/p>\n<p>| Command | Description |<br \/>\n|&#8212;|&#8212;|<br \/>\n| `\/tpa <player>` | Open the confirmation GUI to send a teleport-to-player request |<br \/>\n| `\/htpa <player>` | Same as `\/tpa` |<br \/>\n| `\/tpahere <player>` | Open the confirmation GUI to send a teleport-here request |<br \/>\n| `\/htpahere <player>` | Same as `\/tpahere` |<br \/>\n| `\/tpaaccept [player]` | Accept the latest pending request (optionally from a specific player) |<br \/>\n| `\/tpadeny [player]` | Deny the latest pending request (optionally from a specific player) |<br \/>\n| `\/tpatoggle` | Toggle whether you accept incoming teleport requests |<\/p>\n<p>&#8212;<\/p>\n<p>## Configuration<\/p>\n<p>All settings live in the default `config.yml` generated on first run.<\/p>\n<p>&#8220;`yaml<br \/>\nprefix: &#8220;&#038;8[&#038;bHOSH TPA&#038;8] &#8221;<\/p>\n<p>teleport:<br \/>\n  delay-seconds: 5            # Countdown before teleport (0 = instant)<br \/>\n  cancel-on-move: true        # Cancel countdown if the player moves<br \/>\n  request-timeout-seconds: 60 # How long a pending request stays valid<\/p>\n<p>feedback:<br \/>\n  sounds-enabled: true<br \/>\n  sound-success: ENTITY_EXPERIENCE_ORB_PICKUP<br \/>\n  sound-error: ENTITY_VILLAGER_NO<br \/>\n  titles-enabled: true<br \/>\n  title-received: &#8220;&#038;eTPA Request&#8221;<br \/>\n  subtitle-received: &#8220;&#038;7From &#038;f{player}&#8221;<br \/>\n  title-accepted: &#8220;&#038;aAccepted&#8221;<br \/>\n  subtitle-accepted: &#8220;&#038;7Teleport starting&#8230;&#8221;<br \/>\n  title-denied: &#8220;&#038;cDeclined&#8221;<br \/>\n  subtitle-denied: &#8220;&#038;7Request denied&#8221;<\/p>\n<p>gui:<br \/>\n  title: &#8220;HOSH Tpa Confirm&#8221;<br \/>\n  accept-slot: 11<br \/>\n  head-slot: 13<br \/>\n  deny-slot: 15<br \/>\n  accept-name: &#8220;&#038;aAccept&#8221;<br \/>\n  deny-name: &#8220;&#038;cCancel&#8221;<br \/>\n  head-name: &#8220;&#038;eTarget: &#038;f{player}&#8221;<\/p>\n<p>messages:<br \/>\n  player-only: &#8220;&#038;cThis command can only be executed by a player.&#8221;<br \/>\n  usage-htpa: &#8220;&#038;7Usage: \/htpa <player>&#8221;<br \/>\n  usage-htpahere: &#8220;&#038;7Usage: \/htpahere <player>&#8221;<br \/>\n  player-not-found: &#8220;&#038;cPlayer &#8216;{player}&#8217; not found.&#8221;<br \/>\n  self-target: &#8220;&#038;cYou cannot send a request to yourself.&#8221;<br \/>\n  target-blocked: &#8220;&#038;c{player} is currently not accepting requests.&#8221;<br \/>\n  request-already-exists: &#8220;&#038;cYou already have a pending request to {player}.&#8221;<br \/>\n  request-sent: &#8220;&#038;aRequest sent to {player}.&#8221;<br \/>\n  request-received-tpa: &#8220;&#038;e{player} wants to teleport to you.&#8221;<br \/>\n  request-received-tpahere: &#8220;&#038;e{player} wants you to teleport to them.&#8221;<br \/>\n  request-cancelled: &#8220;&#038;7Request cancelled.&#8221;<br \/>\n  request-expired: &#8220;&#038;cRequest expired.&#8221;<br \/>\n  no-pending-request: &#8220;&#038;cYou have no pending requests.&#8221;<br \/>\n  teleport-cancel-offline: &#8220;&#038;cThe other player is no longer online.&#8221;<br \/>\n  teleport-countdown: &#8220;&#038;7Teleporting in {seconds} seconds&#8230; Don&#8217;t move.&#8221;<br \/>\n  teleport-started: &#8220;&#038;aTeleporting&#8230;&#8221;<br \/>\n  teleport-cancel-move: &#8220;&#038;cTeleport cancelled \u2014 you moved.&#8221;<br \/>\n  toggle-enabled: &#8220;&#038;aYou are now blocking incoming teleport requests.&#8221;<br \/>\n  toggle-disabled: &#8220;&#038;aYou are now accepting incoming teleport requests.&#8221;<br \/>\n  request-accepted-target: &#8220;&#038;aYou accepted the request from {player}.&#8221;<br \/>\n  request-accepted-sender: &#8220;&#038;a{player} accepted your request.&#8221;<br \/>\n  request-denied-target: &#8220;&#038;cYou denied the request from {player}.&#8221;<br \/>\n  request-denied-sender: &#8220;&#038;c{player} denied your request.&#8221;<br \/>\n&#8220;`<\/p>\n<p>### Config Sections<\/p>\n<p>| Section | Purpose |<br \/>\n|&#8212;|&#8212;|<br \/>\n| `prefix` | Prepended to every chat message |<br \/>\n| `teleport` | Delay, move-cancellation, and request expiry |<br \/>\n| `feedback` | Sounds, titles, and subtitles for every interaction state |<br \/>\n| `gui` | Inventory title, slot positions, and item display names |<br \/>\n| `messages` | Every user-facing message with `{player}` \/ `{seconds}` placeholders |<\/p>\n<p>&#8212;<\/p>\n<p>## Permissions<\/p>\n<p>No permissions are required \u2014 all commands are open by default. Restrict access with your preferred permission plugin if needed.<\/p>\n<p>&#8212;<\/p>\n<p>## Installation<\/p>\n<p>1. Download and install **Hosh Loader** in `plugins\/` (required).<br \/>\n2. Download **HOSH TPA** and place `hosh-tpa-<version>.jar` in `plugins\/`.<br \/>\n3. Restart the server (full restart recommended after first install).<br \/>\n4. Edit `plugins\/HOSH_Tpa\/config.yml` (folder name matches the plugin) to your liking.<br \/>\n5. Apply config changes with **`\/hosh tpa reload`** or another restart.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Clean GUI-based TPA system with smart UX and zero spam.<\/p>\n","protected":false},"featured_media":82204,"template":"","meta":{"_minecraft_slug":"hosh-tpa","_minecraft_project_id":"DUGFDhFh","_minecraft_author":"Hoshiy","_minecraft_license":"LicenseRef-All-Rights-Reserved","_minecraft_downloads":14,"_minecraft_follows":1,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"hosh-tpa.zip","_minecraft_size_bytes":103149,"_minecraft_version_count":4,"_minecraft_updated_at":"2026-05-15T22:52:52.678710Z","_minecraft_date_created":"2026-04-11T21:34:12.612108Z","_minecraft_date_modified":"2026-04-07T15:57:40.869521Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/hosh-tpa","_minecraft_icon_attachment_id":82204,"_minecraft_imported_at":"2026-06-04T17:17:13+00:00","_minecraft_import_hash":"d82bbed379e1815acfef26735c5ac9cd","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[127,128,92],"mod_loader":[132,133],"minecraft_version":[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-82203","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-paper","mod_category-purpur","mod_category-utility","mod_loader-paper","mod_loader-purpur","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>HOSH Tpa - 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\/hosh-tpa\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"HOSH Tpa - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Clean GUI-based TPA system with smart UX and zero spam.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/hosh-tpa\/\" \/>\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=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/hosh-tpa\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/hosh-tpa\\\/\",\"name\":\"HOSH Tpa - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/hosh-tpa\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/hosh-tpa\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/hosh-tpa-icon-789a1b2baddbf0e558261ea8ebab6a4e06f98be2_96.webp\",\"datePublished\":\"2026-06-04T17:17:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/hosh-tpa\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/hosh-tpa\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/hosh-tpa\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/hosh-tpa-icon-789a1b2baddbf0e558261ea8ebab6a4e06f98be2_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/hosh-tpa-icon-789a1b2baddbf0e558261ea8ebab6a4e06f98be2_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/hosh-tpa\\\/#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\":\"HOSH Tpa\"}]},{\"@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":"HOSH Tpa - 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\/hosh-tpa\/","og_locale":"en_US","og_type":"article","og_title":"HOSH Tpa - Minecraft","og_description":"Clean GUI-based TPA system with smart UX and zero spam.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/hosh-tpa\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/hosh-tpa\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/hosh-tpa\/","name":"HOSH Tpa - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/hosh-tpa\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/hosh-tpa\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/hosh-tpa-icon-789a1b2baddbf0e558261ea8ebab6a4e06f98be2_96.webp","datePublished":"2026-06-04T17:17:12+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/hosh-tpa\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/hosh-tpa\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/hosh-tpa\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/hosh-tpa-icon-789a1b2baddbf0e558261ea8ebab6a4e06f98be2_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/hosh-tpa-icon-789a1b2baddbf0e558261ea8ebab6a4e06f98be2_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/hosh-tpa\/#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":"HOSH Tpa"}]},{"@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\/82203","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\/82204"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=82203"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=82203"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=82203"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=82203"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}