Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
🎲 YuTeleport / YuTP – Cross-Version Safe Teleport Plugin
🛡️ Safe Landing | 🧭 Random Teleport | 📍 Warp | 🏠 Home | 🤝 TPA | 🔙 Back | 📡 Coordinate Sharing | 🧵 Folia Support
😱 Worried that random teleport might drop players into lava, underwater, inside blocks, at the void edge, or onto dangerous platforms in the Nether?
🧭 Want to manage resource‑world scatter points, public waypoints, player homes, TPA, /back, and coordinate sharing all in one plugin?
🐌 Don't want traditional teleport plugins to lag the main thread while searching for chunks, nor maintain cooldowns, costs, permissions, and messages separately?
🔧 Don't want multiple plugins fighting over /warp, /home, /tpa, /back, and having to debug conflicts one by one?
YuTeleport (YuTP) is a cross‑version, safe teleport suite for Minecraft Java servers.
It is not just a single RTP tool, but a complete teleport system: random teleport, public warps, player homes, TPA‑based mutual teleport, /back return, coordinate sharing, economy integration, permission groups, PlaceholderAPI, a public Java API, Folia/Paper compatibility – all processed through the same teleport pipeline.
Current version: 2.0.1.2
Config version: config‑version 20
🚀 Core Features
- 🧭 Random Teleport (RTP): Per‑world configuration for radius, height range, center point, square/circle distribution, block rules, and biome filtering.
- 📍 Warp (Public Waypoints): Supports public, private, and restricted types; includes description, rename, delete, max amount limits, and fine‑grained permissions.
- 🏠 Home (Player Homes): Each player saves homes independently; supports multiple homes, public homes, cross‑player access, descriptions, and quantity expansion.
- 🤝 TPA (Player‑to‑Player Teleport): Supports
/tpa,/tpahere, accept, deny, cancel, ignore requests, and global tpahere. - 🔙 Back (Return System): Records death points, pre‑teleport locations from plugin teleports, and external teleport origins; supports
/back,/back death,/back list,/back clear. - 📡 Coordinate Sharing: After a successful teleport, players can share their current location to all online players; others can click to teleport.
- 🧩 Unified Teleport Pipeline: All handling – wait, interrupt, cooldown, cost deduction, refund, safety re‑check, events, status tracking, and hooks – is processed uniformly.
- ⚡ Asynchronous Safe‑Point Search: On Paper 1.13+ can use async chunk loading to reduce main‑thread stress; falls back to sync mode automatically when unsupported.
- 📦 Landing‑Point Pre‑caching: Background preparation of safe landing points; when cache is hit, online search wait time is reduced.
- 🌿 Biome Filtering: Supports black/whitelists,
*wildcards, and single‑usebiome:<pattern>specification. - 💰 Vault / PlayerPoints Economy: Prices are set per teleport type, per world, and per permission group; failed, cancelled, or Folia‑retired scenarios automatically refund.
- 👥 Permission Group Overrides: Use
yuteleport.group.<group>to configure different cooldowns, costs, warp limits, and home limits per group. - ⏳ Multi‑Channel Countdown: Chat, BossBar, ActionBar, or silent wait – freely combinable; move, damage, interact, chat, and command interruptions can be toggled individually.
- 🎵 Full Audio‑Visual Feedback: Countdown sounds, success arpeggios, fail/cancel/cost/refund sounds, titles, particles, click‑to‑retry, and hover coordinates.
- 📊 PlaceholderAPI Extension: Provides module states, cooldowns, costs, home/warp counts, teleport stats, and back status.
- 🧑💻 Java API & Events: External plugins can initiate teleports, read module data, listen to and cancel teleport lifecycle events.
- 🧵 Folia Scheduling Adaptation: Uses Region / Entity / Global Schedulers to avoid cross‑region entity access issues.
🧠 Design Philosophy
YuTeleport's goal is not merely to "move a player", but to make every teleport request controllable, rollback‑able, and observable – from request to arrival.
- Does the player have permission?
- Is the target world allowed?
- Is the cooldown active?
- Does a countdown need to be waited?
- During the countdown, did the player move, take damage, chat, or execute commands?
- Is a cost required? How to handle balance changes during the wait?
- Is the target point safe? Is the target world still loaded?
- Should the cost be refunded on failure, cancellation, or entity retirement?
- Can third‑party plugins listen to, cancel, or read the result?
- Can the player return to their death point or previous location before teleport?
These logic pieces are no longer scattered across multiple plugins or modules; they are handled by the unified teleport pipeline. Server owners can use it as the foundational teleport system for production servers, not just a temporary scatter tool.
🧩 Feature Modules
🧭 Random Teleport (RTP)
Ideal for resource worlds, wilderness exploration, new player spawning, event maps, and servers that need to reduce spawn crowding.
- Each world has independent radius, cost, height range, safety rules, and search strategy.
- Customizable random center, not fixed to
(0, 0). - Supports square ring or circular ring distributed by area.
- World black/whitelist with
*wildcard support. - Block black/whitelist – exclude lava, fire, cactus, sweet berry bushes, cobwebs, etc.
- Biome black/whitelist – e.g.,
*OCEAN*,*FOREST*. - Supports Paper async chunk loading, Folia region scheduling, and sync fallback.
- Background safe‑landing pre‑caching to reduce online search overhead for high‑frequency teleports.
Common commands:
/yuteleport
/ytp
/rtp
/yuteleport biome:*FOREST*
/yuteleport <player>
/yuteleport <player> <world> biome:*PLAINS*
📍 Warp (Public Waypoints)
Suitable for spawns, resource world entrances, event venues, shopping districts, dungeon entrances, and player‑built public points.
/setwarp <name>to create or update a warp.publicwarps are visible and usable by all players.privatewarps are manageable only by the creator and admins.restrictedwarps requireyuteleport.warps.<name>to be visible and usable.- Supports description, rename, public/unpublic, and deletion.
- Default limit, permission‑based limit, and
groups.<group>.warp.max‑warpsfor expansion. - Exceeding the limit after permission expiry locks the warp temporarily; re‑granting permission restores access.
- Create‑public, use‑public, and normal warp teleports can each have separate costs.
Common commands:
/warp
/warp <name>
/warp public
/warp public <name> true
/warp rename <old> <new>
/warp desc <name> <description>
/setwarp <name> [restricted|public|private] [description]
/delwarp <name>
🏠 Home (Player Homes)
Suitable for survival, retirement, RPG, skyblock, and servers where players need to manage their own return points.
/sethome [name]sets a personal home; default name ishome./homeslists your own homes.- Players can make homes public; other online players can view and teleport to them.
- Each home can have a description.
- Supports rename, description change, public/unpublic, and deletion.
- Admins can view or use online players' homes.
- Default home limit, permission‑based limit, and
groups.<group>.home.max‑homesfor expansion. - Excess homes after permission expiry are locked temporarily.
- Worlds where home setting is forbidden can be configured (e.g., event worlds, mining worlds).
- Each player's homes are saved in individual files; loaded on join, unloaded on quit.
Common commands:
/home
/home <name>
/home list
/home public
/home public <name> true
/home rename <old> <new>
/home desc <name> <description>
/home <player>:<name>
/homes
/homes <player>
/sethome [name] [public|private] [description]
/delhome <name>
/delhome <player>:<name>
🤝 TPA (Player‑to‑Player Teleport)
Ideal for player visits, team exploration, event gatherings, and regular survival servers.
/tpa <player>– request to teleport to that player./tpahere <player>– request that player to teleport to you./tpaccept [player]– accept a request./tpdeny [player]– deny a request./tpacancel– cancel your outgoing request./tpaignore– temporarily ignore incoming TPA requests./tpaallor/tpahere all– send a tpahere request to all online players.- Requests expire automatically; send again if expired.
- New request replaces your last outgoing request to avoid an endless request book.
- Target player receives clickable accept/deny buttons.
- In
tpahere, the receiver is moved, but cost and cooldown belong to the requester.
Common commands:
/tpa <player>
/tpahere <player>
/tpahere all
/tpaccept [player]
/tpdeny [player]
/tpacancel
/tpaignore
/tpaall
🔙 Back Return System
/back is suitable for death recovery, rollback after accidental teleport, and returning to the original location after cross‑plugin teleportation.
/back– returns to the most recent available location./back death– returns to the last death point./back list– shows the return history; with interactive chat enabled, click any record to teleport./back clear– clears your own back history.- Records pre‑teleport positions from internal plugin teleports, player death points, and pre‑teleport positions from external plugins.
- Filters by distance – moves less than the threshold (default 3 blocks) are not recorded to prevent spam.
- Configurable maximum history size (default 5).
- Configurable expiry time (default 1800 seconds).
- Persistent storage – back history saved to
data/back. - Independent warm‑up, cooldown, cost, safety rescue, world black/whitelist, and hooks.
- Priority configuration – default prefers death points first, then plugin pre‑teleport, then external pre‑teleport.
Common commands:
/back
/back death
/back list
/back clear
Core configuration:
teleports:
back:
enabled: true
commands:
back: [back]
warmup-seconds: 5
cooldown-seconds: 10
cost: 0.0
safety-rescue: true
max-history: 5
expire-seconds: 1800
persist: true
capture:
plugin-teleports: true
death: true
external-teleports: true
include-types: [random, warp, home, tpa, share, back]
min-distance: 3.0
priority: [death, teleport, external]
📡 Coordinate Sharing
Ideal for temporary rally points, resource discoveries, event coordinates, team gatherings, and exploration sharing.
After a successful teleport, the success message can include a "Share Current Location" button. Clicking it broadcasts the coordinate share to all online players, who can click to teleport.
- Shares have an expiry time; they are automatically invalid after expiry.
- Shares have their own cooldown.
- Maximum number of active shares in memory to prevent long‑term buildup.
- Sharing and teleporting via share can be separately charged.
- Coordinate sharing inherits or individually configures world black/whitelist.
Common commands:
/yuteleport share
/yuteleport join <share_id>
🛡️ Safe Landing & Rescue
YuTeleport checks the following before a random teleport:
- Is the block below the player solid enough?
- Is there enough space for the player's body and head?
- Is the extra headroom above meeting the configuration?
- Dangerous blocks: water, lava, fire, cactus, cobwebs, magma blocks, etc.
- Void, world min/max height, world border.
- Biome black/whitelist.
- Vertical candidate positions in complex dimensions like the Nether.
This reduces the risk of:
- Players stuck inside blocks or walls.
- Landing in lava, underwater, or hazardous blocks.
- Teleporting outside the world border or exactly on the border.
- Landing at the void edge or floating in the air.
- Nether random landing on a platform without a solid foothold.
Fixed‑point modules (warp, home, tpa, share, back) respect the stored coordinates by default and do not force a new random safe‑point search. If you worry about points being broken, enable safety-rescue for that module to perform a stuck‑rescue after arrival.
🌍 World Access & Per‑Module Configuration
YuTeleport supports a global default world‑access rule, which can be overridden per module:
teleports.defaults.world-access
teleports.rtp.world-access
teleports.warp.world-access
teleports.home.world-access
teleports.tpa.world-access
teleports.share.world-access
teleports.back.world-access
World lists support * wildcards:
lobby
resource_*
*_nether
*event*
*
Typical use cases:
- Overworld: moderate radius, low cost, exclude oceans.
- Resource world: huge radius, high cost, enable async search and pre‑caching.
- Nether: restrict height, increase attempts, set allowed‑block whitelist.
- Event worlds: allow only specific modules or block entirely.
- Lobby world: disable
/backor all player‑initiated teleports.
⚡ Async Search & Pre‑caching
Traditional RTP sync‑loads new chunks during teleport, causing lag during peak times. YuTeleport offers two optimizations.
Asynchronous Safe‑Point Search
teleports:
rtp:
search-mode: async
On Paper 1.13+ and compatible cores, the plugin uses async chunk loading to find random landing points. If the current server does not support it, it automatically falls back to sync mode and logs a hint. On Folia, the plugin respects the region‑scheduling model and does not rely on traditional main‑thread assumptions.
Landing‑Point Pre‑caching
teleports:
rtp:
precache:
enabled: true
size: 3
The plugin can pre‑generate 1–16 safe landing points per world in the background. When a player requests random teleport and the cache is hit, the online search phase is skipped – only final verification and the remaining pipeline are executed.
⏳ Countdown, Interruptions & Feedback
All teleport modules can use the unified wait countdown.
teleports:
defaults:
warmup-seconds: 5
countdown-display: actionbar
cancel-on-move: true
cancel-triggers:
move: true
damage: true
interact: true
chat: true
command: true
Display channels:
- Chat
- BossBar
- ActionBar
- Silent wait
Interruption conditions:
- Move
- Damage
- Interact
- Chat
- Execute command
Players with yuteleport.bypass.wait skip the wait.
Players with yuteleport.bypass.cooldown skip cooldowns.
Players with yuteleport.bypass.cost skip costs.
💰 Economy System
economy:
enabled: true
provider: vault # vault or playerpoints
Features:
- Vault coin economy.
- PlayerPoints currency economy.
- RTP priced per world.
- Warp / Home / TPA / Share / Back priced per module.
- Permission‑group cost overrides.
- Insufficient balance notification.
- Second balance check after the wait ends.
- Automatic refund on failure, cancellation, or Folia retirement.
- Duplicate teleport protection to avoid double charges.
PlayerPoints uses integer currency; costs are rounded up, and refunds follow the same rounding logic.
👥 Permission Group Overrides
groups:
vip:
rtp:
cooldown-seconds: 10
cost: 5.0
warp:
cooldown-seconds: 2
max-warps: 40
home:
cooldown-seconds: 2
max-homes: 20
tpa:
cooldown-seconds: 5
cost: 0.25
mvp:
rtp:
cooldown-seconds: 0
cost: 0.0
warp:
cooldown-seconds: 0
cost: 0.0
max-warps: 100
home:
cooldown-seconds: 0
cost: 0.0
max-homes: 50
tpa:
cooldown-seconds: 0
cost: 0.0
Players with the permission yuteleport.group.vip or yuteleport.group.mvp automatically receive the corresponding configuration. If multiple groups match, the first one in the config file order is applied.
Examples:
- Default players get standard cooldowns and costs.
- VIP players get reduced cooldowns and more homes/warps.
- MVP players have no cooldowns and free teleports.
- Temporary discounts for a group during events.
🧰 Command Overview
RTP
/yuteleport
/ytp
/rtp
/yuteleport biome:<pattern>
/yuteleport <player>
/yuteleport <player> <world>
/yuteleport <player> <world> biome:<pattern>
/yuteleport reload
/yuteleport help
Warp
/warp
/warp <name>
/warp public
/warp public <name> true
/warp rename <old> <new>
/warp desc <name> <description>
/setwarp <name> [restricted|public|private] [description]
/delwarp <name>
Home
/home
/home <name>
/home list
/home public
/home public <name> true
/home rename <old> <new>
/home desc <name> <description>
/home <player>:<name>
/homes
/homes <player>
/sethome [name] [public|private] [description]
/delhome <name>
/delhome <player>:<name>
TPA
/tpa <player>
/tpahere <player>
/tpahere all
/tpaccept [player]
/tpdeny [player]
/tpacancel
/tpaignore
/tpaall
Back
/back
/back death
/back list
/back clear
Coordinate Sharing
/yuteleport share
/yuteleport join <share_id>
Command names and aliases can be changed in the configuration. When a module is disabled, its commands are not registered, avoiding unnecessary conflicts with plugins like EssentialsX or CMI.
🔑 Permission Quick Reference
| Permission | Description | Default |
|---|---|---|
yuteleport.use |
Use random teleport | Everyone |
yuteleport.biome |
Use biome:<pattern> to specify target biome |
OP |
yuteleport.teleport.others |
Teleport other players via main command | OP |
yuteleport.reload |
Reload configuration | OP |
yuteleport.warp.use |
Use warps | Everyone |
yuteleport.warp.set |
Create or update a warp | Everyone |
yuteleport.warp.delete |
Delete your own warp | Everyone |
yuteleport.warp.public |
Make your warp public or unpublic | Everyone |
yuteleport.warp.admin |
Edit/delete all players' warps | OP |
yuteleport.warp.limit.<number> |
Increase warp limit dynamically | Assigned by permission plugin |
yuteleport.warp.limit.unlimited |
Unlimited warp count | Assigned by permission plugin |
yuteleport.warp.limit.bypass |
Ignore warp limit expiry lock | OP |
yuteleport.warps.<name> |
Use the specified restricted warp | OP |
yuteleport.home.use |
Use homes and view your own homes | Everyone |
yuteleport.home.set |
Create or update a home | Everyone |
yuteleport.home.delete |
Delete a home | Everyone |
yuteleport.home.others |
View or use online players' homes | OP |
yuteleport.home.public |
Make your home public or unpublic | Everyone |
yuteleport.home.limit.<number> |
Increase home limit dynamically | Assigned by permission plugin |
yuteleport.home.limit.unlimited |
Unlimited home count | Assigned by permission plugin |
yuteleport.home.limit.bypass |
Ignore home limit expiry lock | OP |
yuteleport.tpa.use |
Use tpa, tpaccept, tpdeny, tpacancel | Everyone |
yuteleport.tpa.here |
Use tpahere | Everyone |
yuteleport.tpa.ignore |
Ignore incoming TPA requests | Everyone |
yuteleport.tpa.all |
Send tpahere to all online players | OP |
yuteleport.share |
Share current location after successful teleport | Everyone |
yuteleport.back.use |
Use /back |
Everyone |
yuteleport.back.death |
Use /back death |
Everyone |
yuteleport.back.clear |
Clear your own back history | Everyone |
yuteleport.back.admin |
Reserved admin permission for back | OP |
yuteleport.bypass.cooldown |
Skip teleport cooldowns | OP |
yuteleport.bypass.cooldown.others |
Ignore target cooldown when admin‑teleporting others | OP |
yuteleport.bypass.cost |
Skip teleport costs | OP |
yuteleport.bypass.wait |
Skip wait countdown | OP |
yuteleport.group.<group> |
Apply the corresponding group configuration | Assigned by permission plugin |
📊 PlaceholderAPI, Java API & Events
After PlaceholderAPI is installed, you can use %yuteleport_*% placeholders.
Common examples:
%yuteleport_version%
%yuteleport_platform%
%yuteleport_search_mode%
%yuteleport_random_enabled%
%yuteleport_warp_enabled%
%yuteleport_home_enabled%
%yuteleport_tpa_enabled%
%yuteleport_share_enabled%
%yuteleport_back_enabled%
%yuteleport_cooldown_random%
%yuteleport_cooldown_warp%
%yuteleport_cooldown_home%
%yuteleport_cooldown_tpa%
%yuteleport_cooldown_share%
%yuteleport_cooldown_back%
%yuteleport_cost_random%
%yuteleport_cost_warp%
%yuteleport_cost_home%
%yuteleport_cost_tpa%
%yuteleport_cost_share%
%yuteleport_cost_back%
%yuteleport_home_count%
%yuteleport_home_max%
%yuteleport_visible_warp_count%
%yuteleport_tpa_pending_count%
%yuteleport_success_rate%
Useful for:
- Scoreboards
- TAB lists
- Menu plugins
- Quest plugins
- Achievement systems
- Statistics panels
Developers can obtain the public Java API via Bukkit's ServicesManager:
RegisteredServiceProvider<YuTeleportApi> registration =
Bukkit.getServicesManager().getRegistration(YuTeleportApi.class);
YuTeleportApi api = registration == null ? null : registration.getProvider();
The API can initiate random teleports, warp teleports, home teleports, back teleports, and TPA requests; read module enable states, cooldowns, costs, warp/home lists, and teleport statistics.
Lifecycle events:
PlayerTeleportStartEventPlayerTeleportDestinationEventPlayerTeleportCancelEventPlayerTeleportCompleteEvent
Commands and the API share the same entry points, so third‑party plugins cannot bypass permissions, world access, cooldowns, waiting, economy, or safety rules.
🧱 Compatibility
Minecraft Versions
The plugin targets cross‑version compatibility for Minecraft 1.8.x – 1.26.x Bukkit / Spigot / Paper ecosystems.
Different features are auto‑detected and downgraded:
- BossBar: 1.9+ supported; falls back to other countdown channels otherwise.
- ActionBar / Title: enabled when supported; older versions skip or downgrade automatically.
- Particle effects: 1.9+ supported; does not affect teleport if unavailable.
&#RRGGBBhex colors: natively displayed on 1.16+; older versions downgrade to legacy colours.- Paper async chunk loading: used for async search and pre‑caching when available; falls back to sync search otherwise.
- 1.18+ world heights: reads min/max heights automatically, compatible with negative‑height worlds.
Server Softwares
- CraftBukkit / Spigot
- Paper / Purpur / Leaves and most Paper forks
- Folia
- Youer / Arclight / Mohist / CatServer and other hybrid servers
- Any server that follows the Bukkit / Spigot / Paper API
Soft Dependencies
- Vault: used when coin economy is enabled.
- PlayerPoints: used when points economy is enabled.
- PlaceholderAPI: automatically registers
%yuteleport_*%placeholders when installed.
If any soft dependency is missing, the plugin still runs independently; the corresponding features are skipped with clear log hints.
⚙️ Configuration Example
language:
default: zh_CN
use-player-locale: true
economy:
enabled: true
provider: vault
cooldowns:
persist: true
teleports:
defaults:
warmup-seconds: 5
countdown-display: actionbar
cancel-on-move: true
cancel-triggers:
move: true
damage: true
interact: true
chat: true
command: true
world-access:
blacklist:
- lobby
- "playerworld*"
whitelist: []
rtp:
enabled: true
warmup-seconds: -1
cooldown-seconds: 5
search-mode: async
precache:
enabled: true
size: 3
worlds:
default:
cost: 15.0
shape: circle
center:
x: 0
z: 0
radius:
min: 500
max: 10000
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*"
allowed-materials: []
blocked-biomes:
- "*OCEAN*"
allowed-biomes: []
warp:
enabled: true
warmup-seconds: 5
cooldown-seconds: 3
cost: 0.0
max-warps: 1
public:
enabled: true
publish-cost: 0.0
teleport-cost: 0.0
home:
enabled: true
warmup-seconds: 5
cooldown-seconds: 3
cost: 0.0
max-homes: 2
world-blacklist: []
public:
enabled: true
publish-cost: 0.0
teleport-cost: 0.0
tpa:
enabled: true
request-timeout-seconds: 60
warmup-seconds: 5
cooldown-seconds: 10
cost: 0.0
share:
enabled: true
cooldown-seconds: 60
expire-seconds: 120
max-active: 256
cost: 0.0
teleport-cost: 0.0
back:
enabled: true
warmup-seconds: 5
cooldown-seconds: 10
cost: 0.0
safety-rescue: true
max-history: 5
expire-seconds: 1800
persist: true
effects:
sounds:
enabled: true
titles:
enabled: true
particles:
enabled: true
smooth-bossbar: true
interactive-chat: true
🎯 Suitable for These Servers
- Survival servers
- Retirement/community servers
- Resource‑world servers
- RPG large‑map servers
- Skyblock with extra dimensions
- Tech / Slimefun servers
- Servers with many shops, spawns, and public facilities
- Event‑world servers
- Hardcore / Battle‑Royale style servers
- High‑performance Paper / Purpur servers
- Folia multithreaded servers
- Bukkit hybrid servers
- Servers needing a unified teleport system and player distribution
🔗 Official Links
- Documentation: https://vicuna-main.github.io/YuPluginHub/plugins/items/yu-teleport/
- Modrinth: https://modrinth.com/plugin/yuteleport
- Issue Tracker: https://github.com/vicuna-main/YuTeleportIssueReport
- Official QQ Group: https://qm.qq.com/q/xiwJYBYdh0
- Support the Author: https://afdian.com/a/vicuna
🎲 YuTeleport
Not just a random coordinate generator, nor a patchwork of scattered commands – but a safe teleport system designed for production servers.
🧭 Random Teleport, 📍 Warp, 🏠 Home, 🤝 TPA, 🔙 Back, 📡 Coordinate Sharing, 💰 Economy integration, 👥 Group Permissions, ⏳ Unified Countdown, 🛡️ Safe Landing, 🧵 Folia Scheduling, 📊 PAPI placeholders, and 🧑💻 Java API – all integrated into YuTeleport.
Upgrade your server's teleport from "functional" to "unified, controllable, and maintainable".


