Teleportation

Last updated Sep 18, 2026

Teleportation

Homes, warps, TPA, staff teleports, RTP, and world manager. Config: teleport.yml, rtp.yml, waypoints.yml. Modules: teleportation, homes, warps, tpa, spawn, death-settings, rtp, waypoints, world-manager.

Commands reference: Commands: Player, Commands: Admin.

Homes (Shared Invite)

Action Command
Set / delete /sa sethome [name], /sa delhome <name>
Teleport / list /sa home [name], /sa homes [player]
Rename / default / move /sa home rename, setdefault, move
Share /sa home invite <name> <player>
Unshare /sa home uninvite <name> <player>
List shared with you /sa home shared

Invited players teleport via shared-home resolution (owner + name). Limits: soapsadmin.home.limit.<n>. Others' homes: soapsadmin.home.others. Claim/region checks: teleport.ymlclaims; bypass soapsadmin.teleport.bypass-claims.

Warps

Action Command Permission
Teleport /sa warp <name> soapsadmin.warp
List / info /sa warps, /sa warp info <name> soapsadmin.warp
Create / delete /sa setwarp <name>, /sa delwarp <name> soapsadmin.setwarp

TPA Cancel / Auto

Command Effect
/sa tpa <player> / /sa tpahere <player> Request
/sa tpaccept / /sa tpdeny Respond
/sa tpacancel Cancel outgoing
/sa tpa pending Pending list
/sa tptoggle Block incoming
/sa tpauto Auto-accept

Warmup/cooldown: teleport.yml. Bypass: soapsadmin.teleport.bypass. Claim checks run before consuming a pending accept.

Staff Teleports / Jump / Offline

Command Usage Permission
/sa tphere <player> Pull player to you soapsadmin.tphere
/sa tpto <player> Go to player soapsadmin.tpto
/sa tppos <x> <y> <z> [world] Absolute coords soapsadmin.tppos
/sa tpall [world] All players to you soapsadmin.tpall
/sa jump Teleport to looked-at block soapsadmin.jump
/sa top / /sa bottom Highest / lowest block soapsadmin.top / soapsadmin.bottom
/sa tpoffline <player> Last logout location soapsadmin.tpoffline
/sa back Previous location (SoapsAdmin TPs, RTP, world TP, portals, death; in-memory until logout) soapsadmin.back
/sa biome <biome> Find and teleport to a biome soapsadmin.biome
/sa spawn [player] Server spawn soapsadmin.spawn / spawn.others
/sa setspawn / /sa delspawn / /sa setfirstspawn Server spawn points soapsadmin.setspawn
/sa worldspawn Current world's spawn soapsadmin.worldspawn
/sa setworldspawn Set current world's spawn soapsadmin.setworldspawn

Server spawn vs world spawn

SoapsAdmin has two spawn systems. They are independent.

Server spawn World spawn
Commands /sa setspawn, /sa spawn, /sa setfirstspawn, /sa delspawn /sa setworldspawn, /sa worldspawn
Storage plugins/SoapsAdmin/data/server/spawns.yml Bukkit / vanilla world spawn (level.dat)
Scope One (or first-join) point used across the server Per world you are standing in
Typical use Lobby / hub for /sa spawn and death respawn Entry point for that world, /sa world tp, new world create

/sa spawn never uses the Bukkit world spawn. /sa worldspawn never reads spawns.yml.

Death respawn at the server spawn is controlled by death-settings.spawn-respawn in teleport.yml (module death-settings). New worlds created with the world manager get a Bukkit world spawn set on create; overwrite it with /sa setworldspawn.

RTP

Command Usage Permission
/sa rtp World picker GUI (or current world if GUI off) soapsadmin.rtp
/sa rtp <world> Random teleport into that world soapsadmin.rtp
/sa tprandom / /sa tp random Teleport to a random online player soapsadmin.tprandom

/sa tprandom cycles through online players before repeating the same target.

How search works

  1. Samples random X/Z within min-radiusmax-radius (from spawn, or from you when same-world-from-player and same world).
  2. If the chunk is unloaded and load-chunks: true, SoapsAdmin loads/generates it, then checks height, biomes, unsafe blocks, claims.
  3. On success, teleport warmup/cooldown from teleport.yml still apply; destination chunks are preloaded (3×3) before you arrive.
Platform Chunk load during RTP
Paper Async (getChunkAtAsync). Preferred.
Spigot Sync getChunkAt on the main thread. Works, but may hitch under heavy generation.

Config: rtp.yml (load-chunks, max-pending-chunk-loads, radii, Y bounds, fallback pass). Cooldown bypass: soapsadmin.rtp.bypass-cooldown. Claim blocking: teleport.ymlclaims.block-rtp-in-claims. Placeholder: %soapsadmin_rtp_cooldown%.

If search fails with CHUNK_NOT_READY and chunksLoaded=0, ensure settings.load-chunks: true in the server rtp.yml and update to 1.7.0+.

World Manager

Command Usage Permission
/sa world list List worlds soapsadmin.world / worldmanager
/sa world tp|create|load|unload ... Manage worlds soapsadmin.worldmanager
/sa world fixgenerator <name> Reattach void/custom generator after a bad boot load soapsadmin.worldmanager

Module: world-manager. Settings: server.yml. New worlds get a Bukkit world spawn set on create (void: bedrock platform at 0,64,0; other types: surface at the generator spawn). Use /sa setworldspawn to overwrite it.

Void worlds

Void worlds use the named generator SoapsAdmin:void (saved into level.dat) so Paper/Spigot reattach it on restart. Meta also lives in plugins/SoapsAdmin/worlds.yml as generator: VOID.

If land suddenly appears (chunk walls of normal terrain):

  1. Confirm worlds.yml has generator: VOID for that world.
  2. Run /sa world fixgenerator <world> (unload → reload with void generator).
  3. Already-generated terrain stays in region/. To wipe it: unload, delete the world's region/ folder (optionally keep other data), then /sa world load <world>.
  4. Do not put the void world in bukkit.yml with a different generator.

Waypoints

/sa waypoint opens the waypoint list. Create waypoint places one at your feet, then opens the edit GUI (rename, move here, marker, color). You can still use /sa waypoint set <name> from chat.

Right-click a waypoint to track it. A boss bar at the top shows the name and how many meters away you are. The bar drains as you get closer. When you walk into settings.arrive-radius (default 3 blocks), the bar goes away and you get You reached waypoint <name>. Right-click again, or Stop Tracking in the GUI, to cancel.

Marker names float above the block. In the edit GUI, open Label style to change brightness, background plate, see-through, shadow, bold, and size. Server defaults live under display.label in waypoints.yml. If an old waypoints.yml is missing the new keys, jar defaults still apply: bossbar-tracking: true, bossbar-full-distance: 100. Optional action bar: use-player-tracking: true.

Teleport, track, and display permissions: soapsadmin.waypoint.*. Config: waypoints.yml.