Skip to content

配置说明

LyGalaxyRune 是 Minecraft 服务端符文刻印插件。玩家可以将可刻印装备放入符文界面,解锁或升级符文槽位,镶嵌和拆卸符文,并根据符文 Lore 与槽位等级计算属性。

本页说明以下配置文件:

  • plugins/LyGalaxyRune/config.yml
  • plugins/LyGalaxyRune/gui/符文界面.yml

插件概览

支持的 Minecraft 服务端版本:

1.7.101.8.81.11.21.12.21.13.21.14.41.15.21.16.51.17.11.18.21.19.21.19.41.20.11.20.21.20.3

主要功能包括:

  • 识别可刻印装备和符文物品。
  • 通过 GUI 解锁、升级、镶嵌和拆卸符文槽位。
  • 按符文 Lore 白名单统计属性,并应用槽位等级增幅。
  • 使用 SQLite 或 MySQL 保存符文库、槽位等级和操作数据。
  • 支持符文库归档与备份恢复。
  • 支持 PlaceholderAPI、权限、物品、点券和金币条件。

相关指令:

  • /lgr reload:重载符文界面配置。

依赖与联动插件

插件或组件类型说明
ProtocolLib必需插件运行所需的基础依赖。
PlayerPoints可选使用 point 条件时提供点券检查和扣除。
Vault可选使用 eco 条件时提供经济服务。
PlaceholderAPI可选使用 papi 条件或 PlaceholderAPI 变量时需要。
attribute-plugin 指定的属性插件按配置选择可选值为 AttributePlusAttributeSystemSX-AttributeItemLoreOrigin
数据库连接前置MySQL 模式必需启用 MySQL 存储时必须安装,并且必须成功连接数据库;否则相关存储功能不会生效。

默认使用插件数据目录中的 SQLite 数据库文件 rune.db。启用 MySQL 后,符文库相关数据改由 MySQL 保存。

配置通用规则

  • 配置中的颜色代码使用 &,例如 &6
  • 配置中的列表顺序会影响 Lore、属性和条件的显示顺序。
  • 配置键名称必须保持原样,尤其是 atttribute-increase-lore,这是插件实际读取的键名。
  • {变量} 是插件运行时变量;%变量% 通常是 PlaceholderAPI 变量。
  • 修改范围键时,范围不能重叠;范围之间出现断层时,后续等级或槽位可能无法继续配置。

config.yml

基础设置

配置键默认值说明
attribute-pluginAttributePlus指定处理符文属性的属性插件。只能填写 AttributePlusAttributeSystemSX-AttributeItemLoreOrigin
attribute-refresh-interval20检查玩家符文属性变化的间隔,单位为 tick。20 tick 约等于 1 秒。
operation-cooldown-ms200镶嵌或拆卸成功后的操作冷却时间,单位为毫秒。0 表示关闭冷却,允许范围为 060000
condition-true-text&a✔条件满足时替换 {status} 的文本。
condition-false-text&c✘条件不满足时替换 {status} 的文本。

数据库设置

yaml
mysql:
  enable: false
  ip: '127.0.0.1'
  port: 3306
  databasename: 'mc2'
  username: 'mc2'
  password: 'mc1234'
配置键默认值说明
mysql.enablefalsefalse 使用插件数据目录中的 SQLite,true 使用 MySQL。
mysql.ip127.0.0.1MySQL 服务地址。
mysql.port3306MySQL 服务端口,范围为 165535
mysql.databasenamemc2使用的数据库名称。
mysql.usernamemc2MySQL 登录用户名。
mysql.passwordmc1234MySQL 登录密码。

启用 MySQL 时,ipportdatabasenameusername 必须填写有效值。必须安装 数据库连接前置 并成功连接数据库后,符文库读取、保存、属性统计和相关操作才会正常生效。

存储调试日志

yaml
debug:
  storage: false
配置键默认值说明
debug.storagefalse是否在后台输出符文库读取、保存和归档扫描的调试信息。关闭时仍会保留数据库故障告警。

