COWMODSКаталог модов

Roam

Advanced asynchronous random teleport (RTP) plugin for Paper, Purpur and Folia. Features a modern GUI, biome targeting, favorites, history, stats, claim protection bypass, Vault economy integration, and full customization.

Автор: naren.sanchez.h5312обновлён 4 окт. 2026 г.
УправлениеТранспортУтилиты

Описание

Roam

Async random teleport plugin for Paper, Purpur and Folia.

Source-available • Folia-native • Even 16-direction spread • Iris/TerraformGenerator support • 7 languages


Requirements

  • Paper, Purpur or Folia
  • Minecraft 1.20.1 → 1.21.11 → 26.1.x → 26.2 → 26.3 — 20 releases, one jar
  • Java 17+ — this follows your Minecraft version, not Roam: 1.20.1–1.20.4 run on 17, 1.20.5–1.21.11 on 21, 26.x on 25. Roam's bytecode targets 17, so it never raises your floor.

Spigot is NOT supported.

Roam depends on:

  • Adventure API
  • Async chunk loading
  • Folia schedulers

Paper renamed its versions after 1.21.11 — there is no 1.21.12; the next release is 26.1.0.

Forward compatibility

The supported range isn't a claim, it's a build gate. Every build runs a checker that walks each API call the shipped jar makes and resolves it against the newest server API, failing on removed members and on class↔interface flips. The 1.6.1 jar is verified clean against all 20 published releases in the range, and tested live on Paper 26.3.


Performance

  • ~0.91% CPU usage on production Folia servers
  • Sequential search 18.4 s → 2.1 s mean; 40 searches at once 0/40 → 40/40 at 20 TPS
  • Vanilla biome pre-filter and a server-wide chunk-load limit: searches no longer generate the world away
  • Adaptive self-tuning: background work throttles to zero when the server is busy
  • No chunk generation per rejected candidate on Iris worlds (noise-stream screening)
  • No idle loops, no unsafe thread usage — async-first architecture

Parallel Search

Roam evaluates multiple teleport candidates concurrently (1–16).

Typical teleport search times:

  • Dense/claimed worlds: ~1–2s
  • Traditional RTP plugins: ~5–10s

Features

  • Async parallel RTP
  • Even spread (opt-in) — distribution: spread walks an outward spiral: 16 directions per lap, one distance ring further out each lap, so players land evenly everywhere
  • Built-in GUI, plus an admin menu to edit per-world settings in-game
  • Biome targeting, including cave biomes and the 26.3 Dappled Forest
  • Biome unlock progression (opt-in) — players discover biomes on foot before they can teleport to them
  • Biome collection GUI — crystal cards that reveal each biome as you explore
  • Claim-aware teleportation
  • YAML / SQLite / MariaDB
  • 7 languages (chat + GUI): EN, ES, PT_BR, RU, ZH_CN, RO, DE
  • Favorites & history
  • Density preview
  • Per-permission tiers — different zones, cooldowns and costs per rank
  • Custom locations / presets — named, weighted spawn-points instead of a random search
  • Pre-warmed location cache + chunk preload
  • Append-only audit log (opt-in)
  • [RTP] signs
  • RTP on death
  • NPC integration
  • Vault economy support
  • Cooldowns & warmups
  • First-join RTP
  • Post-teleport protection

Compatibility

Every integration is detected automatically and degrades gracefully when absent.

Region Plugins

  • WorldGuard
  • GriefPrevention
  • GriefDefender
  • Towny
  • Lands
  • Residence
  • RedProtect
  • Factions
  • KingdomsX
  • HuskClaims
  • HuskTowns
  • CrashClaim

Other Plugins

  • Vault
  • PlaceholderAPI
  • EssentialsX
  • Iris (experimental — chunk loading on Iris teleports is still slow)
  • TerraformGenerator
  • Chunky
  • Citizens
  • CombatLogX
  • HMCCosmetics

Commands

CommandDescription
/rtpRandom teleport
/rtp biomeBiome collection
/rtp locationAdmin-defined presets
/rtp backReturn
/rtp checkDensity preview
/rtp save / go / historyFavorites & history
/roamadmin guiAdmin menu
/roamadmin infoDiagnostics
/roamadmin editLive config edit, no reload
/roamadmin testsearchDry-run the search, works from console

Quick Start

  1. Put the .jar in /plugins/
  2. Start the server
  3. Configure the plugin
  4. Run /roamadmin reload
  5. Use /rtp

Example Config

global:
  warmup: 3
  cooldown: 300
  search-parallelism: 4

worlds:
  world:
    min-radius: 100
    max-radius: 5000
    distribution: spread   # random (default) | spread

