- 版权类型
- 授权转载
- 插件中文名称
- 随机传送
- 插件英文名称
- RTP
- 支持的核心(服务端)
- Spigot
- Paper
- Purpur
- PufferFish
- Leaves
- 语言支持
- 多语言
- 前置组件
- 无
- 适配版本(Java)
- 1.21
- 1.20
- 1.19
- 1.18
- 1.17
- 1.16
- 1.15
- 1.14
- 1.13
- 1.12
- 1.11
- 1.10
- 1.9
- 1.8
高性能
随机传送插件通常被认为是容易实现的,但实际上这是服务器中最耗费资源的插件类型之一。
因为 RTP 需要进行区块生成、区块加载、安全位置寻找、非安全位置重新查找、玩家传送等复杂操作。
市面上的随机传送插件往往会滞后服务器或者传送前等待一段时间,这严重影响了玩家的游戏体验。
为了解决这些问题 RTP 使用了位置缓存、Paper异步加载、异步随机化、玩家队列等方式改进了随机传送的问题。
所以,RTP 每次进行随机传送几乎只需要 <2ms(对于缓存好的位置) <200ms(对于缓存外的位置)。
为什么要让玩家随机传送时等待呢?试试 RTP 给你带来的超快随机传送
高可配置性
高兼容性
PlaceholderAPI 支持
对应常用的领地插件,可以避免传送到其他人的领地。
汉化配置
随机传送插件通常被认为是容易实现的,但实际上这是服务器中最耗费资源的插件类型之一。
因为 RTP 需要进行区块生成、区块加载、安全位置寻找、非安全位置重新查找、玩家传送等复杂操作。
市面上的随机传送插件往往会滞后服务器或者传送前等待一段时间,这严重影响了玩家的游戏体验。
为了解决这些问题 RTP 使用了位置缓存、Paper异步加载、异步随机化、玩家队列等方式改进了随机传送的问题。
所以,RTP 每次进行随机传送几乎只需要 <2ms(对于缓存好的位置) <200ms(对于缓存外的位置)。
为什么要让玩家随机传送时等待呢?试试 RTP 给你带来的超快随机传送
高可配置性
- 每个世界内任意数量的传送区域
- 每个区域和每个世界的传送配置
- 传送区域形状(方形 / 圆形)
- 传送半径和中心半径
- 中心 x,z 坐标
- 偏向加权(朝向或远离中心)
- 最小值和最大传送高度值
- 可选天空亮度检查(避免传送到地下)
- 可选的世界权限要求
- 可分 Region(区域),这意味着可以在地图任意位置划定多个随机传送区域,他们是可重复的(可参考下图 2)
- 通过命令更新区域和世界配置
- 多维度支持
- 传送安全
- 可配置的安全半径检查
- 可配置的安全平台创建
- 可配置的无敌时间
- 可配置危险方块黑名单
- 具有权限的世界和玩家参数
- 自动从不良展示位置中吸取教训
- 每次失败时,选择在统计上都会变得更快。
- 完全可配置的日志和消息 lang.yml
- 基于权限的声音和效果
- 有关格式,请参阅此处
- 面向开发人员的 API


