配置说明
LyMobRespawnTip 的运行配置位于 plugins/LyMobRespawnTip/config.yml。配置用于管理 PlaceholderAPI 返回文本、刷怪点全息、状态查询界面、点击传送、世界别名与界面外观。
修改配置后,可由拥有 OP 身份的管理员执行 /lmrt reload 重载。MythicMobs 完成重载时,插件也会重新读取配置并重建刷怪点缓存。
配置注意事项
- 配置中的刷怪点 ID 必须与 MythicMobs Spawner 名称完全一致。
- 模板 ID 可自行命名,但引用位置必须存在对应模板。
- 文本支持使用
&颜色代码。 - 全息和 GUI 内容每秒刷新一次。
- 倒计时显示值由 MythicMobs 的 Warmup 或 Cooldown 剩余时间决定。
- 无法找到刷怪点或模板时,对应项目会被跳过,并在控制台输出错误。
PlaceholderAPI 返回文本
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
papi-relace | 字符串 | &a已刷新 | PlaceholderAPI 变量读取到的剩余时间为 0 时返回的文本。配置键原名就是 relace,不要改成 replace。 |
yaml
papi-relace: '&a已刷新'该配置影响以下变量:
| 变量 | 说明 |
|---|---|
%lmrt_Warmup:刷怪点ID% | 返回指定刷怪点的 Warmup 剩余秒数。 |
%lmrt_Cooldown:刷怪点ID% | 返回指定刷怪点的 Cooldown 剩余秒数。 |
剩余时间为 0 时返回 papi-relace;找不到对应刷怪点时返回 -1。
怪物名称显示
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
use-display-name | 布尔值 | true | 是否使用 MythicMobs 怪物配置中的 DisplayName 替换 {name}。关闭后固定显示“怪物”。 |
yaml
use-display-name: true部分旧版 MythicMobs 可能无法正常取得 DisplayName。出现相关报错时,可以将此项设为 false。
手动注册全息刷怪点
show-tip-spawner 用于手动指定需要显示全息提示的 MythicMobs 刷怪点。
| 层级 | 说明 |
|---|---|
show-tip-spawner | 手动注册列表。 |
show-tip-spawner.刷怪点ID | 对应的 holograms-text-template 模板 ID。 |
yaml
show-tip-spawner:
测试: '测试模板'
世界Boss: 'Boss模板'示例中的 测试、世界Boss 必须是已经存在的 MythicMobs Spawner 名称,测试模板、Boss模板 必须在 holograms-text-template 中定义。
自动注册全息刷怪点
auto-show-tip-spawner 可以让插件自动为 MythicMobs 当前加载的全部刷怪点创建全息。
| 配置项 | 类型 | 说明 |
|---|---|---|
auto-show-tip-spawner | 字符串 | 自动注册时统一使用的全息模板 ID。留空、删除或填写不存在的模板时不启用自动模式。 |
auto-show-tip-blacklist | 字符串列表 | 自动模式下排除的 MythicMobs Spawner 名称。 |
yaml
auto-show-tip-spawner: '测试模板'
auto-show-tip-blacklist:
- 'example_spawner'
- 'hidden_boss'当 auto-show-tip-spawner 指向一个有效模板时,插件会启用自动注册,show-tip-spawner 不再生效。
黑名单只在自动注册模式下使用,并且按照刷怪点名称进行精确匹配。
全息文本模板
holograms-text-template 用于定义 DecentHolograms 显示的文本。每个模板可以分别配置高度、计时方式、倒计时内容和已刷新内容。
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
holograms-text-template.模板ID.y-offset | 数字 | 2 | 全息相对刷怪点方块坐标的 Y 轴偏移。全息的 X、Z 坐标会自动增加 0.5,显示在方块中心。 |
holograms-text-template.模板ID.refresh-type | 字符串 | Warmup | 读取的计时类型,可填写 Warmup 或 Cooldown。 |
holograms-text-template.模板ID.countdown | 字符串列表 | 空列表 | 剩余时间不为 0 时显示的全息文本。 |
holograms-text-template.模板ID.refreshed | 字符串列表 | 空列表 | 剩余时间为 0 时显示的全息文本。 |
全息文本支持以下替换内容:
| 替换内容 | 可用位置 | 说明 |
|---|---|---|
{name} | countdown、refreshed | 怪物 DisplayName;关闭 use-display-name 后显示“怪物”。 |
{time} | countdown | 刷怪点剩余秒数。插件实际显示 MythicMobs 返回值加 1 后的结果。 |
{last_killer} | countdown、refreshed | 最近击杀该刷怪点生物的玩家名称;没有记录时显示“无”。 |
yaml
holograms-text-template:
测试模板:
y-offset: 2
refresh-type: 'Warmup'
countdown:
- '&7<< &c&l{name} &7>>'
- '&7上次击杀者: &e{last_killer}'
- '&7刷新倒计时: &6{time}秒'
refreshed:
- '&7<< &c&l{name} &7>>'
- '&7上次击杀者: &e{last_killer}'
- '&a已刷新'全息计时键名
代码实际读取的是 refresh-type,不是默认配置示例中出现的 type。如果继续使用以下写法:
yaml
holograms-text-template:
测试模板:
type: 'Cooldown'type 不会被全息模板读取,插件会使用默认值 Warmup。需要明确选择 Cooldown 时,应改为:
yaml
holograms-text-template:
测试模板:
refresh-type: 'Cooldown'使用 Cooldown 时,若 MythicMobs 刷怪点没有提供预期的 Cooldown 剩余时间,全息可能持续显示已刷新状态。一般应优先使用 Warmup。
刷怪点信息界面分组
spawner-info-gui 用于定义 /lmrt info 分类ID 打开的刷怪点列表。
| 层级 | 说明 |
|---|---|
spawner-info-gui | 所有 GUI 分类。 |
spawner-info-gui.分类ID | 一个可通过指令打开的分类。 |
spawner-info-gui.分类ID.刷怪点ID | 该刷怪点使用的 spawner-info-template 模板 ID。 |
yaml
spawner-info-gui:
分类1:
测试: '测试模板'
刷怪点1: '测试模板'
刷怪点2: 'Boss模板'以上配置会创建分类 分类1,玩家可使用 /lmrt info 分类1 打开。
插件加载分类时会分别检查模板和 MythicMobs 刷怪点。某个项目配置错误时只跳过该项目,不会阻止同一分类内其他有效项目加载。
每页最多显示 45 个刷怪点,底部 9 格用于上一页、填充物品和下一页。界面打开后每秒更新一次当前页内容。
刷怪点信息物品模板
spawner-info-template 用于定义刷怪点在 GUI 中显示的物品、名称和 Lore。
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
spawner-info-template.模板ID.item | 字符串 | BOOK:0 | GUI 物品材质,支持旧版数字 ID、数字ID:data 和服务器版本可识别的英文材质名。 |
spawner-info-template.模板ID.name | 字符串 | &7刷新信息: {name} | GUI 物品名称。 |
spawner-info-template.模板ID.type | 字符串 | Warmup | 读取的计时类型,可填写 Warmup 或 Cooldown。 |
spawner-info-template.模板ID.countdown | 字符串列表 | 空列表 | 剩余时间不为 0 时显示的 Lore。 |
spawner-info-template.模板ID.refreshed | 字符串列表 | 空列表 | 剩余时间为 0 时显示的 Lore。 |
GUI 物品支持以下替换内容:
| 替换内容 | 可用位置 | 说明 |
|---|---|---|
{name} | name、countdown、refreshed | 怪物 DisplayName;关闭 use-display-name 后显示“怪物”。 |
{world} | countdown、refreshed | 刷怪点所在世界,支持通过 world-alias 替换。 |
{time} | countdown | 刷怪点剩余秒数。插件实际显示 MythicMobs 返回值加 1 后的结果。 |
{last_killer} | countdown、refreshed | 最近击杀该刷怪点生物的玩家名称;没有记录时显示“无”。 |
yaml
spawner-info-template:
测试模板:
item: 'BOOK:0'
name: '&7刷新信息: {name}'
type: 'Warmup'
countdown:
- '&7<< &c&l{name} &7>>'
- '&7世界: &e{world}'
- '&7上次击杀者: &e{last_killer}'
- '&7刷新倒计时: &6{time}秒'
- ''
- '&a[点击传送至刷新点]'
refreshed:
- '&7<< &c&l{name} &7>>'
- '&7世界: &e{world}'
- '&7上次击杀者: &e{last_killer}'
- '&a已刷新'
- ''
- '&a[点击传送至刷新点]'点击内容格会尝试将玩家传送到刷怪点的方块坐标,并将 Y 坐标增加 1。玩家必须拥有 lmrt.teleport 权限。
无法识别 item 材质时,物品解析逻辑会回退为石头。
世界名称别名
world-alias 用于替换 GUI Lore 中的 {world}。该功能只影响刷怪点信息界面,不会替换全息文本。
| 配置格式 | 说明 |
|---|---|
world-alias.原世界名 | 替换后显示的世界名称。 |
yaml
world-alias:
'world': '主城'
'fb1': '副本1'没有配置别名时,{world} 会显示原始世界名称。
传送冷却
teleport-cooldown 用于限制玩家通过 GUI 连续传送的频率,时间单位为秒。
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
teleport-cooldown.default | 整数 | 10 | 没有匹配权限覆盖时使用的冷却时间。 |
teleport-cooldown.permissions | 映射 | 无 | 按玩家权限覆盖默认冷却。配置键中的下划线会在权限检查时替换为点。 |
yaml
teleport-cooldown:
default: 10
permissions:
'lmrt_vip': 3示例中的 lmrt_vip 会用于检查玩家是否拥有 lmrt.vip 权限。
权限冷却的实现限制
当前实现会先把配置键中的 _ 替换为 . 进行权限检查,随后又使用替换后的权限名读取冷却数值。因此使用 lmrt_vip 配置并匹配到 lmrt.vip 权限时,代码可能无法读取 lmrt_vip: 3 的数值,最终回退到 teleport-cooldown.default。
在该实现修复前,权限覆盖冷却不能保证按配置数值生效。默认冷却不受此问题影响。
插件还兼容旧式数字写法作为默认值回退:
yaml
teleport-cooldown: 10但此格式无法同时定义 permissions,建议使用包含 default 的分组格式。
传送消息
| 配置项 | 默认值 | 说明 |
|---|---|---|
message.teleport-permission | &7你没有权限使用该传送功能 | 玩家缺少 lmrt.teleport 权限时发送。 |
message.teleport-cooldown | &7传送功能冷却中, 需要 &6{time}秒 &7才可以使用! | 玩家仍在冷却时发送,{time} 为剩余秒数,保留一位小数。 |
message.teleport-success | &7传送成功! &6{time}秒 &7后可继续传送. | 通过检查并开始传送时发送,{time} 为本次使用的冷却秒数。 |
yaml
message:
teleport-permission: '&7你没有权限使用该传送功能'
teleport-cooldown: '&7传送功能冷却中, 需要 &6{time}秒 &7才可以使用!'
teleport-success: '&7传送成功! &6{time}秒 &7后可继续传送.'GUI 外观
| 配置项 | 默认值 | 说明 |
|---|---|---|
gui.title | 无代码默认值 | 刷怪点信息界面的标题。建议始终配置,避免缺少标题导致界面无法正常创建。 |
gui.fill-item | 160:9 | 底部第 46 至 52 格使用的填充物品。 |
gui.fill-name | &7封锁 | 填充物品名称。 |
gui.last-item | 341:0 | 第 45 格的上一页按钮物品。 |
gui.last-name | &7上一页 | 上一页按钮名称。 |
gui.next-item | 341:0 | 第 53 格的下一页按钮物品。 |
gui.next-name | &7下一页 | 下一页按钮名称。 |
yaml
gui:
title: '&7刷新详情'
fill-item: '160:9'
fill-name: '&7占位'
last-item: '341:0'
last-name: '&6上一页'
next-item: '341:0'
next-name: '&6下一页'按钮必须使用 last-item、last-name、next-item 和 next-name。其他带数字后缀的类似键名不会被读取。
完整配置参考
以下配置使用代码实际读取的全息计时键 refresh-type:
yaml
papi-relace: '&a已刷新'
show-tip-spawner:
测试: '测试模板'
auto-show-tip-spawner: ''
auto-show-tip-blacklist:
- 'example_spawner'
use-display-name: true
holograms-text-template:
测试模板:
y-offset: 2
refresh-type: 'Warmup'
countdown:
- '&7<< &c&l{name} &7>>'
- '&7上次击杀者: &e{last_killer}'
- '&7刷新倒计时: &6{time}秒'
refreshed:
- '&7<< &c&l{name} &7>>'
- '&7上次击杀者: &e{last_killer}'
- '&a已刷新'
spawner-info-gui:
分类1:
测试: '测试模板'
刷怪点1: '测试模板'
刷怪点2: '测试模板'
spawner-info-template:
测试模板:
item: 'BOOK:0'
name: '&7刷新信息: {name}'
type: 'Warmup'
countdown:
- '&7<< &c&l{name} &7>>'
- '&7世界: &e{world}'
- '&7上次击杀者: &e{last_killer}'
- '&7刷新倒计时: &6{time}秒'
- ''
- '&a[点击传送至刷新点]'
refreshed:
- '&7<< &c&l{name} &7>>'
- '&7世界: &e{world}'
- '&7上次击杀者: &e{last_killer}'
- '&a已刷新'
- ''
- '&a[点击传送至刷新点]'
world-alias:
'world': '主城'
'fb1': '副本1'
teleport-cooldown:
default: 10
permissions:
'lmrt_vip': 3
message:
teleport-permission: '&7你没有权限使用该传送功能'
teleport-cooldown: '&7传送功能冷却中, 需要 &6{time}秒 &7才可以使用!'
teleport-success: '&7传送成功! &6{time}秒 &7后可继续传送.'
gui:
title: '&7刷新详情'
fill-item: '160:9'
fill-name: '&7占位'
last-item: '341:0'
last-name: '&6上一页'
next-item: '341:0'
next-name: '&6下一页'