Roanoke Development
  • Home
  • Terms and Conditions
  • Product Pricing
  • Mods
    • CobbledSync
      • Setup
    • Lazy NPCs
      • Defined Locations
      • Defined Items
      • Molang
        • Economy Methods
        • Player Methods
    • Oxygen
      • Player Warps
        • Commands & Permissions
      • Commands & Permissions
        • Configured TP (CTP)
      • RTP (Random Teleport)
        • Configured RTP (Admin Command)
      • Migrating from EEssentials
    • WonderTrade
      • Announcements
      • Commands & Permissions
      • Trade Pool(s)
    • Teams
    • Tournaments
      • Time Limits
    • CobbledSpawners
      • Config
      • Spawners
      • Spawn Groups
      • Commands & Permissions
    • ScavengerHunts
    • PPokedex
      • Commands
      • Configurable GUI
      • Configuration
      • Items
      • Ranks
      • Pokedex
    • GGyms
      • Gym Rewards
      • Gym Requirements
      • Commands & Permissions
    • BetterBreeding
      • Egg Encryption
      • Pasture Based Breeding
      • Configurable Items
      • Commands & Permissions
      • GUIs
      • Breeding Configuration
    • Research Tasks
    • Roanoke Library (Rib)
      • Placeholders
        • Pokemon Placeholders
        • Player Placeholders
      • Rewards
      • Item Builder
      • Custom GUI
      • Requirements
        • Multiple Requirements Requirement
        • Pokemon Party Requirements
        • Registering Custom Requirements
        • Permission Requirement
      • Quests
        • Other Quests
        • Placeholder Quests
        • Cobblemon Quests
        • Minecraft Quests
        • Registering Custom Quests
      • PokeMatch
        • IVs/EVs
    • GiftBox
      • Quick Start
      • Commands & Permissions
      • Player Groups
      • Gift Definitions
    • Cobblemon Bank
      • Commands & Permissions
      • Bank Transactions
      • Bank Config
    • Boosters
      • Commands & Permissions
Powered by GitBook
On this page
  • 🌍 RTP (Random Teleport)
  • ⚙️ How RTP Works
  • 🛠️ Customising Per-Server Settings
  • 🧾 Full RTP Settings Object
  1. Mods
  2. Oxygen

RTP (Random Teleport)

🌍 RTP (Random Teleport)

RTP is a surprisingly opinionated feature — should it be GUI-driven? Biome-aware? Dimension-specific? We've taken a flexible approach that covers the most important use cases for Cobblemon networks — and is designed to grow over time.

Oxygen introduces RTP Flows, a system that gives you full control over where and how players teleport across your network. You define:

  • Flows — groups of RTP options based on filters (e.g. current server)

  • Filters — simple JSON objects that match player state (e.g. { "server": "spawn" })

  • Results — one or more RTP settings applied if the filter matches

Right now, results are selected randomly and unweighted. In the future, you’ll be able to prefer servers with fewer players, better performance, or based on custom conditions.


⚙️ How RTP Works

When a player runs /rtp, Oxygen:

  1. Iterates through all defined flows.

  2. Checks whether the filter matches the player's current state.

  3. If it matches, a random result (RTP settings) is selected from that flow.

  4. The last matching flow overrides earlier ones.

Here’s a minimal example:

"flows": [
  {
    "filter": { "server": "beta" },
    "result": [ { "server": "alpha" } ]
  },
  {
    "filter": { "server": "alpha" },
    "result": [ { "server": "beta" } ]
  }
]

If a player is on beta, they RTP to alpha. If they’re on alpha, they RTP to beta.

📄 rtp_config.json Example (Roanoke Diamond)

{
  "defaultDimension": "minecraft:overworld",
  "defaultCenterX": 0,
  "defaultCenterZ": 0,
  "defaultMinDistance": 100,
  "defaultMaxDistance": 3000,
  "defaultHighestY": 320,
  "defaultMaxAttempts": 30,
  "defaultAllowCaveTeleports": false,
  "flows": [
    {
      "filter": { "server": "spawn" },
      "result": [
        { "server": "core" },
        { "server": "prime" },
        { "server": "haven" }
      ]
    },
    {
      "filter": { "server": "core" },
      "result": [ { "server": "core" } ]
    },
    {
      "filter": { "server": "prime" },
      "result": [ { "server": "prime" } ]
    },
    {
      "filter": { "server": "haven" },
      "result": [ { "server": "haven" } ]
    }
  ]
}

🔄 Flow Summary

  • Spawn: randomly RTPs players to core, prime, or haven

  • Core/Prime/Haven: RTPs stay on the same server

Because only server is defined in each result, all other RTP settings (like distance and cave rules) fall back to the defaults at the top of the config.

🛠️ Customising Per-Server Settings

You can override default settings in a specific result object. For example, if you want a larger RTP radius on prime, just update its entries like so:

{
  "server": "prime",
  "maxDistance": 10000
}

Update both the spawn flow and the prime flow if you want the setting to apply regardless of where the player comes from:

{
  "filter": { "server": "prime" },
  "result": [ { "server": "prime", "maxDistance": 10000 } ]
}

🧾 Full RTP Settings Object

Each object in a result array represents an RTP destination with optional overrides.

{
  "server": "core",
  "worldId": "minecraft:overworld",
  "centerX": 0,
  "centerZ": 0,
  "minDistance": 250,
  "maxDistance": 5000,
  "highestY": 320,
  "maxAttempts": 30,
  "allowCaveTeleports": false
}
  • server: target server for RTP (required)

  • worldId: Minecraft dimension to RTP in

  • centerX, centerZ: the centre used for RTP ranges

  • minDistance, maxDistance: range from (0, 0)

  • highestY: cap Y-level (e.g. avoid mountains)

  • maxAttempts: number of times to try finding a valid location

  • allowCaveTeleports: whether caves are valid RTP spots

Any keys not defined will fall back to the global defaults at the top of rtp_config.json.

Teleporting to The Nether?

Make sure to set "allowCaveTeleports" to true!

PreviousConfigured TP (CTP)NextConfigured RTP (Admin Command)

Last updated 2 months ago