Skip to content

Module Teleport

j-gaertig-co-dev edited this page Aug 13, 2026 · 2 revisions

Teleport Module (TPA & RTP)

Config file: modules/teleport.yml — current version: 1.0view current default on GitHub Enable via config.ymlmodules.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.

TPA (player-to-player teleport requests)

  • 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 /tpauto to 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

RTP (random teleport)

  • 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 the blocks blacklist (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

Module-wide permission

Permission Grants
plainbase.teleport.admin Every permission of the Teleport module (TPA + RTP combined).

Configuration (modules/teleport.yml)

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.

Clone this wiki locally