Skip to content

模块.yml

模块.yml 是副本的扩展页。

这一页不只放“玩法模块”,还同时承载下面四块内容:

  • 玩法模块
  • 保护
  • BossBar
  • 复活系统

源码当前加载顺序是这样的:

  • 目录里有 模块.yml,就优先从这里读
  • 没拆这个文件,也可以把同名区块继续写回 main.yml

正式副本建议单独拆出来。后面调玩法、调保护、调复活,不会把 main.yml 挤得很乱。

一份常用示例

yaml
玩法模块:
  计时竞速:
    启用: true
    自动分段: true
    排行榜容量: 50

保护:
  命令保护:
    模式: 白名单
    列表:
      - /dm
      - /msg
      - /r
    拒绝提示: '&c副本中不可使用这个命令'
  掉线保护:
    启用: true
    重连超时: 300

BossBar:
  启用: true
  标题: '&6{dungeon_name} &7| &e{stage_name} &7| &c剩余 {remaining_time}'
  颜色: RED
  样式: SOLID
  进度: '1.0'
  刷新间隔: 20

复活系统:
  启用: true
  次数模式: 共享
  总次数: 3
  自动复活:
    启用: true
    延迟: 5
    位置: 出生点

玩法模块

玩法模块 下面每个子项的名字,就是模块 ID。

只有写了 启用: true 的模块才会真正加载。

yaml
玩法模块:
  奖励加成:
    启用: true
  层进系统:
    启用: true

当前源码内置的玩法模块

模块 ID用途常见字段
奖励加成按条件给结算奖励加倍率叠加模式规则
冷却递增处理重进冷却和副本内自定义冷却重进冷却副本冷却连败脚本连胜脚本
死亡抉择玩家死亡后弹出聊天抉择超时标题底部文字抉择
掉落组背包掉落先进入临时背包,通关后并入保险箱容量失败策略提前存入
层进系统做爬塔、多层推进、随机层、无尽轮次模式层池难度递增
中途结算做检查点、投票继续、途中带奖离场投票模式失败惩罚检查点
计时竞速竞速计时、分段、排行榜自动分段排行榜容量分段点

玩法模块配置示例

奖励加成 适合做周常本、挑战本、隐藏条件奖励。

yaml
玩法模块:
  奖励加成:
    启用: true
    叠加模式: 乘法
    规则:
      无死亡:
        显示名称: '全队无死亡'
        条件: '@dungeon.alive == @dungeon.player_count'
        倍率: 1.5
      限时通关:
        显示名称: '限时通关'
        条件: '@dungeon.elapsed <= 600'
        倍率: 1.2

计时竞速 适合做冲榜、速通、公会竞赛。

yaml
玩法模块:
  计时竞速:
    启用: true
    自动分段: true
    排行榜容量: 100
    分段点:
      一号Boss:
        显示名称: '一王'
      二号Boss:
        显示名称: '二王'

层进系统 适合做塔、防线、无尽轮次。

yaml
玩法模块:
  层进系统:
    启用: true
    模式: 固定
:
      第一层:
        显示名称: '开场层'
      第二层:
        显示名称: 'Boss 层'

保护

保护 当前源码里实际有三块:

  • 命令保护
  • GUI保护
  • 掉线保护

命令保护

字段说明
模式白名单黑名单
列表命令列表,支持前缀匹配
拒绝提示玩家被拦下时看到的消息

最稳的做法通常是白名单,只放聊天回复和管理所需命令。

GUI保护

字段说明
模式黑名单白名单
列表GUI 匹配规则
拒绝提示被拦下时的提示
拒绝脚本拦截时执行一次的公共脚本
拒绝玩家脚本拦截时对该玩家执行的脚本

列表 当前支持三种写法:

  • 直接写文字,按 GUI 标题包含判断
  • regex:表达式,按正则匹配标题
  • type:CHEST 这种写法,按 Bukkit 容器类型匹配

掉线保护

字段说明
启用是否开启掉线保护
重连超时等待玩家回来的秒数
重连脚本玩家回到副本后执行的脚本

开了掉线保护后,副本不会因为临时掉线马上把人清出去。对正式服多人本很重要。

这里不包含什么

物品限制 虽然也属于保护思路,但它不是 模块.yml 的内容,还是在 main.yml 里单独配置。

BossBar

BossBar 也接受别名 Boss血条

字段说明
启用是否启用
标题BossBar 标题文本
颜色条颜色,直接用 Bukkit 颜色名
样式条样式,直接用 Bukkit 样式名
进度进度表达式
刷新间隔刷新频率,单位 tick

标题里当前常用占位有这些:

  • {dungeon_name}
  • {dungeon_id}
  • {stage_name}
  • {elapsed_time}
  • {remaining_time}
  • {player_count}
  • {alive_count}
  • {total_count}
  • {floor_current}
  • {floor_total}
  • {floor_name}
  • {floor_cycle}

进度 使用表达式,不走文字占位。最简单可以先写成 1.0,确认样式稳定后再慢慢做动态进度。

复活系统

复活系统 负责副本内死亡后的整套恢复流程。

顶层字段

字段说明
启用是否启用复活系统
次数模式共享独立
总次数复活次数。小于 0 时等于无限次
复活脚本玩家成功复活后执行
死亡脚本玩家死亡后执行
次数耗尽脚本次数打空后执行
灵魂自由移动死亡后是否允许自由飘动
灵魂活动范围不允许自由移动时的活动半径

自动复活

字段说明
启用是否开启
延迟延迟多少秒复活
位置出生点原地脚本

道具复活

字段说明
启用是否开启
物品ID复活道具 ID
消耗数量每次消耗多少
不扣次数使用道具时是否不占复活次数
位置出生点原地脚本

队友复活

字段说明
启用是否开启
读条时间队友复活读条秒数
距离允许的复活距离
不扣次数队友救起时是否不占复活次数
位置出生点原地脚本

如果你把位置写成 脚本,源码当前不会主动传送复活玩家,位置处理要靠 复活脚本 自己完成。

配置建议

  • 第一个正式本先开最少的模块,跑稳以后再继续叠玩法。
  • 保护复活系统 优先配,尤其是多人本。
  • 竞速、层进、中途结算这类模块会明显改变副本节奏,别一次全开。
  • 有多个玩法模块时,命名和变量要收敛,不然后面排错很容易串。

下一步阅读

TQ Minecraft Server Plugin Docs