YuRandomTeleport 配置说明
主配置文件位于:
plugins/YuRandomTeleport/config.yml消息文件位于:
plugins/YuRandomTeleport/messages.yml配置结构
| 区块 | 用途 |
|---|---|
economy | 是否启用 Vault 经济扣费。 |
cooldown | 随机传送冷却。 |
world-blacklist | 禁止 RTP 的世界列表。 |
world-whitelist | 只允许 RTP 的世界列表,非空时优先于黑名单。 |
teleport | 等待秒数与等待期间打断规则。 |
default | 全局默认费用、半径、高度和安全检查。 |
worlds | 按世界覆盖默认配置。 |
commands | 传送开始、成功、失败时由控制台执行的命令。 |
debug | 是否输出详细安全点查找日志。 |
config-version | 配置版本,由插件维护。 |
经济配置
economy:
enabled: falseeconomy.enabled 只决定插件是否尝试挂钩 Vault。实际扣费金额由 default.cost 或 worlds.<世界名>.cost 决定。
如果 cost > 0 但没有成功挂钩 Vault,插件不会扣费。控制台会输出 Vault 或经济服务缺失提示。
冷却配置
cooldown:
seconds: 3冷却单位为秒。传送成功后会刷新冷却;找不到安全点或等待被取消时会移除本次冷却。
生产服建议:
| 服务器类型 | 建议冷却 |
|---|---|
| 普通生存 | 30 到 120 秒 |
| 资源世界 | 10 到 60 秒 |
| 高并发服务器 | 60 秒以上,配合较低 max-attempts |
| 活动服 | 根据玩法节奏设置,必要时给予 VIP 绕过权限 |
世界访问控制
黑名单模式:
world-blacklist:
- lobby
world-whitelist: []白名单模式:
world-blacklist:
- lobby
world-whitelist:
- resource
- resource_nether只要 world-whitelist 非空,插件就只允许白名单内的世界进行随机传送,此时黑名单不再决定是否允许。
等待与打断
teleport:
wait-seconds: 5
cancel-on-move: true| 配置 | 说明 |
|---|---|
wait-seconds | 传送前等待秒数。设置为 0 表示立即传送。 |
cancel-on-move | 等待期间是否因移动、受伤、交互、聊天、执行命令而取消。 |
视角转动不会取消传送,只有坐标方块发生变化才会按移动处理。
拥有 yurtp.bypass.wait 的玩家会跳过等待。
默认传送范围
default:
cost: 0.0
radius:
min: 500
max: 2000插件会随机生成正负方向的 X/Z 坐标,距离范围基于 min 与 max。如果 max 小于 min,插件内部会交换两者以保证范围可用。
示例:
default:
radius:
min: 1000
max: 8000这会让玩家落点大致分布在世界中心外侧,适合减少出生点周围资源压力。
高度范围
默认配置中 height 留空时,插件会自动读取世界高度:
default:
height:
# min: -64
# max: 320旧版本服务端不支持 World#getMinHeight 时,插件会使用 0 作为最低高度;新版服务端会通过反射读取真实最低高度。
限制高度的示例:
worlds:
resource:
height:
min: 60
max: 120安全检查
default:
safety:
check: true
allow-void: false
allow-water: false
allow-lava: false
max-attempts: 32
min-air-above: 8
blocked-materials:
- "MAGMA*"
- "CACTUS"
- "SWEET_BERRY_BUSH"
- "COBWEB"
- "*FIRE*"
allowed-materials: []| 配置 | 说明 |
|---|---|
check | 是否启用安全检查。正式服建议保持 true。 |
allow-void | 是否允许脚下为空或最低高度附近落点。 |
allow-water | 是否允许玩家身体或脚下液体为水。 |
allow-lava | 是否允许玩家身体或脚下液体为岩浆。正式服通常不要开启。 |
max-attempts | 每次传送最多尝试多少组随机坐标。 |
min-air-above | 玩家头顶上方额外需要多少格空气。 |
blocked-materials | 禁止作为脚下站立方块的材质。 |
allowed-materials | 白名单。非空时只允许匹配的脚下方块,优先于黑名单。 |
材质匹配支持通配符:
| 写法 | 含义 |
|---|---|
CACTUS | 精确匹配。 |
MAGMA* | 前缀匹配。 |
*STONE | 后缀匹配。 |
*FIRE* | 包含匹配。 |
* | 匹配全部。 |
插件还会拒绝常见不稳定站立面,例如半砖、楼梯、地毯、雪层、床、栅栏、墙、玻璃板、铁栏杆、活板门、门和告示牌。
按世界覆盖
worlds:
resource:
cost: 50.0
radius:
min: 500
max: 5000
safety:
max-attempts: 48
world_nether:
cost: 200.0
height:
min: 32
max: 118
safety:
allowed-materials:
- "NETHERRACK"
- "SOUL_SAND"
- "SOUL_SOIL"
- "NETHER_BRICKS"
world_the_end:
cost: 500.0
safety:
allowed-materials:
- "END_STONE*"世界配置没有填写的字段会继承 default。列表字段有一个特殊行为:如果在世界配置中显式写成 [],表示清空默认列表;如果完全不写,才会继承默认列表。
自定义命令回调
commands:
on-teleport:
- "title {player} title {\"text\":\"随机传送\",\"color\":\"yellow\",\"bold\":true}"
- "title {player} subtitle {\"text\":\"正在寻找安全位置...\",\"color\":\"gray\"}"
on-success:
- "title {player} title {\"text\":\"传送成功\",\"color\":\"green\",\"bold\":true}"
- "title {player} subtitle {\"text\":\"坐标: X={x} Z={z}\",\"color\":\"white\"}"
on-fail:
- "title {player} title {\"text\":\"传送失败\",\"color\":\"red\",\"bold\":true}"
- "title {player} subtitle {\"text\":\"原因: {reason}\",\"color\":\"gray\"}"所有命令都由控制台执行,不要在命令前写 /。
可用占位符:
| 占位符 | 阶段 | 说明 |
|---|---|---|
{player} | 全部 | 被传送的玩家名。 |
{sender} | 全部 | 命令执行者名。 |
{world} | 全部 | 目标世界名。 |
{x} | on-success | 成功落点 X。 |
{z} | on-success | 成功落点 Z。 |
{reason} | on-fail | 失败原因,例如 no_safe_location。 |
调试模式
debug: false开启后插件会输出安全点查找细节,包括找到的安全位置、跳过的坐标和拒绝原因。调试会增加控制台日志量,建议只在测试服或排障期间开启。