- Tested MC versions
- 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.20, 1.21, 26.1, 26.2, 26.3
RandomTeleport
RandomTeleport is a random-teleportation plugin: multiple zones, biome filtering, a warmup with countdown, smart safety checks, a pre-generated point pool with a binary index, a disk budget, optional region protection and economy, and full multilingual support. No hard dependencies; works on Bukkit, Spigot, Paper, Purpur and Folia from 1.12.2 to 26.x (Java 8+).
Features
- Zones - rectangle or circle, per-world, per-zone overrides, world-border validation.
- Instant teleports - a pool of ready points + an index of existing chunks.
- Background refill -
on-demand,idleorboth, with TTL, spread and per-zone limits. - Smart search - parallel candidates, biome prefilter; async chunks on Paper/Folia, bounded sync generation on Spigot (no Watchdog).
- Warmup - title/actionbar, cancel on move/damage, ignored causes.
- After teleport - freeze and invulnerability until chunks are ready, preload queue, skip points near players.
- Protection - WorldGuard 6/7, GriefPrevention, Towny, Residence, Lands.
- Economy - optional Vault.
- Disk budget - free-space/weight/reserve limits, chunk registry.
/rtpstats- pools, index, disk, searches, queue, protection providers (active + installed).- Languages - EN/RU included, custom
lang_XX.json, auto-detect.
Requirements and installation
- Java 8+; Bukkit/Spigot/Paper/Purpur 1.12.2–26.x, Folia 1.19.4+.
- Optional: Vault + economy, WorldGuard, GriefPrevention, Towny, Residence, Lands.
Commands
Players
| Command | Description |
|---|---|
/rtp | Teleport to the default zone |
/rtp <zone> | Teleport to a specific zone |
/lang <code> / /lang list | Change your language / list languages |
Administrators
| Command | Description | Permission |
|---|---|---|
/centre check [zone] / /centre clear [zone] | Show / reset the zone center | random_teleport.centre.* |
/set radius <X> <Z> [zone] / /set radius check [zone] | Set / show the radius | random_teleport.set_radius.* |
/set center <X> <Z> [zone] | Set the center | random_teleport.set_radius.* |
/rtpzone list | List zones | random_teleport.zone.* |
/rtpzone create <name> <X> <Z> <radiusX> <radiusZ> | Create a zone (sender's world; console - world) | random_teleport.zone.* |
/rtpzone delete <name> / /rtpzone info <name> | Delete / inspect a zone | random_teleport.zone.* |
/rtpbiome list | exclude <biome> | include <biome> | reset | Manage excluded biomes | random_teleport.biome.* |
/rtpreload [force] | Reload config/zones/biomes/languages; force repeats migration | random_teleport.reload |
/rtpstats | Show plugin statistics | random_teleport.stats |
Aliases: /rtp - randomtp, wild; /centre - center; /rtpzone - zone, tpzone; /rtpbiome - biome; /rtpreload - rtprl; /rtpstats - rtpinfo.
Permissions
| Permission | Default | Purpose |
|---|---|---|
random_teleport.rtp | true | Use /rtp |
random_teleport.centre.* | op | Manage zone centers |
random_teleport.set_radius.* | op | Radius and center |
random_teleport.zone.* | op | Zone management |
random_teleport.biome.* | op | Biome management |
random_teleport.reload | op | Reload and migration |
random_teleport.stats | op | /rtpstats |
random_teleport.cooldown.admin / premium / vip | op / false / false | 0 / 5 / 15 s cooldown |
| Default cooldown | — | 30 s |
Configuration
| Key | Default | Purpose |
|---|---|---|
default-language / auto-detect-language | EN / true | Language of new players / client detection |
cooldown.default | 30 | Default cooldown, seconds |
warmup.delay / warmup.display | 3 / title | Countdown delay / title, actionbar, both |
teleportation.min-height / max-height | 60 / 0 | Height limits (0 = no max) |
teleportation.sync-generation-budget-ms | 3000 | Sync generation time budget on Spigot |
pool.replenish.mode | both | Background refill mode |
pool.disk-budget.max-gb | 20 | Disk budget cap |
index.enabled / scan-existing | true / true | Index of existing chunks |
zone-defaults.pool.low / high | 4 / 12 | Refill thresholds |
zone-defaults.min-delivery-distance | 256 | Minimum spread between deliveries |
zone-defaults.protection.providers | [] | WORLDGUARD, WORLDGUARD6/7, GRIEFPREVENTION, TOWNY, RESIDENCE, LANDS |
zone-defaults.economy.cost / economy.enabled | 0 / false | Per-zone cost / Vault hook |
Zones live in zones; any zone-defaults key can be overridden as zones.<name>.<path>:
zones:
default:
center: { x: 0, z: 0 }
radius: { x: 10000, z: 10000 }
worlds: [world]
nether:
center: { x: 0, z: 0 }
radius: { x: 1000, z: 1000 }
worlds: [world_nether]
Languages
Create plugins/RandomTeleport/languages/lang_XX.json from lang_en.json, translate values, keep keys unchanged; restart or /rtpreload. Players use /lang XX; console sets the default language. auto-detect-language: true uses the client language on first login.
Notes
- Spigot: synchronous chunk generation is bounded by count, delay and
sync-generation-budget-ms; lower the budget on weak hardware. - Folia: supported; the pool may fill slower in idle because of region scheduling.
- Nether:
worlds.world_nether.max-height: 125keeps points off the roof; setmin-heightthere if you need points below the global 60. - Ocean-only zone: the pool may stay empty with
avoid-water: true; shrink/move the zone or relaxsafety-checks.
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta
LuckPerms
A permissions plugin/mod for Minecraft servers.
2.8MSueta
ItemSwapper
Inventory update concept for hotswapping items.
2.1MSueta
SkinsRestorer
🎨 Ability to restore/change skins on servers! (Offline and Online Mode)
1.6MSueta