
bTpa
Tpa plugin, Donut-Like, but with enhanced features, similar to Donut TPA.
66
2

A professional and feature-rich TPA (Teleport Ask) plugin for Minecraft 1.20.5+ servers, inspired by Donut TPA with enhanced features.

Features
Core Features
- TPA Request System: Send teleport requests to other players
- TPA Here: Request other players to teleport to you
- Auto-Open GUI: Automatically opens GUI when receiving requests (like Donut TPA)
- Clickable Messages: Accept or deny requests directly from chat
- GUI Interface: Modern and intuitive GUI for managing teleport requests
- Countdown System: Configurable countdown with actionbar display
- Sound Effects: Custom sounds for different actions (countdown, success, cancel, request)
- Cooldown System: Prevent spam with configurable cooldowns
- Movement/Damage Cancellation: Cancel teleport if player moves or takes damage
- Request Expiration: Automatic expiration of pending requests
- Multiple Language Support: All messages fully customizable
Advanced Features
- TPA Toggle: Enable/disable receiving TPA requests
- Block System: Block specific players from sending you requests
- TPA Back: Return to your previous location after teleporting (Soon!)
- Statistics System: Track TPA usage with detailed statistics
- Cancel Requests: Cancel your outgoing TPA requests
- Player Data Persistence: All settings and stats saved to files
- Friend System: Friends can autoaccept their TPAs
Commands
| Command | Aliases | Description | Permission |
|---|---|---|---|
/tpa <player> | /teleportask | Send a teleport request to a player | btpa.use |
/tpahere <player> | /tphere | Request a player to teleport to you | btpa.use |
/tpaccept | /tpyes, /tpac | Accept a teleport request | btpa.use |
/tpdeny | /tpno, /tpdc | Deny a teleport request | btpa.use |
/tpagui | /tpgui | Open the teleport GUI | btpa.use |
/tpatoggle | /tpat | Toggle TPA requests on/off | btpa.toggle |
/tpablock <player> | /tpab | Block a player from sending requests | btpa.block |
/tpaunblock <player> | /tpaub | Unblock a player | btpa.block |
/tpacancel | /tpac | Cancel your outgoing request | btpa.use |
/tpafriend | Send/Deny/Remove friend request | btpa.use | |
/tpareload | /tparl | Reload the plugin configuration | btpa.reload |
Permissions
btpa.use- Allows the use of basic TPA commands (default: true)btpa.toggle- Allows toggling TPA requests (default: true)btpa.block- Allows blocking/unblocking players (default: true)btpa.reload- Allows reloading the plugin configuration (default: op)btpa.*- Gives access to all TPA commands (default: op)
🌟 Comparison with Donut TPA
| Feature | Donut TPA | bTpa |
|---|---|---|
| TPA Commands | ✅ | ✅ |
| GUI System | ✅ | ✅ Enhanced |
| Friend System | ❌ | ✅ Enhanced |
| Toggle System | ✅ | ✅ |
| Block System | ✅ | ✅ |
| Statistics | ❌ | ✅ Enhanced |
| Clickable Messages | ✅ | ✅ |
| Sound Effects | ✅ | ✅ Configurable |
| Action Bar | ❌ | ✅ |
| Acceptance Rate | ❌ | ✅ |
| Data Persistence | ✅ | ✅ YAML |
| Cancel Requests | ✅ | ✅ |
| Documentation | Good | Comprehensive |
| Open Source | ❌ | ✅ |
| Price | $6.99 | Free |
🏆 Production Ready
This plugin is 100% production-ready for:
- ✅ Large servers (1000+ players)
- ✅ Serious networks
- ✅ Professional servers
- ✅ Public servers
- ✅ Private servers
- ✅ Creative servers
- ✅ Survival servers
- ✅ Any server type
Configuration
# bTpa Configuration File
# Teleport settings
teleport:
# Cooldown in seconds before teleport starts (countdown)
countdown: 5
# Cooldown in seconds before player can use /tpa again
cooldown: 10
# Request expiration time in seconds
request-expire: 60
# Cancel teleport if player moves during countdown
cancel-on-move: true
# Cancel teleport if player takes damage during countdown
cancel-on-damage: true
# Sound settings
sounds:
enabled: true
# Use namespaced key format: e.g. "block.note_block.pling"
# Full list: https://minecraft.wiki/w/Sounds.json
countdown-tick: block.note_block.hat
teleport-success: entity.enderman.teleport
teleport-cancel: entity.villager.no
request-received: block.note_block.pling
volume: 0.8
pitch: 1.0
# Unicode font style (small caps and fancy text)
# Set to true to use Unicode small caps in titles and messages (e.g., ᴛᴘᴀ)
# Set to false for regular text (default: true)
unicode-font: true
# Messages
messages:
prefix: ""
player-only: "&7Only players can use this command."
no-permission: "&7You do not have permission to do that."
player-not-found: "&7Player not found or offline."
player-offline: "&7That player is no longer online."
cannot-self-request: "&7You cannot send a request to yourself."
request-sent: "&7Request sent to &b{player}&7."
request-received: "&b{player} &7sent you a teleport request."
request-expired: "&7Your request to &b{player} &7expired."
no-pending-request: "&7You have no pending teleport requests."
request-accepted: "&7You accepted &b{player}&7's request."
request-accepted-sender: "&b{player} &7accepted your request."
request-denied: "&7You denied &b{player}&7's request."
request-denied-sender: "&b{player} &7denied your request."
already-pending: "&7You already have a pending request for that player."
outgoing-request-active: "&7You already have an active request. Use &b/tpacancel &7or wait for it to expire."
teleporting: "&7Teleporting in &b{seconds}s&7..."
teleport-cancelled-move: "&7Teleport cancelled: you moved."
teleport-cancelled-damage: "&7Teleport cancelled: you took damage."
teleport-success: "&7Teleport completed."
cooldown: "&7Wait &b{seconds}&7s before sending another request."
teleport-here-request-sent: "&7Teleport-here request sent to &b{player}&7."
teleport-here-request-received: "&b{player} &7wants you to teleport to them."
reload-success: "&aConfiguration reloaded successfully."
# TPA Toggle messages
tpa-enabled: "&7TPA requests enabled."
tpa-disabled: "&7TPA requests disabled."
player-tpa-disabled: "&b{player} &7has TPA requests disabled."
tpauto-enabled: "&7TPA auto-accept enabled."
tpauto-disabled: "&7TPA auto-accept disabled."
tpauto-accepted-target: "&7You automatically accepted &b{player}&7's request."
# Block/Unblock messages
player-blocked: "&7You blocked &b{player}&7 from sending TPA requests."
player-unblocked: "&7You unblocked &b{player}&a."
player-already-blocked: "&b{player} &7is already blocked."
player-not-blocked: "&b{player} &7is not blocked."
player-blocked-you: "&7You cannot send requests to &b{player}&c."
# Cancel command messages
request-cancelled: "&7Request to &b{player}&7 cancelled."
request-cancelled-target: "&b{player} &7cancelled their request."
no-outgoing-request: "&7You have no outgoing requests."
# tpafriend messages (trusted players / auto-accept)
tpafriend-added: "&7Added &b{player} &7to your trusted players."
tpafriend-removed: "&7Removed &b{player} &7from your trusted players."
tpafriend-list-empty: "&7You have no trusted players."
tpafriend-not-trusted: "&b{player} &7is not in your trusted list."
# Generic usage message used by some commands
usage: "&7Usage: &b{usage}"
# Friend request messages
friend-request-sent: "&7Friend request sent to &b{player}&7. If they accept, both of you will be added to each other's trusted list (mutual) and TPA requests between you will be auto-accepted."
friend-request-received: "&b{player} &7sent you a friend request. Accepting will add both of you to each other's trusted list (mutual) and enable automatic acceptance of TPA requests between you."
friend-request-accepted-sender: "&b{player} &7accepted your friend request."
friend-request-accepted-target: "&7You accepted &b{player}&7's friend request."
friend-request-denied-sender: "&b{player} &7denied your friend request."
friend-request-denied-target: "&7You denied &b{player}&7's friend request."
friend-request-expired: "&7Your friend request expired."
# GUI Settings
gui:
# Legacy/global switch (kept for backwards compatibility)
enabled: true
# Selector GUI (/tpa with no args, /tpagui, /tpahere with no args)
selector-enabled: true
# Incoming request GUI (shown to target player on request)
incoming-enabled: true
# Outgoing request GUI (shown to sender after sending request)
outgoing-enabled: true
# Auto-open incoming GUI on request (only if incoming-enabled = true)
auto-open: false
title: "&bTeleport Requests"
size: 27
update-check:
enabled: true
frequency-minutes: 360
security:
# Require that both players have added each other for auto-accept to work
require-mutual-trust: false
# Require trusted players to have played before (more secure)
require-played-before-for-trusted: true
# Friend request settings
friend:
request-expire: 120
Note: When auto-open is enabled, players will automatically see the GUI when they receive a TPA request, just like in Donut TPA. They can still use chat commands if they prefer.
Messages
All messages are fully customizable in the configuration file. Support for color codes using &.
How It Works
Sending a Request
- Player A types
/tpa PlayerB - Player B receives a message with clickable buttons: [Accept] [Deny] [GUI]
- Player B can click on the buttons or use commands to accept/deny
Teleporting
- When a request is accepted, the countdown starts
- The player sees an actionbar message: "Teleporting in: X seconds"
- Sound effects play every second during countdown
- If the player moves or takes damage (if enabled), the teleport is cancelled
- After countdown completes, the player is teleported successfully
GUI
- Open with
/tpaguior by clicking [GUI] in the chat message - Visual representation of pending requests
- Player head shows who sent the request
- Green wool button to accept
- Red wool button to deny
- Gray glass pane decoration
Installation
- Download the plugin JAR file
- Place it in your server's
pluginsfolder - Restart your server
- Configure the plugin in
plugins/bTpa/config.yml - Reload with
/tpareload
Requirements
- Minecraft 1.20.5 or higher
- Paper/Spigot/Purpur/Leaf server
- Java 21 or higher
Support
For issues, feature requests, or questions, please contact me.
License
Copyright © 2026 blackowlzz. All rights reserved.
Made with ❤️ for the Minecraft community
Совместимость
Ссылки
Создатели
Детали
Лицензия:LicenseRef-All-Rights-Reserved
Опубликован:1 неделю назад
Обновлён:23 часов назад