数据库消息

database-message 用于数据库不可用、符文库缺失以及备份符文库恢复相关提示。

配置键默认值说明
database-message.unavailable&c符文数据暂时不可用,请稍后重试。数据库暂时不可用。
database-message.missing&c符文数据不存在或已损坏,请联系管理员。符文库不存在或数据损坏。
database-message.restore-loading&7正在恢复手持物品对应的备份符文库,请稍候。开始恢复备份符文库。
database-message.restore-success&a备份符文库已恢复,库 ID: &f{library_id}恢复成功,{library_id} 会替换为符文库 ID。
database-message.restore-active&e该符文库当前已经处于活动状态。目标符文库已经处于活动状态。
database-message.restore-missing&e没有找到该符文库的备份记录。没有找到对应备份。
database-message.restore-failed&c备份符文库恢复失败,请查看后台日志。备份恢复失败。
database-message.restore-no-library&c手持物品没有有效的符文库 ID。手持物品没有有效符文库标识。
database-message.restore-no-permission&c只有管理员可以恢复备份符文库。玩家没有恢复权限。
database-message.restore-player-only&c该命令必须由玩家手持物品执行。当前操作必须由玩家执行。

符文库自动归档

归档不会直接删除符文库,而是将长期未访问的符文库移动到备份数据中。默认关闭。

yaml
library-gc:
  enable: false
  interval-hours: 12
  inactive-days: 180
  grace-days: 30
  batch-size: 50
配置键默认值说明
library-gc.enablefalse是否启用长期未访问符文库的自动归档。
library-gc.interval-hours12后台归档扫描的最短间隔,单位为小时,必须大于 0
library-gc.inactive-days180符文库连续未访问达到此天数后进入观察期,必须大于 0
library-gc.grace-days30进入观察期后继续等待的天数,可以为 0。期间再次访问会取消归档标记。
library-gc.batch-size50每次扫描最多查询或移动的符文库数量,范围为 11000

玩家消息

message 中的颜色代码使用 &。除非特别说明,消息中的 {slot}{level} 等变量由插件在运行时替换。

配置键默认值说明
message.unlock-slot-success&7第 &6{slot} &7个符文槽位已解锁!解锁槽位成功。
message.unlock-slot-fail&c第 &6{slot} &c个符文槽位解锁失败,请检查条件后再试。解锁槽位失败。
message.slot-level-upgrade-success&7第 &6{slot} &7个符文槽位已升级至 &6{level} &7级!槽位升级成功。
message.slot-level-upgrade-max&7这个槽位已经是最高等级了。槽位已经满级。
message.slot-level-upgrade-config-fail&c这个槽位暂时无法继续升级,请稍后再试。找不到有效的下一等级配置。
message.slot-level-upgrade-condition-fail&c你还没有满足槽位升级条件。升级条件未满足。
message.slot-level-upgrade-cost-fail&c升级所需的物品、点券或金币不足。升级资源不足。
message.slot-level-upgrade-state-fail&c界面内容已经变化,请重新打开界面后再试。GUI 状态已变化。
message.equipment-amount-one&c请一次只放入一件装备。放入的装备数量不是一件。
message.item-not-equipment&c这件物品不能进行符文刻印。物品不符合可刻印装备识别规则。
message.rune-loading&7符文正在加载,请稍候……符文库正在读取。
message.attribute-loading&7符文属性正在计算,请稍候……符文属性正在计算。
message.attribute-retry&c符文属性读取失败,请稍后再试。属性读取失败并等待重试。
message.rune-no-available-slot&c当前没有空闲的符文槽位。没有可用空槽位。
message.rune-level-no-match&c没有符合该符文等级要求的空闲槽位。空槽位等级不足。
message.rune-source-not-enough&c这组符文已经全部预留,请先取下装备保存当前修改。当前符文已经被界面中的操作预留。
message.cursor-item-not-out-item&7请手持正确的拆卸工具。手持物品不是指定拆卸工具。
message.out-rune-need-item&7请先手持拆卸工具,再点击要拆卸的符文。拆卸前需要手持拆卸工具。
message.rune-upgrade-empty-cursor&7升级槽位时请先空出手。升级槽位时光标不能持有物品。
message.disassemble-inventory-full&c背包空间不足,无法取出符文。拆卸后的符文无法放入背包。
message.operation-delivery-pending&c背包空间不足,物品暂时无法返还。请空出空间后重新登录领取。物品返还暂未完成。
message.equipment-takeoff-pending&7符文库已保存,但装备暂时无法取出。请清理背包后再次点击装备槽。装备暂时无法取回。
message.operation-cooldown&7操作太快了,请稍后再试。操作仍处于冷却时间内。
message.gui-draft-pending&7操作成功,取下装备后即可生效。GUI 中的修改将在取下装备后生效。
message.gui-draft-cost-fail&c升级或解锁所需材料不足。升级或解锁资源不足。
message.gui-draft-state-fail&c界面内容已发生变化,请重新打开界面后再试。当前 GUI 状态已经过期。

