Skip to content

配置说明

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读取的计时类型,可填写 WarmupCooldown
holograms-text-template.模板ID.countdown字符串列表空列表剩余时间不为 0 时显示的全息文本。
holograms-text-template.模板ID.refreshed字符串列表空列表剩余时间为 0 时显示的全息文本。

全息文本支持以下替换内容:

替换内容可用位置说明
{name}countdownrefreshed怪物 DisplayName;关闭 use-display-name 后显示“怪物”。
{time}countdown刷怪点剩余秒数。插件实际显示 MythicMobs 返回值加 1 后的结果。
{last_killer}countdownrefreshed最近击杀该刷怪点生物的玩家名称;没有记录时显示“无”。
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:0GUI 物品材质,支持旧版数字 ID、数字ID:data 和服务器版本可识别的英文材质名。
spawner-info-template.模板ID.name字符串&7刷新信息: {name}GUI 物品名称。
spawner-info-template.模板ID.type字符串Warmup读取的计时类型,可填写 WarmupCooldown
spawner-info-template.模板ID.countdown字符串列表空列表剩余时间不为 0 时显示的 Lore。
spawner-info-template.模板ID.refreshed字符串列表空列表剩余时间为 0 时显示的 Lore。

GUI 物品支持以下替换内容:

替换内容可用位置说明
{name}namecountdownrefreshed怪物 DisplayName;关闭 use-display-name 后显示“怪物”。
{world}countdownrefreshed刷怪点所在世界,支持通过 world-alias 替换。
{time}countdown刷怪点剩余秒数。插件实际显示 MythicMobs 返回值加 1 后的结果。
{last_killer}countdownrefreshed最近击杀该刷怪点生物的玩家名称;没有记录时显示“无”。
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-item160:9底部第 46 至 52 格使用的填充物品。
gui.fill-name&7封锁填充物品名称。
gui.last-item341:0第 45 格的上一页按钮物品。
gui.last-name&7上一页上一页按钮名称。
gui.next-item341: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-itemlast-namenext-itemnext-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下一页'