Skip to content

符文规则

LyRune 的符文系统通过 GUI 管理装备槽位、符文刻印和符文拆卸。系统使用物品 Lore 识别装备与符文,并将槽位和符文数据写入物品 NBT。

支持版本与前置

配置文件中的 minecraft-version 支持以下值:

配置值对应实现
1.7.10使用 1.7.10 专用 API
1.12.2使用 1.12.2 专用 API

插件声明了以下软依赖:

插件用途
PlaceholderAPI解析玩家变量、符文等级和槽位解锁条件中的变量表达式
Vault扣除和检查金币条件
PlayerPoints扣除和检查点券条件
ProtocolLib序列化和读取已刻印的符文物品数据

使用对应功能时,需要安装并启用相应前置插件。未安装 Vault、PlayerPoints 或 PlaceholderAPI 时,使用依赖它们的配置条件可能无法正常完成检查。

可刻印装备

装备 Lore 中必须存在 unload-rune-lore 配置值对应的整行文本,插件通过这一行判断物品是否支持符文刻印。

默认配置如下:

yaml
unload-rune-lore: '&6可刻印符文'

识别规则:

  • Lore 必须存在完整的一行匹配文本。
  • 插件比较时会处理 & 颜色代码。
  • 未解锁槽位的装备可以通过 GUI 逐个解锁槽位。
  • 第一次刻印或解锁槽位后,识别行会被符文统计 Lore 替换。
  • 槽位数量写入物品 NBT 键 LyRuneSlotMax
  • 符文数据写入物品 NBT 节点 LyRune
  • 不要手动删除或修改插件写入的隐藏 Lore 标记,否则可能导致后续 Lore 刷新异常。

符文物品

符文物品 Lore 中必须存在 rune-item-lore 配置值对应的整行文本。

默认配置如下:

yaml
rune-item-lore: '&7符文'

插件会检查符文物品的全部 Lore,只要存在一整行匹配文本,就会将该物品识别为符文。

刻印时的基本规则:

  • 装备必须已经拥有对应的已解锁槽位。
  • 目标槽位必须为空。
  • 玩家鼠标上拿着的物品必须被识别为符文。
  • 每次刻印只消耗鼠标物品中的一个符文。
  • 符文刻印后,装备 Lore 会重新统计已刻印符文的属性。

符文等级限制

可以通过符文 Lore 限制符文的最低玩家等级。

yaml
rune-level-key: '&f符文等级'
rune-level-placeholder: '%player_level%'

当符文 Lore 中存在包含 rune-level-key 的文本时,插件会从该行提取数字作为最低等级。例如:

yaml
- '&f符文等级 10'

此时玩家变量 rune-level-placeholder 返回的等级必须大于或等于 10,否则无法刻印。

如果 rune-level-key 为空字符串,则不进行符文等级限制:

yaml
rune-level-key: ''

等级检查需要 PlaceholderAPI 正常工作,并且 rune-level-placeholder 必须返回可转换为整数的值。

符文刻印界面

通过命令打开符文 GUI 后,界面中的固定位置如下:

位置用途
4放置需要刻印符文的装备
1844显示当前页的 27 个符文槽位
45上一页按钮
53下一页按钮

界面行为:

  • 将可刻印装备放入位置 4 后,界面刷新槽位状态。
  • 已解锁且为空的槽位可以放入符文。
  • 未解锁槽位显示解锁物品和解锁条件。
  • 已刻印的符文会显示在对应槽位中。
  • 一个页面显示 27 个槽位,超过当前页范围时可以翻页。
  • GUI 内禁止拖动物品。
  • GUI 内禁止 Shift 点击。
  • 关闭界面后,位置 4 中的装备会返还到玩家背包。

GUI 外观由以下配置控制:

配置键作用
gui.titleGUI 标题
gui.frame-item边框物品
gui.frame-name边框物品名称
gui.fill-item填充物品
gui.fill-name填充物品名称
gui.last-item上一页按钮物品
gui.last-name上一页按钮名称
gui.next-item下一页按钮物品
gui.next-name下一页按钮名称
gui.unlock-item未解锁槽位显示物品
gui.unlock-name未解锁槽位名称
gui.unlock-lore未解锁槽位 Lore

gui.unlock-name 中的 <slot> 会替换为当前待解锁的槽位序号。gui.unlock-lore 中的 {condition} 会替换为当前槽位对应的 show-lore 内容。

槽位解锁

unlock-config 用于定义每个槽位的显示说明和解锁条件。键可以使用单个槽位编号,也可以使用槽位区间:

yaml
unlock-config:
  1-5:
    show-lore:
      - '&7需要大于0级'
      - '&6符文破印石x<slot>'
      - '&7金币x<(%player_level%+<slot>) * 5>'
    condition:
      - 'papi:{%player_level% > 0}'
      - 'item:{&6符文破印石#<slot>}'
      - 'eco:{ (%player_level%+<slot>) * 5 }'
  6-10:
    show-lore:
      - '&7需要大于0级'
      - '&6符文破印石x<slot>'
      - '&7金币x<(%player_level%+<slot>) * 10>'
    condition:
      - 'papi:{%player_level% > 0}'
      - 'item:{&6符文破印石#<slot>}'
      - 'eco:{ (%player_level%+<slot>) * 10 }'