装备和符文识别

yaml
rune-lore:
  - '&6已刻印 &a{now}/{max} &6个符文'
  # - '{show_slot}'

enable-show-slot: true
show-slot-format: '&7已刻印 >> &6{rune}'
unload-rune-lore: '&6可刻印符文'
rune-item-lore: '&7类型: &a符文'
rune-level-key: '&f符文等级: {value}'
配置键默认值说明
rune-lore&6已刻印 &a{now}/{max} &6个符文装备镶嵌成功后写入装备 Lore 的列表。{now} 是当前符文数量,{max} 是已解锁槽位数量。
enable-show-slottrue是否展开 rune-lore 中的 {show_slot},逐个显示已镶嵌符文名称。
show-slot-format&7已刻印 >> &6{rune}单个已镶嵌符文的显示格式,{rune} 是符文显示名称。
unload-rune-lore&6可刻印符文可刻印装备必须包含的完整 Lore 行。
rune-item-lore&7类型: &a符文符文物品必须包含的完整 Lore 行。
rune-level-key&f符文等级: {value}符文等级识别模板。{value} 只能出现一次,并匹配 0 或正整数。留空表示不限制符文等级。

装备和符文的识别文字需要与 Lore 中的整行内容匹配。插件自动写入的数量和符文名称 Lore 包含定位信息,不要手动删除或修改这些定位信息。

rune-level-key 不为空时,目标槽位当前等级必须不低于符文 Lore 中的要求等级。模板不支持小数、范围值或多个 {value}

拆卸设置

yaml
disassemble-need-item-enable: true
disassemble-item-name: '&6符文蜕印石'
disassemble-return-rune: true
配置键默认值说明
disassemble-need-item-enabletrue是否要求玩家手持拆卸道具点击槽位。设为 false 时不要求道具。
disassemble-item-name&6符文蜕印石显示名称完全相同的物品会被识别为拆卸道具。
disassemble-return-runetrue拆卸成功后是否返还原符文物品。

属性 Lore 白名单

yaml
atttribute-increase-lore:
  - '&f物理伤害 +{value}'

max-level-show-lore: '&6已满级'
配置键默认值说明
atttribute-increase-lore&f物理伤害 +{value}符文属性 Lore 白名单。只有匹配模板的 Lore 行会参与属性统计。每个模板必须且只能包含一个 {value}
max-level-show-lore&6已满级槽位达到最高等级时显示的 Lore。可以填写单行文字,也可以填写文字列表。

{value} 可以匹配单个数值,也可以匹配范围,例如 10-20。范围两端会分别应用槽位等级增幅,然后参与累计。

槽位等级规则

每个键表示升级完成后的目标等级。2-5 表示目标等级为 2345 时使用同一段配置。

