-
Notifications
You must be signed in to change notification settings - Fork 1
Module Teleport
j-gaertig-co-dev edited this page Aug 13, 2026
·
2 revisions
Config file: modules/teleport.yml — current version: 1.0 — view current default on GitHub
Enable via config.yml → modules.teleport: true
This module has two independent sub-systems, TPA and RTP, each with its own enabled flag, so you can run one without the other.
- Send a request to teleport to another player, or invite them to teleport to you.
- Requests time out automatically (
request_timeout, default 300s). -
Auto-accept: toggle with
/tpautoto automatically accept incoming requests from anyone — this preference persists across logout/login. - Optional teleport countdown (
counter) before the actual teleport happens, which cancels if you move, take damage, die, or interact — fully configurable which of those trigger a cancel. - Teleports use Paper's async teleport API and are Folia-safe.
| Command | Description | Permission |
|---|---|---|
/tpa <player> |
Request to teleport to a player. | plainbase.teleport.tpa.tpa |
/tpahere <player> |
Request that a player teleports to you. | plainbase.teleport.tpa.tpahere |
/tpaccept |
Accept the pending request. | plainbase.teleport.tpa.tpaccept |
/tpdeny |
Deny the pending request. | plainbase.teleport.tpa.tpdeny |
/tpacancel |
Cancel a request you sent. | plainbase.teleport.tpa.tpacancel |
/tpauto |
Toggle auto-accepting incoming requests. | plainbase.teleport.tpa.tpauto |
| (all TPA commands) | Grants every TPA permission above. | plainbase.teleport.tpa.admin |
- Teleports the player to a random, safe location in their current world.
-
Cooldown between uses (
cooldown, seconds). - Same optional countdown-with-cancel-conditions system as TPA.
-
Safety blacklist: rejects locations in listed biomes (e.g.
ocean) or where the landing/surrounding block is in theblocksblacklist (water, lava, cacti, cauldrons, powder snow, void/barrier/portal blocks, etc.) — keeps you from spawning into open water, damage sources or the void.
| Command | Description | Permission |
|---|---|---|
/rtp |
Teleport to a random, safe location. | plainbase.teleport.rtp.rtp |
| (all RTP commands) | Grants every RTP permission above. | plainbase.teleport.rtp.admin |
| Permission | Grants |
|---|---|
plainbase.teleport.admin |
Every permission of the Teleport module (TPA + RTP combined). |
tpa:
enabled: true
request_timeout: 300 # in seconds
counter:
enabled: true
seconds: 3
# allowed values: move, damage, death, interact — leave empty for no cancellation
cancel_on: [move, damage, death, interact]
commands:
tpa: { enabled: true }
tpahere: { enabled: true }
tpaccept: { enabled: true }
tpdeny: { enabled: true }
tpauto: { enabled: true }
tpacancel: { enabled: true }
rtp:
enabled: true
cooldown: 60 # in seconds
counter:
enabled: true
seconds: 3
cancel_on: [move, damage, death, interact]
blacklist:
enabled: true
biomes: [ocean]
blocks: [WATER, LAVA, KELP, KELP_PLANT, SEAGRASS, CACTUS, MAGMA_BLOCK, CAMPFIRE, SOUL_CAMPFIRE, FIRE, SOUL_FIRE, LAVA_CAULDRON, WATER_CAULDRON, POWDER_SNOW_CAULDRON, SWEET_BERRY_BUSH, WITHER_ROSE, POWDER_SNOW, AIR, CAVE_AIR, VOID_AIR, BEDROCK, BARRIER, STRUCTURE_VOID, PORTAL, END_PORTAL, SAND, RED_SAND, GRAVEL, POINTED_DRIPSTONE]
commands:
rtp: { enabled: true }Block/biome names use vanilla Bukkit Material/Biome enum names — extend the lists with any other material or biome key you want to blacklist.