Skip to content

配置说明

LySkillView 的主要配置文件位于插件目录:

  • config.yml:数据库、蓝量、技能缩减、按键槽位、技能菜单、公共冷却和提示消息。
  • skills/:技能及技能等级配置。插件会加载该目录下的 YAML 文件。
  • 技能界面.yml:基于 GermPlugin 的技能菜单界面。
  • 技能栏.yml:基于 GermPlugin 的技能栏 HUD。

修改 config.ymlskills/ 或界面文件后,可以使用 /lsv reload 重载配置。重载时会重新连接数据库、注册技能按键、加载技能文件,并重新注册技能栏 HUD。

数据库配置

MySQL 前置要求

LySkillView 使用 MySQL 保存玩家技能等级、技能冷却、技能绑定按键和当前蓝量。必须安装 LyMySQLCore,并确认 LyMySQLCore 已成功连接数据库;否则玩家数据加载、保存、同步以及相关功能不会正常生效。

配置位于 mysql 节点:

yaml
mysql:
  databasename: mc2
  username: mc2
  password: mc1234
  port: 3306
  ip: 127.0.0.1
配置项类型说明
mysql.databasename字符串要连接的数据库名称。
mysql.username字符串数据库用户名。
mysql.password字符串数据库密码。
mysql.port整数MySQL 端口,示例值为 3306
mysql.ip字符串MySQL 服务器地址,示例值为 127.0.0.1

插件连接成功后,会创建用于保存玩家数据的表。当前保存表名称由插件名称拼接 _newSave 后转换为小写,表中保存玩家名称和序列化后的数据。

定时保存

yaml
loop-save-thread-time: 6000
配置项类型说明
loop-save-thread-time整数定时保存间隔,单位为 tick。1200 tick 约为 1 分钟,写入 0 或负数时不启动定时保存任务。

玩家退出和插件关闭时也会执行玩家数据保存。定时保存任务仅在代码检测到 mysql.enabletrue 且数据库连接有效时执行;示例配置中未提供 mysql.enable 配置项,因此如需使用该定时任务,应根据当前插件版本的实际数据库开关配置进行确认。

蓝量配置

基础蓝量

yaml
player-max-mana-default: 100
player-max-mana-placeholder: ''
player-mana-recovery-interval: 1
player-mana-recovery-value: 1
player-mana-recovery-placeholder: ''
配置项类型说明
player-max-mana-default整数玩家默认最大蓝量。默认值为 100
player-max-mana-placeholder字符串最大蓝量加成变量。留空时不使用加成;变量返回值会按百分比参与最大蓝量计算。
player-mana-recovery-interval整数自动回蓝间隔,单位为秒。默认值为 1
player-mana-recovery-value整数每次自动恢复的基础蓝量。默认值为 1
player-mana-recovery-placeholder字符串回蓝量加成变量。留空时不使用加成;变量返回值会按百分比参与回蓝量计算。

玩家进入服务器时会根据基础值和变量计算最大蓝量、回蓝量,并从数据库读取当前蓝量。当前蓝量不会超过最大蓝量,也不会低于 0

蓝耗缩减

yaml
mana-reduction-placeholder: ''
mana-reduction-max: 75
配置项类型说明
mana-reduction-placeholder字符串蓝耗缩减变量。留空时不启用蓝耗缩减。
mana-reduction-max数字蓝耗缩减上限,按百分比填写,支持小数。示例值 75 表示最多缩减 75% 蓝耗。

技能释放时,插件会按照该变量计算缩减后的蓝耗,并使用 mana-reduction-max 限制最大缩减比例。

冷却缩减

yaml
cooling-reduction-placeholder: ''
cooling-reduction-max: 75
配置项类型说明
cooling-reduction-placeholder字符串冷却缩减变量。留空时不启用冷却缩减。
cooling-reduction-max数字冷却缩减上限,按百分比填写,支持小数。示例值 75 表示最多缩减 75% 冷却。

技能释放时,插件会按照该变量计算实际冷却时间,并使用 cooling-reduction-max 限制最大缩减比例。

技能槽位与按键

yaml
register-skill-slot:
  'KEY_Z': '技能槽位1'
  'KEY_X': '技能槽位2'
  'KEY_C': '技能槽位3'
  'KEY_V': '技能槽位4'
  'KEY_B': '技能槽位5'

register-skill-slot 用于注册 GermPlugin 按键,并将按键绑定到技能界面中的槽位组件。

配置内容说明
键名,例如 KEY_Z必须是 GermPlugin 支持的 KeyType 名称。插件会尝试注册该按键。
槽位名,例如 技能槽位1必须对应 技能界面.yml 中实际存在的界面组件。

按键名称中的 KEY_ 前缀会保留在配置中。PlaceholderAPI 变量中的按键名称会省略此前缀,例如 KEY_Z 对应 %lsv_Z:skill%

如果按键无法注册,或对应的界面组件不存在,插件会在控制台输出错误信息,但仍会继续处理其他配置。

默认槽位贴图

yaml
default-slot-texture: 'local<->textures/gui/技能视图/slot.png'
配置项类型说明
default-slot-texture字符串技能槽位没有绑定技能时使用的默认贴图路径。

技能绑定到槽位后,槽位会显示技能配置中的 skill-icon;没有绑定技能时恢复为该默认贴图。