区间规则

  • 1-5 表示槽位 15
  • 单个数字表示单独配置某一个槽位,例如 6
  • 插件根据待解锁的槽位序号查找对应配置。
  • 如果没有找到对应配置,槽位无法解锁。
  • <slot> 会替换为本次待解锁的槽位序号。
  • <> 内的内容会进行简单四则运算。
  • PlaceholderAPI 变量会先替换,再计算表达式。
  • 区间配置存在重叠时,应避免重复覆盖同一槽位。

解锁条件

条件格式作用检查内容
papi:{表达式}PlaceholderAPI 表达式条件表达式执行结果必须为 true
permission:{权限节点}权限条件玩家必须拥有指定权限
item:{物品名称#数量}物品条件玩家背包中必须拥有指定显示名称和数量的物品
eco:{金额}金币条件玩家 Vault 余额必须达到指定金额
point:{点券数量}点券条件玩家 PlayerPoints 点券必须达到指定数量

示例:

yaml
condition:
  - 'papi:{%player_level% > 0}'
  - 'permission:{vip.1}'
  - 'item:{&6符文破印石#<slot>}'
  - 'eco:{100}'
  - 'point:{100}'

解锁过程分为两步:

  1. 检查全部条件是否满足。
  2. 条件全部满足后,扣除 itemecopoint 条件对应的资源,并写入新的槽位数量。

papipermission 条件只负责检查,不会扣除资源。

物品条件按物品显示名称匹配,颜色代码会被处理;物品材质、Lore 和其他 NBT 不作为该条件的匹配依据。

装备 Lore 统计

当装备存在已刻印符文时,插件会根据 rune-lore 重新生成统计 Lore。

默认配置如下:

yaml
rune-lore:
  - '&6已刻印 &a{now}/{max} &6个符文'
  - '&6符文属性统计:'
  - '{attribute}'

可用占位符:

占位符作用
{now}当前已刻印的符文数量
{max}当前装备的槽位数量
{attribute}替换为统计后的符文属性 Lore
{show_slot}替换为已刻印符文列表,受 enable-show-slot 控制

启用已刻印符文列表:

yaml
enable-show-slot: true
show-slot-format: '&7已刻印 >> &6{rune}'

show-slot-format 中的 {rune} 会替换为符文显示名称。符文没有自定义名称时,使用物品材质名称。

属性统计

statistics-lore-key 定义参与统计的 Lore 关键词以及统计后的显示格式:

yaml
statistics-lore-key:
  '物理伤害': '&f物理伤害 +{value}'

统计规则:

  • 插件遍历所有已刻印符文的 Lore。
  • Lore 中包含配置关键词时,提取该行中的第一个数字。
  • 相同关键词的数字会累加。
  • 统计结果使用配置中的显示格式输出。
  • {value} 会替换为统计总值,并保留两位小数。
  • 只有实际统计到的关键词才会显示。

拆卸符文

拆卸功能由以下配置控制:

yaml
disassemble-need-item-enable: true
disassemble-item-name: '&6符文蜕印石'
disassemble-return-rune: true
配置键作用
disassemble-need-item-enable是否必须使用拆卸道具
disassemble-item-name拆卸道具的显示名称
disassemble-return-rune拆卸后是否返还符文物品

启用拆卸道具时:

  • 玩家需要在鼠标上拿着显示名称匹配 disassemble-item-name 的物品。
  • 点击已刻印符文的槽位即可拆卸。
  • 每次成功拆卸消耗一个拆卸道具。
  • disassemble-return-rune: true 时,符文返还到玩家背包。
  • disassemble-return-rune: false 时,符文不会返还。

禁用拆卸道具时:

yaml
disassemble-need-item-enable: false

玩家可以直接点击已刻印符文的槽位进行拆卸,不需要手持拆卸道具。

拆卸道具通过显示名称识别,物品材质、Lore 和其他 NBT 不作为识别依据。

消息配置

相关提示消息位于 message 节点:

配置键触发场景
message.unlock-slot-success槽位解锁成功
message.unlock-slot-fail槽位解锁失败或没有可用解锁配置
message.cursor-item-not-rune鼠标上的物品不是符文
message.cursor-item-not-out-item鼠标上的物品不是拆卸道具
message.out-rune-need-item当前配置要求拆卸道具,但玩家没有手持拆卸道具
message.rune-need-level玩家等级低于符文最低等级

消息中的占位符:

占位符可用消息
{slot}unlock-slot-successunlock-slot-fail
{level}rune-need-level
{need_level}rune-need-level

相关命令

插件注册了两个命令标签:lrlyfw,两者功能相同。

命令用途使用限制
/lr open打开符文刻印界面仅玩家可用
/lyfw open打开符文刻印界面仅玩家可用
/lr reload重载配置文件需要管理员身份
/lyfw reload重载配置文件需要管理员身份

无参数执行命令时,管理员可以查看可用提示;普通玩家不会显示该帮助内容。

注意事项

  • 可刻印装备、符文和拆卸道具都依赖配置中的 Lore 或显示名称识别。
  • 解锁条件中的物品名称应与实际物品显示名称完全对应,比较时忽略大小写。
  • 使用 eco 条件时需要 Vault 已成功连接经济服务。
  • 使用 point 条件时需要 PlayerPoints 已启用。
  • 使用 papi 条件或符文等级限制时需要 PlaceholderAPI 已启用。
  • 修改 rune-lore 时,应保留需要使用的占位符,否则装备 Lore 将不会显示对应内容。
  • 不要手动删除装备 Lore 中由插件写入的隐藏标记。