YoTPA
YoTPA is a lightweight and powerful teleport request plugin with adaptive performance optimization. Simple to use, easy to configure, and built for modern Minecraft servers.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
YoTPA

YoTPA
YoTPA is a lightweight and powerful teleport request plugin with adaptive performance optimization. Simple to use, easy to configure, and built for modern Minecraft servers.
Features
Adaptive Performance System
The plugin automatically detects your server's available RAM and optimizes itself accordingly - zero configuration needed!
HIGH_PERFORMANCE - HIGH_PERFORMANCE - For 512 MB - 1 GB RAM (Free/Cheap VPS) - Best for: 5-10 players, minimal plugins - HIGH_PERFORMANCE - For 1-2 GB RAM (Low-end servers) - Best for: 10-15 players, light plugins - HIGH_PERFORMANCE - For 2-4 GB RAM (Mid-range servers) - Best for: 15-25 players, moderate plugins - HIGH_PERFORMANCE - For 4+ GB RAM (High-end servers) - Best for: 25+ players, any plugins
Performance Benefits: - 30-70% less memory usage - 25-60% less CPU usage - Up to 83% faster maintenance tasks - Dynamic optimization based on your server specs
Core Features
- Customizable Messages - Request to teleport to other players or invite them to you - Customizable Messages - Configurable delay before teleporting with visual feedback - Customizable Messages - Clear visual indication of teleport countdown - Customizable Messages - Teleport cancels if player moves during countdown - Customizable Messages - Fully customizable audio feedback using Minecraft's sound registry - Customizable Messages - Prevents server crashes from broken configs with detailed error messages - Customizable Messages - Fine-grained access control - Customizable Messages - Toggle receiving requests, cancel outgoing requests - Customizable Messages - Thread-safe for more concurrent players - Customizable Messages - Fully localizable and configurable messages
Internationalization (NEW in 1.4.0)
Customize all plugin messages in any language with full MiniMessage support:
```yaml prefix: "[YoTPA] "
commands: tpa: sent: "Teleport request sent to {target}" received: "{requester} wants to teleport to you." ``` MiniMessage Features: - Rich text formatting (bold, italic, underlined) - Color gradients: `<gradient:green:aqua>text</gradient>` - Rainbow effect: `<rainbow>text</rainbow>` - Hex colors: `<#FF5733>text</#FF5733>`
Custom Sound Effects
Customize all plugin sounds using Minecraft's sound IDs:
```yaml sounds: countdown: "block.note_block.pling" success: "entity.enderman.teleport" cancel: "entity.villager.no" request: "entity.experience_orb.pickup" ```
Test sounds in-game: `/playsound minecraft:block.note_block.pling master @s`
Configuration
YoTPA's `config.yml` file allows you to customize various aspects of the plugin:
- Request timeout duration - Cooldown between requests - Teleport delay countdown - Performance mode settings - Sound effects for different actions - Feature toggles (statistics, bStats, titles, sounds)
Configuration File
```yaml
YoTPA Configuration v1.3.0-Adaptive
Smart Auto-Optimization for All Server Sizes
Request timeout in seconds (how long before a request expires)
Recommended: 30-120 seconds
request-timeout: 60
Request cooldown in seconds (how long before sending another request)
Recommended: 15-60 seconds
request-cooldown: 30
Teleport delay in seconds (countdown before actual teleport)
Recommended: 3-10 seconds
teleport-delay: 5
Performance mode settings
performance:
Options: AUTO, ULTRA_LIGHT, LIGHT, BALANCED, HIGH_PERFORMANCE
mode: AUTO
Sound effects (use Minecraft sound names)
sounds: countdown: "block.note_block.pling" success: "entity.enderman.teleport" cancel: "entity.villager.no" request: "entity.experience_orb.pickup"
Feature toggles
features: statistics: true bstats: true titles: true sounds: true ```
Messages Configuration (messages.yml)
```yaml
Customize your prefix
prefix: "[YoTPA] "
All messages are customizable
commands: tpa: usage: "Usage: /tpa " sent: "Teleport request sent to {target}" received: "{requester} wants to teleport to you."
teleport: countdown: title: "Teleporting..." subtitle: "Don't move!" message: "Teleporting in {seconds} seconds" ```
Customization Examples
Change Language to Spanish
Edit `messages.yml`: ```yaml prefix: "[YoTPA] "
commands: tpa: usage: "Uso: /tpa " sent: "Solicitud enviada a {target}" received: "{requester} quiere teletransportarse a ti." ```
Then use `/tpareload` to apply changes!
Add Beautiful Gradients
```yaml prefix: "✦ YoTPA ✦ "
teleport: countdown: title: "Teleporting..." message: "Teleporting in {seconds} seconds" ```
Customize Colors
```yaml prefix: "[TPA] "
commands: tpa: sent: "Request sent to {target}" ```
Use Hex Colors
```yaml prefix: "[YoTPA] "
teleport: success: "Teleported to {target} successfully!" ```
Placeholders: - `{player}` - Player name - `{target}` - Target player name - `{requester}` - Requester player name - `{seconds}` - Number of seconds - `{cooldown}` - Cooldown duration
Configuration Sections Explained
General Settings: - `request-timeout` - How long (in seconds) teleport requests remain valid (recommended: 30-120) - `request-cooldown` - Time (in seconds) before a player can send another request (recommended: 15-60) - `teleport-delay` - Countdown time (in seconds) before teleportation happens (minimum: 1)
Performance Settings: - `performance.mode` - AUTO (recommended), ULTRA_LIGHT, LIGHT, BALANCED, or HIGH_PERFORMANCE - AUTO automatically detects your server's RAM and selects the best mode
Sound Settings: - All sounds use Minecraft's sound registry format (lowercase with dots) - The plugin validates sounds on config reload - Full sound list: https://minecraft.wiki/w/Sounds.json
Feature Toggles: - `statistics` - Enable or disable statistics tracking - `bstats` - Enable or disable bStats metrics - `titles` - Enable or disable title animations during countdown - `sounds` - Enable or disable all sound effects
Config Validation
When reloading with `/tpareload`, the plugin validates: - YAML syntax - All values are in valid ranges - Sounds exist in Minecraft's registry - Shows detailed error messages if invalid
Example validation output: ``` Configuration validation failed! ✗ teleport-delay must be at least 1 second ✗ Sound 'countdown' (invalid.sound) not found in registry
Warnings: • request-timeout (5) is very low, recommended: 30-120
Config not applied. Fix errors and try again. Using previous configuration. ```
How to Edit and Reload
1. Edit the `plugins/YoTPA/config.yml` file 2. Save your changes 3. Use `/tpareload` in-game to apply changes with validation
Commands Overview
| Command | Description | Permission | | :------ | :---------- | :--------- | | `/tpa <player>` | Request to teleport to another player | `yotpa.tpa` | | `/tpaccept` | Accept a pending teleport request | `yotpa.tpaccept` | | `/tpadeny` | Deny a pending teleport request | `yotpa.tpadeny` | | `/tpahere <player>` | Request a player to teleport to you | `yotpa.tpahere` | | `/tpacancel` | Cancel your outgoing teleport request | `yotpa.tpacancel` | | `/tpatoggle` | Toggle receiving teleport requests | `yotpa.tpatoggle` | | `/tpareload` | Reload the plugin configuration | `yotpa.reload` | | `/tpainfo` | View plugin information and statistics | `yotpa.info` | | `/tpastats` | View teleport statistics | `yotpa.stats` |
Default: All permissions are granted to all players by default.
Detailed Commands
TPA Command
Send a request to teleport to another player.
``` /tpa <player> ```
| Parameter | Type | Description | | :-------- | :--- | :---------- | | `player` | `string` | Required. The player name you want to teleport to |
Examples: ``` /tpa Steve # Request to teleport to player named Steve /tpa Alex123 # Request to teleport to player named Alex123 ```