storage:
  type: SQLITE

API

RoamAPI roam = RoamProvider.get();

if (roam != null) {
    roam.randomTeleport(player);
}

Events:

  • RoamPreTeleportEvent
  • RoamLocationFoundEvent
  • RoamPostTeleportEvent

Links


License

Source-available

Allowed:

  • Personal use
  • Commercial server use

Not allowed:

  • Redistribution
  • Resale

Последние версии

Все версии →
release

Roam 1.6.1

1.6.1
4 окт. 2026 г.220Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3folia, paper, purpur
Скачать
Что нового
## Roam 1.6.1 Includes everything from 1.5.0 and 1.6.0. Fully backwards compatible — new behaviour is off by default. ### Minecraft 26.3 - Supported range is now **1.20.1 → 26.3**, link-verified against the 26.3 API and tested live on Paper 26.3. - New 26.3 biome **Dappled Forest** in the biome finder and menu. ### Even spread over the RTP zone - New per-world option `distribution: spread` (default `random`). - Consecutiv ### Performance - Sequential search **18.4 s → 2.1 s** mean; 40 searches at once **0/40 → 40/40** at 20 TPS. - Heap after GC **4072 MB → 381 MB**; shutdown **5+ min → 2 s**. ### Fixed - Cross-world /rtp failing for players with a nametag or passenger. - Full audit: players stuck after logging out mid-search, paid RTPs that could end up free, unsafe landings in leaves, world-border centre ignored, and more. ### Added - Cave biomes (`lush_caves`, `dripstone_caves`), admin menu (`/roamadmin gui`), `/rtp reload`, biome filter button and redesigned menus in every language. [Full changelog](https://gitlab.com/naren.sanchez.h/roam/-/blob/main/CHANGELOG.md)
release

Roam 1.4.0

1.4.0
12 авг. 2026 г.137Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2folia, paper, purpur
Скачать
Что нового
## Roam 1.4.0 — one jar, 1.20.1 → 26.2 **If you run anything newer than 1.21.4, update now.** Roam crashed with `IncompatibleClassChangeError` on those servers. This release fixes it, extends support down to 1.20.1, and adds a build gate that verifies the whole range instead of just claiming it. Supported: `1.20.1` → `1.21.11` → `26.1.x` → `26.2` — **19 releases, one jar**, each one verified against its real API. --- ### 🔴 Fixed — crash on every server above 1.21.4 Paper turned `Biome` and `Sound` from enums into interfaces in 1.21.5. Four Roam call sites were compiled against the enum form, so the JVM refused to link them and threw `IncompatibleClassChangeError` — an `Error`, not an `Exception`, so the defensive `catch` blocks around the search didn't contain it: commands broke outright instead of degrading. Affected: the biome label on every teleport, the smart-shoreline check, the `/rtp biome` roster + tab-complete + GUI, and the biome-unlock sound. All four now resolve through the registries, which are interfaces on both sides of the split. **No config, message or API change** — `biomes.yml` entries, placeholders and `/rtp biome` arguments keep working exactly as before. ### 🟢 Added — - Bytecode now targets **Java 17**, so Roam never raises your Java floor (1.20.1–1.20.4 on 17, 1.20.5–1.21.11 on 21, 26.x on 25). - Fixed the same enum/interface trap on `InventoryView`, which flipped in 1.21 and would have broken three GUI handlers. - Action bar moved to Adventure (`sendActionBar`), dropping the deprecated BungeeCord chat bridge. - Registry lookups survive an uninitialised `Registry` on 1.20.x; an unreachable registry degrades instead of aborting config loading. - `api-version` drops to `1.20`. ### 🟢 Added — Paper 26.2 support, and proof `tools/ApiCompatCheck.java` walks every API reference the shipped jar makes and resolves it against a target server API, failing on removed members and on class/interface flips. It runs in CI on every push, and `--all` sweeps all 19 published releases in the range — which matters: `InventoryView` breaks in the middle while both endpoints look clean. - **Unlock-sound warning spammed the console** — an unresolvable `biome-finder.unlock.sound` warned on *every* unlock. Now once per bad value. It also accepts both spellings (`ENTITY_PLAYER_LEVELUP` and `entity.player.levelup`) and validates against the server's real sound registry, so resource-pack and datapack sounds resolve. - **`/roamadmin edit` accepted worlds that don't exist** — a typo'd world name was written into `config.yml` as a new `worlds.<typo>` block and reported as "Applied immediately" when nothing was applied. Now rejected unless the world is loaded or already configured (pre-configuring a world that loads later still works), with the configured world list echoed back. Disabled worlds get their own message. - **Doubled `[Roam]` prefix in console** — 33 of 64 logger calls hard-coded the prefix Bukkit already adds. Console output is consistent again. ### 🔧 Dependencies & build - `sqlite-jdbc` 3.46.1.0 → 3.53.2.1, `mariadb-java-client` 3.4.1 → 3.5.10 — both now run under the Java 25 runtime Paper 26.x requires. Both backends were verified against live servers, schema built from scratch. - Shading merges `META-INF/services` instead of letting one jar win, so both JDBC drivers are properly declared. - `maven-compiler-plugin` uses `<release>` so building on a newer JDK can't silently link against methods your server doesn't have. - JUnit 5.10.2 → 6.1.3, surefire 3.2.5 → 3.5.6, shade 3.6.0 → 3.6.2, compiler 3.13.0 → 3.15.0. --- **Upgrading:** drop in the new jar and restart. No config migration, no breaking API change.
release

