Description
β‘ SmartTPA β Crossplay Teleportation Plugin (Java & Bedrock GUI)
SmartTPA is a lightweight, high-performance teleportation plugin built for Bukkit, Spigot, PaperMC, Purpur, and Folia servers supporting Java and Bedrock Crossplay via GeyserMC and Floodgate. It delivers a native experience for both platforms: Java Edition players get interactive clickable chat buttons, while Bedrock Edition players and staff get native Cumulus GUI Form windows with 100% Mojangles pixel-safe symbols.
π Key Features
- Native Bedrock Player & Admin GUI (Floodgate): Bedrock players simply type
/tpato open an interactive GUI menu (TPA to Player, TPA Here, Accept, Deny, Cancel, Toggle TPA, and Help). Staff members also get a dedicated Admin Teleport GUI button inside/tpa(or via/tpa admin). - Clickable Chat Buttons (Java MiniMessage): Players receiving a teleport request can directly click the green [ + ACCEPT ] or red [ x DENY ] buttons in chat.
- Folia & Async Teleportation: Built with non-blocking
ConcurrentHashMapstructures, regional Folia schedulers, and asynchronous teleportation (teleportAsync) for optimal CPU performance. - Vault Economy Integration: Charge in-game money when players use
/tpaor/tpahere. Costs can be configured separately or set to0for free teleports. - Separate Cooldowns & ActionBar Progress Bars: Configure independent cooldown timers for
/tpaand/tpahere, complete with animated ActionBar progress bars for cooldowns and warmup countdowns. - PlaceholderAPI (PAPI) Support: Includes built-in placeholders for scoreboards, tablists, and holograms.
- Customizable Sound Effects: Every teleportation action plays a configurable sound effect from
config.yml. - Multi-Language System: Out-of-the-box support for English (
lang-en.yml- Default), Indonesian (lang-id.yml), and Malaysian (lang-my.yml). - Wide Version Compatibility: Supports Minecraft 1.20.x up to 1.26.3+.
β¨οΈ Player Commands
| Command | Alias | Description |
|---|---|---|
/tpa |
- | Opens Bedrock GUI or sends a request to teleport to another player. |
/tpahere <player> |
- | Requests another player to teleport to your location. |
/tpaaccept |
/tpaccept |
Accepts an incoming teleport request. |
/tpadeny |
/tpdeny |
Denies an incoming teleport request. |
/tpacancel |
- | Cancels your active outgoing teleport request. |
/tpatoggle |
- | Toggles whether you allow incoming TPA requests. |
/tpa help |
/tpahelp |
Displays the command help guide for Java and Bedrock. |
/tpa version |
- | Displays plugin version and platform info. |
π οΈ Admin Commands
| Command | Description |
|---|---|
/tp <player> [target] |
Instantly teleports you to a player (or teleports player A to B). |
/tphere <player> |
Instantly pulls an online player to your location. |
/tphereall |
Instantly pulls all online players to your location. |
/tpo <player> |
Teleports you to the last known (offline) location of a player. |
/tpreload |
Reloads config.yml and language files (also /tpa reload). |
/tpdebug |
Toggles console logging of TPA request lifecycle events. |
π Permissions List
| Permission | Default | Description |
|---|---|---|
smarttpa.command.tpa |
true |
Allows using /tpa. |
smarttpa.command.tpahere |
true |
Allows using /tpahere. |
smarttpa.command.tpaccept |
true |
Allows accepting TPA. |
smarttpa.command.tpdeny |
true |
Allows denying TPA. |
smarttpa.command.tpacancel |
true |
Allows cancelling TPA. |
smarttpa.command.tpatoggle |
true |
Allows toggling TPA. |
smarttpa.command.help |
true |
Allows viewing help menu. |
smarttpa.command.version |
true |
Allows checking plugin version. |
smarttpa.reload |
OP |
Allows reloading plugin configuration. |
smarttpa.debug |
OP |
Allows toggling console debug mode. |
smarttpa.command.tpo |
OP |
Allows using offline teleport /tpo. |
smarttpa.command.tp |
OP |
Allows using admin instant /tp. |
smarttpa.command.tphere |
OP |
Allows pulling players via /tphere. |
smarttpa.command.tphereall |
OP |
Allows pulling all players via /tphereall. |
smarttpa.bypass.cooldown |
OP |
Bypasses TPA cooldowns and warmup timers. |
smarttpa.bypass.toggle |
OP |
Allows sending TPA to players who disabled incoming requests. |
smarttpa.bypass.cost |
false |
Bypasses Vault economy teleportation fees. |
π Placeholders (PlaceholderAPI)
If PlaceholderAPI is installed, you can use these placeholders:
%smarttpa_toggle%- Shows Enabled or Disabled status for incoming TPA.%smarttpa_cooldown_tpa%- Remaining/tpacooldown in seconds.%smarttpa_cooldown_tpahere%- Remaining/tpaherecooldown in seconds.%smarttpa_has_request%- Returns yes or no if a pending request exists.%smarttpa_debug%- Shows ON or OFF console debug status.%smarttpa_version%- Displays active plugin version (1.0.2-3).
βοΈ Files & Dependencies
When loaded, the plugin generates the following structure inside plugins/SmartTPA/:
config.yml- Main configuration (Prefix, Language, Separate Cooldowns, Progress Bar, Economy, Sounds).userdata.yml- Stores last known player locations for/tpo.language/folder - Containslang-en.yml,lang-id.yml, andlang-my.yml. Optional Dependencies:
- Floodgate - Required for native Bedrock GUI Forms.
- Vault + an Economy Plugin (e.g., EssentialsX, CMI) - Required for teleportation fees.
- PlaceholderAPI - Required for PAPI placeholders.
π¨βπ» Credits
- Lead Developer: RayaFebrian
- Development Team: Mr G, RayaFebrian, KusStore
- Current Version:
1.0.2-3(Active Development Stage)





