YuRTP
# YuRandomTeleport | Cross-Version · High Performance · Universal Compatibility
**Supported Versions: 1.8.x – 1.26.x**
**Compatible Server Types: Spigot / Paper / All Hybrid Forks (Mohist, Magma, Arclight, etc.)**
—
## 🎉 Promotional Text
### ✦ Escape the Crowd. Explore the Unknown. — YuRandomTeleport
Tired of overcrowded spawn points? Struggling to find untouched, pristine land?
**YuRandomTeleport** is an intelligent random teleportation plugin built for Minecraft servers, delivering a safe, smooth, and highly customizable teleport experience.
#### ✨ Why Choose YuRandomTeleport?
– **Ultimate Cross-Version Compatibility**
From 1.8 to the latest 1.26.x, it runs seamlessly on Spigot, Paper, and all hybrid server forks—one plugin for every version.
– **Smart & Safe Location Algorithm**
Automatically avoids lava, cacti, the void, fire, and other hazardous blocks. Players always land on solid ground with open sky above—safe upon arrival.
– **Granular Per‑World Configuration**
Each world can have independent radius, height limits, safety rules, and blocked material lists. Perfectly tailored for Overworld, Nether, and End dimensions.
– **Seamless Economy & Cooldown Integration**
Supports Vault economy deductions and customizable cooldowns. Granular permission nodes keep everything under control and prevent abuse.
– **Programmable Command Hooks**
Execute custom commands (including JSON titles and particle effects) before and after teleportation, taking your server’s interactivity to the next level.
– **Zero‑Fuss, Out‑of‑the‑Box**
Default configurations work immediately. No complex setup required—even novice server admins can deploy it effortlessly.
– **Active Maintenance & Community**
The plugin is under continuous development. Join our official community **1080918424** to report issues, request features, or just chat with fellow admins.
#### 🚀 Join Us
**Official Community Group: 1080918424**
Bug Reports · Update Announcements · Tech Support · Customization Inquiries
—
## 📖 User Manual
### 1. Installation Guide
1. Place `YuRandomTeleport-.jar` into your server’s `plugins` folder.
2. Restart the server or load the plugin using a plugin manager.
3. The plugin will automatically generate `config.yml` and `messages.yml` inside `plugins/YuRandomTeleport/`.
4. (Optional) Edit the configuration files as desired and apply changes with `/yurtp reload`.
### 2. Commands & Permissions
#### Player Commands
| Command | Description | Permission |
|———|————-|————|
| `/yurtp` or `/rtp` | Randomly teleports yourself within your current world. | `yurtp.use` |
| `/yurtp ` | Randomly teleports the specified player within their current world (requires permission). | `yurtp.teleport.others` |
| `/yurtp ` | Randomly teleports the specified player to the specified world (requires permission). | `yurtp.teleport.others` |
| `/yurtp help` | Displays the help menu. | None |
#### Admin Commands
| Command | Description | Permission |
|———|————-|————|
| `/yurtp reload` | Reloads the configuration files (`config.yml` and `messages.yml`). | `yurtp.reload` |
#### Permission Nodes
| Permission | Default | Description |
|————|———|————-|
| `yurtp.use` | Everyone | Allows use of random teleport. |
| `yurtp.teleport.others` | OP | Allows teleporting other players. |
| `yurtp.bypass.cooldown` | OP | Bypasses the cooldown timer. |
| `yurtp.bypass.cost` | OP | Bypasses economy charges. |
| `yurtp.reload` | OP | Allows reloading the plugin configuration. |
### 3. Configuration Quick Reference
#### Core Options in `config.yml`
“`yaml
# Economy settings (requires Vault)
economy:
enabled: false
cost: 0.0
# Cooldown in seconds
cooldown:
seconds: 3
# Worlds where teleportation is forbidden
world-blacklist:
– lobby
# Default parameters (inherited by all worlds unless overridden)
default:
radius:
min: 500
max: 2000
height:
min: -64 # Leave blank to auto-detect from world
max: 320
safety:
check: true
allow-void: false
allow-water: false
allow-lava: false
max-attempts: 32
min-air-above: 8
blocked-materials:
– “MAGMA*”
– “CACTUS”
– “SWEET_BERRY_BUSH”
– “COBWEB”
– “*FIRE*”
# Per‑world overrides
worlds:
world_nether:
radius:
min: 200
max: 800
safety:
allow-lava: true
# Custom commands to execute (supports placeholders: {player}, {x}, {z}, etc.)
commands:
on-teleport:
– “title {player} title {“text”:”Searching for a safe location…”,”color”:”yellow”}”
on-success:
– “title {player} title {“text”:”Teleport Successful!”,”color”:”green”}”
on-fail:
– “title {player} title {“text”:”Teleport Failed”,”color”:”red”}”
“`
#### Notes on `messages.yml`
All frontend messages support color codes (`&` in place of `§`) and can be fully translated or customized. After editing, run `/yurtp reload` to apply changes.
### 4. Frequently Asked Questions
**Q: Why can’t a player teleport?**
A: Verify that the world is not listed in `world-blacklist`, the player has the `yurtp.use` permission, and cooldown/balance requirements are met.
**Q: The teleport locations aren’t ideal. How can I improve them?**
A: Adjust the `radius` range, `height` limits, or relax the `blocked-materials` rules for the specific world. Enable `debug: true` in the config to view detailed location‑search logs in the console.
**Q: Does the plugin support sounds on 1.8?**
A: Yes. A built‑in cross‑version sound compatibility layer ensures sounds work across all supported versions without errors or silence.
**Q: Is Moonrise asynchronous server supported?**
A: Moonrise is not currently supported due to conflicts between its asynchronous architecture and some core plugin logic. We will evaluate potential compatibility in future updates.
### 5. Community & Support
– **QQ Group: 1080918424**
Bug reports · Feature suggestions · Update notifications · Technical discussions
– **Documentation & Updates**
The latest version and detailed documentation are always available within the community group.
—
**YuRandomTeleport — Every journey begins with anticipation.**
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!
**4 Performance Modes:**
– **ULTRA_LIGHT** – For 512 MB – 1 GB RAM (Free/Cheap VPS)
– Best for: 5-10 players, minimal plugins
– **LIGHT** – For 1-2 GB RAM (Low-end servers)
– Best for: 10-15 players, light plugins
– **BALANCED** – 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
– **Simple TPA System** – Request to teleport to other players or invite them to you
– **Countdown Timer** – Configurable delay before teleporting with visual feedback
– **Title Display** – Clear visual indication of teleport countdown
– **Movement Detection** – Teleport cancels if player moves during countdown
– **Custom Sound Effects** – Fully customizable audio feedback using Minecraft’s sound registry
– **Config Validation** – Prevents server crashes from broken configs with detailed error messages
– **Permission System** – Fine-grained access control
– **Request Management** – Toggle receiving requests, cancel outgoing requests
– **Multi-Threading Support** – 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: `text`
– Rainbow effect: `text`
– 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 ` | 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 ` | 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
“`
| 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
“`
| 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:
– **Lightweight** – Minimal impact on server TPS
– **Thread-Safe** – No lag from concurrent operations
– **Memory Efficient** – Adapts to your server’s resources automatically
– **Async Operations** – 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!.