Roam 1.3.0

1.3.0
10 июн. 2026 г.124Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2folia, paper, purpur
Скачать
Что нового
# Roam 1.3.0 ## Added - **Exploration-gated biome unlocks** (opt-in, `biome-finder.unlock.enabled`): `/rtp biome` — new alias `/rtp biomes` — only accepts biomes the player has physically discovered. First contact grants an advancement toast, a chat notice and a sound. Staff bypass via `roam.biome.bypass-unlock`. Existing discoveries are honoured on upgrade. - **Biome collection GUI**: undiscovered biomes render as sealed crystal cards that flip to each biome's own icon once explored — 54 curated textured heads bundled, plus a description and a "You'll find:" line for all ~110 shipped biomes, and a `Discovered: N/M` progress counter. Custom heads via `icon: "head:<base64>"` in `biomes.yml`. - **`/rtp location <name>`**: teleport to admin-defined spawn-point presets, gated per-preset with `roam.location.<name>`. - **Four new languages**: Russian, Simplified Chinese, Romanian and German join EN/ES/PT_BR — seven bundled translations covering chat **and** GUI (`gui_<lang>.yml`), switched together by `language:`. ## Performance - **Chunk-free candidate screening on Iris worlds**: water and biome checks now run against Iris' own noise streams instead of generating a chunk per rejected candidate — the single biggest cost of RTP on custom generators is gone. - **Adaptive mode** (on by default): an MSPT probe classifies the server as RELAXED / BUSY / STRESSED — background generation throttles down to zero under load, and search parallelism clamps so `/rtp` never piles chunk loads onto a struggling tick loop. Each world also learns its own search difficulty and borrows extra parallel candidates only where they pay off. - **Demand-gated location cache**: idle worlds stop generating terrain in the background entirely (one bootstrap entry kept); active worlds refill as a slow trickle. With `warm-chunks`, a cache hit costs a disk read instead of fresh generation — effectively instant `/rtp`, even on Iris. - **Two-phase chunk preload**: teleports block only on the 9 chunks around the player; the outer ring loads in the background after arrival. - **Per-candidate slot timeouts with replacement**: one stuck chunk generation no longer freezes the whole search, and late-finishing winners are rescued instead of discarded. - **Cached biome rosters and engine handles**: tab-complete and the biome menu no longer walk registries/reflection on every keystroke. ## Fixed - GUI pagination dying after the first page navigation; border/footer clicks could resolve to a real biome; world menu broke with customised item names. - "Searching..." boss bar stuck on screen after teleporting — full lifecycle rework (kind-tagged bars, exception-safe teleport tail, quit cleanup) plus a self-healing watchdog. - Search slot timeouts discarding valid locations found moments later on slow hardware. - Citizens biome NPCs bypassed the biome-finder toggle and the unlock gate. ## Changed - Iris integration flagged **experimental**: works without server lag, but chunk loading on Iris teleports is still slow. Mitigations documented in the README. - Unified teleport pipeline (seven entry points over four shared gates) backed by a 21-test suite that gates every build. - Professional text pass: emojis removed from every player-facing surface (GUI, boss bars, titles, messages in all languages). ## Removed - `/rtp structure` — out of scope for Roam's design. No config migration needed — every new key ships with a sensible default.
release

Roam 1.2.0

1.2.0
6 мая 2026 г.50Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2folia, paper, purpur
Скачать
Что нового
**Initial release** - Initial release of Roam - High-performance asynchronous RTP system - Modern GUI with favorites, history, and stats - Support for vanilla biomes, Iris and TerraformGenerator - Protection against claims from 12 popular plugins - Vault economy and Citizens NPC integration - Full support for Paper, Purpur and Folia - Multiple storage backends (YAML, SQLite, MariaDB)