独立技能菜单

yaml
skill-menu:
  战士技能:
    - '战士技能1'
    - '战士技能2'
    - '战士技能3'

skill-menu 用于定义独立技能菜单。每个一级键都是菜单 ID,列表内容为该菜单允许显示的技能 ID。

配置内容说明
skill-menu.<菜单ID>菜单 ID,可作为 /lsv open <菜单ID> 的参数。
skill-menu.<菜单ID>[]该菜单包含的技能 ID。技能必须存在于 skills/ 目录中的技能配置。

示例中的配置对应命令:

text
/lsv open 战士技能

技能最终能否显示,还会继续检查技能自身的 display-condition。不满足技能显示条件的技能不会出现在菜单中。

公共冷却分组

yaml
gcd-group:
  战士技能:
    - '战士技能1'
    - '战士技能2'
    - '战士技能3'

gcd-group 用于配置公共冷却分组。一级键是分组 ID,列表内容是技能 ID。

配置内容说明
gcd-group.<分组ID>公共冷却分组名称,名称不能重复。
gcd-group.<分组ID>[]该组包含的技能 ID。

公共冷却的具体时间由技能等级中的 gcd 配置决定,单位为毫秒。技能释放后,如果技能属于某个分组,分组内技能的冷却结束时间会至少延长到该公共冷却时间。

同一个技能可以同时出现在多个公共冷却分组中;释放该技能时,匹配到的多个分组都会参与处理。未配置 gcd 时,默认值为 0。被动技能不会触发公共冷却。

提示消息

配置位于 message 节点。消息中的 & 颜色代码会在发送给玩家时转换为 Minecraft 颜色代码。

yaml
message:
  skill-level-up-success: '&f[&e技能系统&f] &e技能升级成功!'
  skill-level-up-fail: '&f[&e技能系统&f] &c技能升级失败,升级条件不足!'
  skill-cooling: '&f[&e技能系统&f] &7技能冷却中 ,剩余&6{time}&7秒!'
  passive-skill-cannot-bind-to-key: '&f[&e技能系统&f] &7被动技能无法绑定。'
  skill-level-is-max: '&f[&e技能系统&f] &7已达最大技能等级。'
  skill-cast-fail: '&f[&e技能系统&f] &c技能释放失败,释放条件不足!'
  skill-cast-fail-from-mana: '&f[&e技能系统&f] &c技能释放失败,魔法值不足{mana}点!'
配置项说明
message.skill-level-up-success技能升级成功时发送。
message.skill-level-up-fail技能升级条件不足时发送。
message.skill-cooling技能仍在冷却时发送。{time} 会替换为剩余冷却秒数。
message.passive-skill-cannot-bind-to-key尝试将被动技能绑定到技能按键时发送。
message.skill-level-is-max技能已经达到最大等级时发送。
message.skill-cast-fail技能释放条件不满足时发送。
message.skill-cast-fail-from-mana蓝量不足时发送。{mana} 会替换为本次释放所需的蓝量。

技能文件

技能文件放在 skills/ 目录中,插件会加载该目录下的 YAML 文件。技能的详细字段不属于 config.yml,主要包括:

  • 技能排序:index
  • 技能名称:skill-name
  • 技能图标:skill-icon
  • 技能显示条件:display-condition
  • 触发方式:trigger-mode
  • 技能等级:skill-level
  • 技能等级中的冷却、蓝耗、升级条件、升级物品、升级命令、释放条件、释放命令和公共冷却

技能菜单中的技能 ID必须与技能文件中的一级键一致。技能等级配置中的 gcd 只有在 config.yml 配置了对应的 gcd-group 后,才会对同组技能产生公共冷却效果。

界面文件

技能界面.yml

该文件定义技能菜单界面,插件会读取名为 技能界面 的 GermPlugin GUI。以下组件名称会被插件直接使用,修改名称时必须同步修改 register-skill-slot 或相关界面逻辑:

组件名称用途
技能描述显示当前选中技能的等级描述。
升级技能点击后尝试升级当前选中的技能。
滚动条承载技能列表并提供滚动显示。
技能槽位1用于将主动技能绑定到已注册的技能按键。
技能图标技能列表中的图标模板。
技能背景技能列表中的背景模板。
技能名称技能列表中的名称模板。

技能列表中的模板组件由插件复制生成,技能名称中的 {level}{max} 会分别替换为玩家当前等级和技能最大等级。

技能栏.yml

该文件定义技能栏 HUD。示例配置为 ZXCVB 五个按键显示技能图标、剩余冷却秒数和冷却遮罩。HUD 中使用的变量包括:

  • %lsv_Z:icon%%lsv_X:icon% 等:按键槽位上的技能图标路径。
  • %lsv_Z:cdsecond%%lsv_X:cdsecond% 等:剩余冷却秒数。
  • %lsv_Z:cd%%lsv_X:cd% 等:剩余冷却毫秒数。
  • %lsv_Z:cdmax%%lsv_X:cdmax% 等:当前技能最大冷却毫秒数。

如果新增或删除 register-skill-slot 中的按键,需要同时调整 技能栏.yml 中对应的图标、冷却文本和冷却图片组件,否则 HUD 不会自动生成对应显示。