高兼容性
PlaceholderAPI 支持
- %rtp_player_status% - 玩家当前的传送状态
- %rtp_total_queue_length% - “/rtp”将使用的区域中玩家可用的位置总数
- %rtp_public_queue_length% - “/rtp”将使用的区域中可供所有人使用的位置数
- %rtp_personal_queue_length% - “/rtp”将使用的区域中专门分配给该玩家的位置数
- %rtp_teleport_world% - 随机传送的目标世界
- %rtp_teleport_x% - 随机传送的目标位置 X 坐标
- %rtp_teleport_y% - 随机传送的目标世界 Y 坐标
- %rtp_teleport_z% - 随机传送的目标世界 Z 坐标
对应常用的领地插件,可以避免传送到其他人的领地。
- Domain
- Factions (and any factions plugins using massivecraft.factions as a base)
- GriefDefender
- GriefPrevention
- HuskTowns
- Lands
- TownyAdvanced
- WorldGuard
- /rtp - 传送到你所在世界的默认区域
- /rtp [parameter]:[value] - 在传送之前指定区域、世界、玩家和/或临时区域参数
- /rtp update - 通过命令更新任意/所有配置
- /rtp fill - 尝试一个区域中所有可能的展示位置,并存储任何失败的展示位置和生物群落位置。(不稳定)
汉化配置
YAML:
# 用户体验的一般消息配置
# 支持 Bukkit 颜色代码和十六进制颜色代码
# 支持 PlaceholderAPI 引用
# 额外占位符列表
# 格式:Pn - 其中 n 是此列表中的索引
placeholders:
- '[#f2d68f传送&f]' #P0
# 当正在传送时,显示此消息
alreadyTeleporting: '&f[P0] 正在传送中!'
delayMessage: '&f[P0] [delay]秒后开始传送,请勿移动!'
chunkLoading: '&f[P0] 区块加载中...'
teleportMessage: '&f[P0] 您出生在了x:%player_x% y:%player_y% z:%player_z% (耗时 [processingTime]) '
# 如果传送被取消
teleportCancel: '&f[P0] 传送已取消!'
# 如果在达到最大尝试次数后找不到安全地点
unsafe: '&f[P0] [attempts]次尝试后无法找到安全出生点'
# 当玩家处于冷却期
cooldownMessage: '&f[P0] 等待 [remainingCooldown] 后才能继续随机传送'
# 如果区域没有排队的位置,并且玩家没有 rtp.unqueued 权限
noLocationsQueued: '#f5eb73[P0] 未准备就绪'
# 当队列发生变化时
queueUpdate: '#2636ef[P0]队列中[spot]'
# 如果玩家在该区域没有足够的金钱进行传送
# 占位符:[money] - 执行命令所需的金额
notEnoughMoney: '&f[P0] 您没有用于传送的 [money]$'
# 对于时间占位符,表示天数、小时数、分钟数、秒数的词汇
days: 天
hours: 小时
minutes: 分钟
seconds: 秒
millis: 毫秒
# 如果配置文件的版本低于最新版
# 占位符:[filename] - 文件名,包括扩展名
oldFile: '&f[P0] 正在更新旧的 [filename]'
# 检测到未在配置文件中的 Bukkit 世界
# 占位符:[world] - 被检测到的世界
newWorld: '&f[P0] 检测到新世界'[world]''
# 世界在 Bukkit 中不存在
invalidWorld: '&f[P0] 不存在的世界'[world]''
# 配置更新
updatingWorlds: '&f[P0] 正在升级世界...'
updatedWorlds: '&f[P0] 世界配置文件升级完成!'
updatingRegions: '&f[P0] 正在升级区域...'
updatedRegions: '&f[P0] 区域配置文件升级完成!'
# 插件重新加载文本
reloading: '&f[P0] 正在加载[filename]...'
reloaded: '&f[P0] 成功加载[filename].'
updating: '&a[P0] 正在升级 [filename]...'
updated: '&a[P0] 成功升级 [filename].'
# 插件没有用户请求的命令
# 占位符:[arg] - 尝试的参数
badArg: '&c[P0] 使用错误: [arg]'
# 用户没有执行请求命令的权限
noPerms: '#f2d68f无权限'
# 用户试图唤醒一个不向其位置发送消息的世界,但没有权限
# 占位符:[world] - 命令中尝试的世界
noGlobalPerms: '#f2d68f无权限'
fillStart: '&a[P0] 开始填充区域 [region]'
fillCancel: '&f[P0] 取消填充区域 [region]'
fillPause: '#A020F0[P0] 暂停填充区域 [region]'
fillResume: '#10A5F5[P0] 继续填充区域 [region]'
fillRunning: '&c[P0] 区域 [region] 的填充任务已在运行'
fillNotRunning: '&c[rtp] 区域 [region] 的填充任务未运行'
fillStatus: '&a[P0] 区域 [region] 完成 [chunks] / [totalChunks] 区块的填充速率为 [cps] 区块每秒 。预计完成时间: [eta]'
# 信息命令
infoTitle: '&a======RTP 信息======'
infoChunks: '#D4AF37当前由 RTP 加载的区块数: [chunks]'
infoWorldHeader: '#008080世界:'
infoWorld: ' #21ADA8[world]'
infoRegionHeader: '#63C5DA区域:'
infoRegion: ' #52B2BF[region]'
# 子信息
worldInfo:
- '#21ADA8[world]:'
- '#99EEBB 名称: [name]'
- '#99EEBB 区域: [region]'
- '#99EEBB 需要权限: [requirePermission]'
- '#99EEBB 覆盖设置: [override]'
regionInfo:
- '#52B2BF[region]:'
- '#58CCED 世界: [world]'
- '#58CCED 形状: [shape]'
- '#58CCED 需要权限: [requirePermission]'
- '#58CCED 超越世界边界: [worldBorderOverride]'
- '#58CCED 缓存上限: [cacheCap]'
- '#58CCED 已缓存: [cached]'
# 命令描述
rtp: '#f2d68f/rtp - 随机传送'
help: '#f2d68f/rtp help - 这个帮助页面'
reload: '#f2d68f/rtp reload - 重新加载'
fill: '#f2d68f/rtp fill - 预加载'
# 用于 PAPI 的玩家传送状态占位符
PLAYER_AVAILABLE: '&a空闲'
PLAYER_COOLDOWN: '#f2d68f冷却中'
PLAYER_SETUP: '#f2d68f选择位置中'
PLAYER_LOADING: '#f2d68f加载区块中'
PLAYER_TELEPORTING: '#f2d68f传送中'
# 显示标题
# 删除或设置标题为 "" 以禁用
# 推荐使用 PlaceholderAPI 来获取坐标
title: '#f2d68f你出生在地球的一个角落'
subtitle: ''
fadeIn: 20
stay: 60
fadeOut: 20
actionbar: ''
version: '1.0'