Notes: - You cannot send a request to yourself - There is a configurable cooldown between sending requests (default: 30 seconds) - Request will expire after a configurable time (default: 60 seconds) - Target player will receive a notification with clickable accept/deny buttons
---
TPAccept Command
Accept a pending teleport request from another player.
``` /tpaccept ```
No parameters required - accepts the most recent teleport request.
Examples: ``` /tpaccept # Accept the pending teleport request ```

Notes: - Only works if you have a pending teleport request - After accepting, the teleportation will begin with a countdown - The player must stay still during the countdown or it will be cancelled - If accepting a `/tpa` request, the requester will teleport to you - If accepting a `/tpahere` request, you will teleport to the requester
---
TPADeny Command
Deny a pending teleport request from another player.
``` /tpadeny ```
No parameters required - denies the most recent teleport request.
Examples: ``` /tpadeny # Deny the pending teleport request ```

Notes: - Only works if you have a pending teleport request - The requester will be notified that their request was denied - Request is immediately removed from the system
---
TPAHere Command
Request another player to teleport to your location.
``` /tpahere <player> ```
| Parameter | Type | Description | | :-------- | :--- | :---------- | | `player` | `string` | Required. The player name you want to request to teleport to you |
Examples: ``` /tpahere Steve # Request Steve to teleport to you /tpahere Alex123 # Request Alex123 to teleport to you ```

