SimpleRTP 随机传送
SimpleRTP
一款面向现代 Paper 服务器的轻量级、全可配置随机传送(RTP)插件,支持主世界/下界/末地三界异步传送、区块预加载与 WorldBorder 边界,全程 GUI 操作,无 NMS、无外部依赖。
基本信息
| 项目 | 信息 |
| --- | --- |
| 插件名称 | SimpleRTP(Simple RTP) |
| 开发者 | diechloe |
| 最新版本 | 1.1.0 |
| 许可协议 | ARR(All Rights Reserved,保留所有权利) |
| 兼容版本 | Minecraft: Java Edition 1.21.x(原生 1.21.10,向下兼容 1.19+) |
| 运行平台 | Bukkit / Folia / Paper |
| 项目地址 | https://modrinth.com/plugin/simple.rtp |
| 官方文档 | 见插件内 config.yml 注释;旧版 SpigotMC 资源页 https://www.spigotmc.org/resources/simplertp-1-19-1-21.61988/ |
简介
SimpleRTP 是一款轻量、完全可配置的随机传送插件,专为 Paper 1.21.10 打造并完整兼容 Folia。它的目标是提供流畅、即时、无卡顿、无危险落点的 RTP 体验:在传送前异步预加载目标区块、自动避让 WorldBorder 边界,并通过安全落点检测保证玩家不会掉进岩浆、虚空或水里。
新版由 diechloe 在经典 SimpleRTP(5.x 系列)基础上重写,采用 Java 21 + Maven 构建、面向 Folia 的架构,将位置搜索、区块加载全部异步化;逻辑分层清晰(RTPManager、SafeLocationFinder 等),无需 NMS,也无任何外部依赖,开箱即用。
核心特性
GUI 化随机传送
输入 /rtp 打开 GUI,按世界选择传送目标(支持主世界、下界、末地)。每个世界条目可在配置中独立设置目标世界、出生点最小/最大距离、启用/停用状态、GUI 槽位与材质、冷却时间、音效与消息;停用(disabled)的世界在 GUI 中显示为「deactivated」。
异步区块预加载
传送前先在后台异步预加载目标区块,避免主线程阻塞与区块生成造成的卡顿;自动遵守 WorldBorder,只在有效边界内传送。若目标区块已由 Chunky 等工具预生成,传送近乎即时;未预生成时也只按需加载必要区块,不会冻住服务器。
安全落点检测
只在配置的「安全方块」上着陆,自动避开岩浆、水、火、岩浆块、虚空等危险方块;玩家头顶保证两格空气。若当前坐标不安全会多次重试,达到尝试上限仍未找到安全点则优雅取消传送而非强传。
下界专项处理
针对下界做了专项优化:坐标超出 120/0 时自动加减修正;若在岩浆层下方有坠落风险,会在玩家脚下补垫一块下界岩;避开基岩顶,无安全点时会开洞兜底。
WorldBorder 边界集成
自动识别 Bukkit WorldBorder 与自定义世界边界、区块边界,玩家永远不会被传送到有效边界之外。
冷却与倒计时
内置冷却与倒计时系统,可配置冷却时长;支持「移动即取消」——命令发出后玩家必须原地站立若干秒,否则传送取消。冷却按玩家 UUID 记录,重连后不重置。
粒子与失明效果
传送过程可配置粒子效果(默认 PORTAL)与失明药水效果(默认开启、时长 40),均可按需关闭;消息支持 $distance$、$x $y $z、$time$ 等占位符与十六进制颜色(�)。
跨平台与基岩兼容
完整兼容 Folia 的 region 调度模型;同时兼容 Geyser/Bedrock 客户端,无需额外适配。无 NMS,升级版本更稳定。
环境要求
| 项目 | 要求 |
| --- | --- |
| 服务端 | Paper(推荐,1.21.10) / Folia / Bukkit;兼容 1.19 – 1.21.x |
| Java | 21 及以上 |
| 依赖 | 无硬依赖,无外部插件要求 |
旧版(SpigotMC 5.x)可在 Spigot/Paper 1.19 – 1.20.6 运行;新版重命名为 simple.rtp 并迁移到 Modrinth,不要与旧版 jar 同时加载,迁移前备份配置。
为获得最佳性能,建议使用 Chunky 预生成 RTP 半径内的区块,并将最大距离控制在预生成范围内,避免对未生成世界设置过大的半径。
安装方法
下载 SimpleRTP-1.1.0.jar
放入服务器的 plugins 文件夹(若装有旧版 SimpleRTP,先移除旧 jar)
重启服务器,自动生成 plugins/SimpleRTP/config.yml
按需编辑各世界配置后,执行 /rtp reload 生效
升级提醒:新版为重写版本,配置结构与旧版 5.x 存在差异,升级前请备份旧 config.yml,再对照默认配置手动迁移关键项(世界列表、半径、冷却、消息)。
从源码构建:mvn clean package,产物位于 target/。
命令与权限
| 命令 | 说明 | 权限 | 默认 |
| --- | --- | --- | --- |
| /rtp | 打开 RTP GUI / 在当前世界随机传送 | srtp.use | 所有玩家 |
| /rtp force <玩家> <世界> | 将指定玩家在指定世界强制随机传送(游戏内/控制台均可,带 Tab 补全) | srtp.admin | OP / 控制台 |
| /rtp reload | 重载配置 | srtp.admin | OP / 控制台 |
| /rtp world(按世界传送) | 传送到指定世界 | srtp.world | OP |
别名:/wild、/wilderness、/randomtp。
权限豁免:srtp.nocooldown 绕过传送冷却;srtp.deny 禁用指定玩家的 RTP 权限。
配置示意
传送消息(支持 $distance$ / $x $y $z / $time$ 占位符与 &#hex 颜色)
Teleport-Message:
Before: '&8[&fRTP&8] &7> Searching for a safe place to teleport, stay still!'
After: '&8[&fRTP&8] &7> You have been teleported $distance$ blocks away! At x: $x y: $y z: $z'
冷却(秒);$time$ 显示剩余时间,$minutes$/$seconds$ 分/秒显示
Cooldown-Time:
Enabled: true
Seconds: 30
Cooldown-Messages:
Cooldown-Active:
Message: '&8[&fRTP&8] &7> &cYou must wait $time$ seconds to teleport again!'
Cooldown-Ended:
Enabled: true
Message: '&8[&fRTP&8] &7> &eCooldown ended! You can now use &7/rtp'
命令后玩家必须原地站立,移动则取消传送
Cancel-On-Move:
Enabled: false
Seconds: 3
Message: '&8[&fRTP&8] &cCancelled teleport. You must stay still to teleport!'
传送范围(相对出生点的坐标半径)
MaxRadius: 5000
MinRadius: -5000
世界黑名单(在列表世界中禁用 RTP)
Teleportation:
worlds:
blacklist:
enabled: true
blocked-worlds:
- "world_the_end"
Invalid-World: '&cYou can not use RTP in this world.'
粒子效果(粒子名见 org.bukkit.Particle)
Particles:
Enabled: true
Effect: PORTAL
传送失明效果
Potion-Effect:
Enabled: true
Effect: BLINDNESS
Duration: 40
强制传送(/rtp force)前是否通知被传送玩家
Force-Teleport:
Notify-Player-Before:
Enabled: true
Message: "&8[&fRTP&8] &eA admin has force random teleport you!"
新版 1.1.0 采用每世界(per-world)配置结构,除上述全局项外,还可在世界条目中分别设置目标世界、距离范围、启用状态、GUI 槽位/材质、冷却、音效与安全/危险方块列表。消息支持 $distance$、$x、$y、$z、$time$ 等占位符,可用 &#RRGGBB 十六进制颜色。
传送机制
异步流程:/rtp → 倒计时/站立校验 → 异步搜索安全坐标 → 异步预加载目标区块 → 主线程执行传送,全程不阻塞
安全校验:只在安全方块上着陆、头顶保留两格空气、避开液体与危险方块;多次重试失败则取消
边界校验:坐标自动约束在 WorldBorder 内,下界做 120/0 坐标修正与垫块处理
冷却:按玩家 UUID 记录,重连不重置;srtp.nocooldown 可豁免
强制传送:/rtp force <玩家> <世界> 由管理员/控制台触发,可选择先通知目标玩家
近期更新
1.1.0(2026-02-07):新版重写并发布到 Modrinth(simple.rtp),Java 21 + Maven,面向 Folia 的异步架构,逻辑分层(RTPManager / SafeLocationFinder)
5.5(2026-04-26):小修复
5.4:新增粒子效果、可配置失明效果、世界黑白名单、坐标范围、冷却与消息配置
3.4:下界安全点查找优化,整体安全点搜索性能提升
3.1:传送前预加载单个区块;修复 1.19.4 下界错误;避开下界基岩顶
3.0:仅支持 1.19.3 – 1.19.4;玩家移动一整格即取消传送
2.5:防细雪;配置时间内移动则取消传送
2.4:冷却改用 UUID 哈希记录,重连不再重置
作者与相关链接
diechloe — Modrinth 作者
Modrinth 主页:https://modrinth.com/plugin/simple.rtp
Modrinth Changelog:https://modrinth.com/plugin/simple.rtp/changelog
SpigotMC 旧版资源页(5.x,命令/权限/配置参考):https://www.spigotmc.org/resources/simplertp-1-19-1-21.61988/
许可
ARR(All Rights Reserved),保留所有权利。未经作者许可,不得用于商业化用途或再分发。
评论 (0)