Dexter Studio
Home›DexRTP›Configuration
DexRTP · Configuration

Configuration

Rules live in config.yml; layouts in gui.yml and dialog.yml. Run /dexrtp reload after editing.

Who sees what

client:
  mode: auto             # auto | always-dialog | always-chest
  bedrock-mode: form     # form (needs Floodgate) | chest
  unknown-client: chest  # if ViaVersion can't answer
  min-protocol: 771      # 1.21.6
◆

Someone got the wrong menu? /dexrtp check <player> prints the screen they get, their detected protocol, and whether ViaVersion and Floodgate are visible.

Destinations

The id on the left is what /rtp <id> and the menus use. Add as many as you like.

default-destination: overworld
destinations:
  overworld:
    world: world
    scan-mode: surface
    min-radius: 500
    max-radius: 10000
    center-x: 0
    center-z: 0
    permission: ''
    cooldown-seconds: -1     # -1 = use the global value
    warmup-seconds: -1
  nether:
    world: world_nether
    scan-mode: roofed          # scans down — keeps players off the bedrock roof
    min-radius: 200
    max-radius: 3000
    min-y: 8
    max-y: 100

Teleport rules

cooldown-seconds: 30
warmup-seconds: 5
cancel-warmup-on-move: true
cancel-warmup-on-damage: true
max-attempts: 40
block-in-combat: true
combat-tag-seconds: 15
respect-world-border: true
after-teleport:
  invulnerable-seconds: 3
  title: '&aTeleported'
  subtitle: '&7%world% &8| &7%x%, %y%, %z%'
unsafe-blocks: [LAVA, WATER, FIRE, CACTUS, MAGMA_BLOCK, POWDER_SNOW, ...]
blocked-biomes: [OCEAN, DEEP_OCEAN, RIVER, ...]

Shared queue

queue:
  enabled: true
  destination: overworld
  min-players: 2        # teleport once this many are waiting...
  wait-seconds: 15      # ...or after this long
  spread: 8             # everyone lands within N blocks
  announce: true

Command names

commands:
  open:  { name: rtp,      aliases: [randomtp] }
  queue: { name: rtpqueue, aliases: [rtpq] }
  admin: { name: dexrtp,   aliases: [drtp] }
!

Changing command names needs a full restart, not a reload. A name another plugin already owns is skipped with a console warning.

Menu items (gui.yml)

items:
  'nether':
    material: NETHERRACK      # or basehead-<base64>, head-<name>
    slot: 11                  # or slots: [11, 12] / '0-8,17'
    display_name: '&cNether'
    permission: ''
    left_click_commands:
      - '[rtp] nether'
      - '[close]'

Action tokens

TokenEffect
[rtp] <destination>Teleport
[rtpqueue] join|leave|statusThe shared queue
[biomes] <dimension>Open the biome browser
[biometp] <dimension> <biome>Teleport into one biome
[biomerandom] [dimension]Random biome that really exists
[biomepage] next|prev · [biomesearch] [clear]Page / search the biome browser
[player] · [console]Run a command as the player / console
[message] · [broadcast]Send text
[sound] <SOUND> [vol] [pitch] · [title] a;bSound / title
[delay] <ticks> · [close] · [refresh]Flow control

A line with no token runs as the player, same as DeluxeMenus.