Notes: - You cannot send a request to yourself - There is a configurable cooldown between sending requests (default: 30 seconds) - Request will expire after a configurable time (default: 60 seconds) - The target player must accept with `/tpaccept`
---
TPACancel Command
Cancel your outgoing teleport request.
``` /tpacancel ```
No parameters required - cancels your most recent outgoing request.
Examples: ``` /tpacancel # Cancel your pending request ```
Notes: - Only works if you have an active outgoing request - The target player will be notified that the request was cancelled - Useful if you sent a request by mistake
---
TPAToggle Command
Toggle whether you want to receive teleport requests.
``` /tpatoggle ```
No parameters required - toggles your request reception status.
Examples: ``` /tpatoggle # Toggle receiving teleport requests on/off ```
Notes: - When toggled off, other players cannot send you teleport requests - You will receive a message showing your current status - Your setting persists across server restarts
---
TPAReload Command
Reload the plugin configuration with validation.
``` /tpareload ```
No parameters required - reloads and validates the configuration file.
Examples: ``` /tpareload # Reload the plugin configuration ```

Notes: - Requires the `yotpa.reload` permission (default: op only) - Validates YAML syntax and all configuration values - Checks that all sounds exist in Minecraft's registry - Shows detailed errors if config is invalid - Only applies config if all validation passes - Useful after making changes to the config.yml file
---
TPAInfo Command
View plugin information and real-time statistics.
``` /tpainfo ```
No parameters required - displays plugin information.
Examples: ``` /tpainfo # View plugin info and stats ```
Shows: - Current performance mode (auto-detected based on RAM) - Optimization level and settings - Active teleport requests - Ongoing teleports - Memory usage statistics - Plugin version
Notes: - Useful for monitoring plugin performance - Helps diagnose issues - Shows how the plugin has optimized itself for your server
---
TPAStats Command
View teleport statistics and usage data.
``` /tpastats ```
No parameters required - displays teleport statistics.
Examples: ``` /tpastats # View teleport statistics ```
Shows: - Total teleport requests sent - Total teleport requests received - Success rate - Most active players - Other usage metrics
Notes: - Requires `features.statistics: true` in config - Statistics are tracked per player - Data persists across server restarts
Optimization Tips
For FREE/LOW-SPEC servers (512 MB - 1 GB):
- Keep mode as AUTO or ULTRA_LIGHT - Limit total plugins to 5-8 - Set view-distance to 4 in server.properties - Use Paper instead of Spigot - Limit players to 5-10 concurrent
For MID-RANGE servers (2-4 GB):
- Use AUTO or BALANCED mode - Can run 10-15 plugins - view-distance 6-8 - 15-25 players should be fine
For HIGH-END servers (4+ GB):
- Use AUTO or HIGH_PERFORMANCE mode - No significant plugin limitations - view-distance 10-12 - 25+ players supported
Performance
YoTPA is built with performance in mind:
- Lock-Free - Minimal impact on server TPS - Lock-Free - No lag from concurrent operations - Lock-Free - Adapts to your server's resources automatically - Lock-Free - Non-blocking task execution - Lock-Free - No race conditions or deadlocks
Installation
1. Download the latest JAR from the releases 2. Place the JAR in your server's `plugins` folder 3. Restart your server 4. That's it! The plugin will auto-configure based on your server's specs
---
Note: This is my first plugin project!.