yaml
slot-level-config:
  1:
    atttribute-increase-formula: '{level} * 0.05'
    show-lore:
      - '&7当前等级: &e{current_level}/{max_level} 级'
      - '&7当前属性增幅: &e{current_attribute_increase}'
      - '&7下级属性增幅: &e{next_attribute_increase}'
    condition: []
  2-5:
    atttribute-increase-formula: '{level} * 0.05'
    show-lore:
      - '&7当前等级: &e{current_level}/{max_level} 级'
      - '&7当前属性增幅: &e{current_attribute_increase}'
      - '&7下级属性增幅: &e{next_attribute_increase}'
    condition:
      - 'item:{&6符文槽位升级石#{level}}| &6{item}x{amount} {status}'
      - 'eco:{{level} * 100}| &7金币x{amount} {status}'
  6-10:
    atttribute-increase-formula: '{level} * 0.05'
    show-lore:
      - '&7当前等级: &e{current_level}/{max_level} 级'
      - '&7当前属性增幅: &e{current_attribute_increase}'
      - '&7下级属性增幅: &e{next_attribute_increase}'
    condition:
      - 'item:{&6高级符文槽位升级石#{level}}| &6{item}x{amount} {status}'
      - 'eco:{{level} * 200}| &7金币x{amount} {status}'

槽位等级配置键

配置键说明
slot-level-config.<范围>.atttribute-increase-formula属性增幅公式。{level} 是目标等级,0.15 表示增加 15%。公式必须计算为有限的非负数。
slot-level-config.<范围>.show-lore界面中显示的阶段说明列表。
slot-level-config.<范围>.condition升到目标等级必须满足的条件列表。每条条件都必须满足。

slot-level-config.1 表示新解锁槽位的初始等级,只负责初始属性和显示 Lore,可以使用 condition: []。从目标等级 2 开始,必须配置有效升级条件。

支持的 show-lore 变量:

变量含义
{current_level}当前槽位等级。
{next_level}下一目标等级。
{max_level}配置允许的最高等级。
{current_attribute_increase}当前等级的属性增幅百分比。
{next_attribute_increase}下一等级的属性增幅百分比;满级时显示 max-level-show-lore

属性增幅实际应用为 1 + 配置公式结果。例如公式结果为 0.15 时,符文属性按 115% 计算。

槽位解锁规则

每个键表示解锁完成后拥有的槽位数量。1-4 表示解锁第 1234 个槽位时使用该段配置。

yaml
unlock-config:
  1-4:
    show-lore:
      - '&7当前槽位数量: &e{current_slot} / {max_slot}&7 个'
    condition:
      - 'papi:{%player_level% > 0}| &7需要玩家等级大于0级 {status}'
      - 'item:{&6符文破印石#{slot}}| &6{item}x{amount} {status}'
      - 'eco:{ (%player_level%+{slot}) * 5 }| &7金币x{amount} {status}'
  5-10:
    show-lore:
      - '&7当前槽位数量: &e{current_slot} / {max_slot}&7 个'
    condition:
      - 'papi:{%player_level% > 0}| &7需要玩家等级大于0级 {status}'
      - 'item:{&6符文破印石#{slot}}| &6{item}x{amount} {status}'
      - 'eco:{ (%player_level%+{slot}) * 10 }| &7金币x{amount} {status}'
配置键说明
unlock-config.<范围>.show-lore解锁界面显示的阶段说明。
unlock-config.<范围>.condition解锁下一个槽位必须满足的条件列表。

支持的解锁变量:

变量含义
{current_slot}当前已经解锁的槽位数量。
{next_slot}即将解锁的槽位数量。
{max_slot}配置允许解锁的最大槽位数量。
{slot}本次解锁的槽位编号。

范围键的上限不能超过 4096。最后一个范围的最大数字决定最多可解锁的槽位数量。

条件格式

条件统一使用以下结构:

yaml
condition:
  - '实际条件|界面显示文字'

单个 | 用于分隔实际判断条件和界面显示文字。PlaceholderAPI 表达式中的 || 会保留为逻辑运算符,不会被当作分隔符。

条件类型格式说明
PlaceholderAPIpapi:{表达式}判断 PlaceholderAPI 表达式是否成立。
权限permission:{权限节点}判断玩家是否拥有权限。
无权限nopermission:{权限节点}判断玩家是否没有权限。
物品item:{物品名称#数量}检查玩家背包中是否存在指定显示名称和数量的物品。
点券point:{数量或表达式}检查并扣除点券。需要可用的 PlayerPoints。
金币eco:{数量或表达式}检查并扣除金币。需要可用的经济服务。

条件显示文字支持以下变量:

变量含义
{item}物品条件中的物品名称。
{amount}物品、点券或金币的数量。
{status}根据条件结果替换为 condition-true-textcondition-false-text
{level}槽位升级的目标等级。
{slot}槽位解锁的目标编号。

数量和公式支持四则运算。表达式中的 PlaceholderAPI 变量会先替换,再进行计算。所有条件满足并且数据成功保存后,物品、点券或金币才会正式扣除。

gui/符文界面.yml

该文件固定放在插件数据目录的 gui 子目录中,可通过 /lgr reload 重载。界面布局每行必须正好包含 9 个字符,最多配置 6 行。

默认结构

yaml
title: '&6符文刻印'

layout:
  - '####E####'
  - '###A#####'
  - 'RRRRRRRRR'
  - 'RRRRRRRRR'
  - 'RRRRRRRRR'
  - '<###X###>'

button:
  equipment: E
  rune: R
  previous: '<'
  next: '>'
  close: X
  attribute: A

界面基础配置

配置键默认值说明
title&6符文刻印界面标题,不能为空。
layout6 行默认布局每行 9 个字符,最多 6 行。每个字符对应一个 slot 配置。
button.equipmentE待刻印装备入口。
button.runeR当前页面的符文槽位,必须在布局中出现正好 27 次。
button.previous<上一页按钮。
button.next>下一页按钮。
button.closeX关闭界面按钮。
button.attributeA符文属性统计按钮。

六个固定按钮的布局字符必须互不相同,并且必须在 layout 中出现。固定业务名称不能修改,只能调整它们对应的布局字符和位置。

翻页一次显示 27 个符文槽位。翻页时使用当前界面的符文草稿,不会改变数据库中的绝对槽位编号。

slot 展示配置

每个 slot.<布局字符> 支持以下子键:

子键说明
item展示物品标识,例如 160:0
name占位物品显示名称。
lore占位物品 Lore 列表。
template真实装备或符文物品显示时追加的 Lore 模板。

默认布局字符如下:

字符默认物品默认名称用途
#160:0空格界面背景。
E160:1&6放入可刻印装备放入装备并显示装备槽位信息。
A340:0&b符文属性统计统计已镶嵌符文的实际属性。
R160:1&7空符文槽位显示空槽位、符文、槽位等级和升级条件。
<262:0&6上一页上一页按钮。
>262:0&6下一页下一页按钮。
X330:0&f关闭界面关闭界面按钮。

装备槽位 E

默认 E 配置中的 Lore 为:

yaml
lore:
  - ''
  - '&7点击背包中的装备即可自动放入界面。'
  - '&7装备数量必须为 1。'
template:
  - ''
  - '&e符文槽位: &f{unlocked}/{max_slot}'

{unlocked} 是当前已经解锁的槽位数量,{max_slot} 是配置允许的最大槽位数量。玩家点击背包中的可刻印装备时,装备会自动放入界面;装备数量必须为 1

属性统计按钮 A

默认配置中的 Lore 为:

yaml
lore:
  - ''
  - '&7统计所有已镶嵌符文的实际属性。'
  - '&7槽位等级增幅已计入结果。'
  - ''
  - '{attribute}'

{attribute} 会展开当前装备上所有已镶嵌符文经过槽位等级增幅后的属性文本。

符文槽位 R

默认空槽位 Lore 为:

yaml
lore:
  - ''
  - '&7点击背包中的符文即可自动镶嵌。'
  - ''
  - '&7左键或右键点击空槽位:升级槽位等级。'
  - ''
  - '&7当前等级信息:'
  - '{current_stage}'
  - ''
  - '&7下一等级信息:'
  - '{next_stage}'
  - ''
  - '&7下一级升级条件:'
  - '{upgrade_condition}'

真实符文槽位的默认 template 为:

yaml
template:
  - ''
  - '&e槽位等级: &f{level}'
  - '&e左键点击:升级槽位等级。'
  - '&e右键点击:拆卸符文。'
  - ''
  - '&7当前阶段信息:'
  - '{current_stage}'
  - ''
  - '&7下一等级信息:'
  - '{next_stage}'
  - ''
  - '&7下一级升级条件:'
  - '{upgrade_condition}'

空槽位和已镶嵌槽位的操作规则:

  • 空槽位左键或右键都可以升级槽位等级。
  • 已镶嵌槽位左键升级槽位等级。
  • 已镶嵌槽位右键拆卸符文。
  • 背包点击可以自动放入装备或符文,符文会按当前页面的 27 个槽位依次匹配。

解锁槽位展示

unlock 用于显示尚未解锁的槽位。

yaml
unlock:
  item: '160:5'
  name: '&6解锁第 {slot} 个符文槽位'
  lore:
    - ''
    - '&7解锁后可以在此处镶嵌符文。'
    - ''
    - '&7当前阶段信息:'
    - '{current_condition}'
    - ''
    - '&7下一阶段解锁需要以下条件:'
    - '{upgrade_condition}'
    - ''
    - '&a左键或右键点击此处尝试解锁'
变量说明
{slot}当前要解锁的槽位编号。
{current_condition}当前已解锁数量所在阶段的 show-lore
{upgrade_condition}下一槽位的解锁条件显示文本。

未放入装备时的展示

yaml
no-equipment:
  item: '160:8'
  name: '&7请先放入装备'
  lore:
    - ''
    - '&7请先放入可刻印装备。'
    - '&7放入后即可查看和操作符文槽位。'

当界面没有放入可刻印装备时,所有符文槽位统一显示 no-equipment 配置中的物品、名称和 Lore。

GUI 变量

变量使用位置含义
{unlocked}slot.E.template当前已解锁槽位数量。
{max_slot}装备和解锁展示配置允许的最大槽位数量。
{attribute}slot.A.lore当前已镶嵌符文的属性统计结果。
{level}slot.R.template当前槽位等级。
{current_stage}slot.R.loreslot.R.template当前槽位等级阶段说明。
{next_stage}slot.R.loreslot.R.template下一等级阶段说明。
{upgrade_condition}槽位和解锁展示下一等级或下一槽位的条件显示文本。
{current_condition}unlock.lore当前解锁阶段说明。
{slot}unlock.nameunlock.lore即将解锁的槽位编号。

槽位阶段说明还支持 {current_level}{next_level}{max_level}{current_attribute_increase}{next_attribute_increase}。这些变量来自 slot-level-config 的阶段配置。

GUI 文本会先解析玩家的 PlaceholderAPI 变量,再解析插件变量和颜色代码。阶段文本中的合法四则运算表达式也会被计算。

GUI 与保存机制

  • 打开界面或更换装备时读取完整符文库,并在当前界面建立内存草稿。
  • 翻页只切换当前草稿中的 27 个槽位。
  • 取下装备或关闭界面时保存修改;取下装备不会自动关闭界面。
  • 符文库和槽位等级保存成功后,升级、解锁、镶嵌或拆卸产生的修改才会正式生效。
  • 镶嵌或拆卸成功后使用 operation-cooldown-ms 配置的冷却时间。
  • 配置修改后,范围、公式、属性模板、条件和 GUI 布局会在启动或重载时进行校验。
  • GUI 配置加载失败时会保留上一份可用的界面配置。