Skip to content

配置说明

LyRune 仅生成一个 config.yml,用于设置服务端适配版本、提示消息、符文界面、装备与符文识别、属性统计、符文拆卸及槽位解锁条件。

修改配置后,可使用 /lr reload/lyfw reload 重载。重载子命令仅允许服务器管理员执行。

配置文件

文件用途
plugins/LyRune/config.ymlLyRune 的全部功能配置

服务端版本

配置项类型默认值说明
minecraft-version字符串1.12.2选择插件使用的服务端适配实现,可填写 1.7.101.12.2
yaml
minecraft-version: '1.12.2'

此配置必须与实际服务端版本一致。插件仅在值完全等于 1.7.10 时加载 1.7.10 实现,其他值会加载 1.12.2 实现,因此不要填写未列出的版本。

提示消息

message 节点用于设置玩家操作符文界面时收到的提示。

配置项可用内容触发时机
message.unlock-slot-success{slot}成功解锁新符文槽位
message.unlock-slot-fail{slot}槽位没有对应配置、条件不满足或解锁失败
message.cursor-item-not-rune玩家尝试放入的物品不符合符文识别条件
message.cursor-item-not-out-item槽位内已有符文,但玩家拿起的物品不是拆卸工具
message.out-rune-need-item已启用拆卸工具消耗,但玩家未拿起拆卸工具
message.rune-need-level{level}{need_level}玩家等级低于符文要求等级
yaml
message:
  unlock-slot-success: '&a解锁第 &6{slot}&a 个槽位成功!'
  unlock-slot-fail: '&a解锁第 &6{slot}&7 个槽位成功!'
  cursor-item-not-rune: '&7鼠标拿起的物品不是符文, 无法操作.'
  cursor-item-not-out-item: '&7鼠标拿起的物品不是拆卸工具, 无法操作.'
  out-rune-need-item: '&7拆卸该槽位的符文需要拆卸工具.'
  rune-need-level: '&c你当前的等级为&6{level}, &c小于符文可用等级&6{need_level}&c, 无法刻印!'

默认配置中的 message.unlock-slot-fail 文本写成了“成功”,建议根据实际用途改为失败提示。

message.rune-need-level 会替换等级变量,但当前实现不会主动把该配置中的 & 转换为颜色符号。其他提示消息会进行 & 颜色转换。

符文界面

界面固定为 54 格:第 5 格放置需要处理的装备,第 19 至 45 格显示当前页的 27 个符文槽位,第 46 格和第 54 格分别为上一页、下一页按钮。

界面基础设置

配置项类型说明
gui.title字符串符文刻印界面的标题
gui.frame-item字符串装备周围边框及不可操作槽位使用的物品
gui.frame-name字符串边框物品名称
gui.fill-item字符串界面空白区域使用的填充物品
gui.fill-name字符串填充物品名称
gui.last-item字符串上一页按钮物品
gui.last-name字符串上一页按钮名称
gui.next-item字符串下一页按钮物品
gui.next-name字符串下一页按钮名称
yaml
gui:
  title: '&6 符文刻印'

  frame-item: '160:1'
  frame-name: '&7请在槽位内放置需要刻印符文的物品'

  fill-item: '160:0'
  fill-name: '&7封锁'

  last-item: '262:0'
  last-name: '&6上一页'

  next-item: '262:0'
  next-name: '&6下一页'

界面物品支持旧版数字 ID 与数据值格式,例如 160:1。代码同时支持通过 Bukkit 材质名称读取物品,但 minecraft-version 仍必须使用插件明确支持的版本。

未解锁槽位

配置项类型可用内容说明
gui.unlock-item字符串未解锁槽位显示的物品
gui.unlock-name字符串<slot>未解锁槽位物品名称
gui.unlock-lore字符串列表{condition}未解锁槽位的描述
yaml
gui:
  unlock-item: '160:5'
  unlock-name: '&6解锁第<slot>个符文槽位'
  unlock-lore:
    - ''
    - '&7槽位解锁后, 拿起符文点击指定槽位,'
    - '&7即可将符文刻印在此位置.'
    - ''
    - '&7当背包内存在&6<符文蜕印石>&7时点击有符文的槽位'
    - '&7即可拆卸该符文.'
    - ''
    - '&7解锁新的符文槽位需要以下条件:'
    - '{condition}'
    - ''
    - '&a[点击解锁]'
  • <slot> 会替换为当前准备解锁的槽位编号。
  • {condition} 会替换为对应 unlock-config 分组中的全部 show-lore
  • gui.unlock-lore 会经过 PlaceholderAPI 变量解析。
  • show-lore 中的 <数学表达式> 会计算为整数后再显示。
  • 如果 gui.unlock-lore 没有 {condition},解锁条件说明不会显示在按钮描述中,但实际条件仍会检查。

可刻印装备识别

配置项类型默认值说明
unload-rune-lore字符串&6可刻印符文用于识别尚未初始化符文槽位的装备描述
yaml
unload-rune-lore: '&6可刻印符文'

装备必须在 Lore 中包含与该配置完全一致的一整行,才能被识别为可刻印装备。颜色代码会先从 & 转换为游戏颜色格式,比较时忽略大小写。

装备第一次解锁槽位或刻印符文后,这一行会被符文信息描述替换。插件会在装备 NBT 中保存槽位上限和已刻印的符文,不需要在装备 Lore 中手动维护这些数据。

不要把普通装备描述设置成与 unload-rune-lore 相同,否则这些装备也会被识别为可刻印装备。

装备符文信息

符文信息模板

配置项类型说明
rune-lore字符串列表装备拥有槽位后写入装备 Lore 的符文信息模板

rune-lore 支持以下替换内容:

内容说明
{now}当前已经刻印的符文数量
{max}当前装备已经解锁的槽位数量
{attribute}插入 statistics-lore-key 统计出的属性行
{show_slot}插入所有已刻印符文的名称列表
yaml
rune-lore:
  - '&6已刻印 &a{now}/{max} &6个符文'
  - '&6符文属性统计:'
  - '{attribute}'
  # - '{show_slot}'

{attribute}{show_slot} 会展开为零行或多行内容。没有匹配到任何属性或符文时,对应位置不会生成额外 Lore。

插件会在自己生成的 Lore 后加入内部标记,用于后续更新和清理。不要手动复制、修改或删除插件生成的符文信息行,否则可能导致装备 Lore 更新位置异常。

已刻印符文列表

配置项类型默认值说明
enable-show-slot布尔值true是否允许 {show_slot} 输出已刻印符文列表
show-slot-format字符串&7已刻印 >> &6{rune}每个已刻印符文的显示格式
yaml
enable-show-slot: true
show-slot-format: '&7已刻印 >> &6{rune}'
内容说明
{rune}符文的显示名称;没有自定义名称时使用物品材质名称

仅开启 enable-show-slot 不会自动显示列表,仍需在 rune-lore 中加入 {show_slot}。设置为 false 后,即使模板中存在 {show_slot},也不会插入符文列表。

符文物品识别

配置项类型默认值说明
rune-item-lore字符串&7符文用于识别符文物品的完整 Lore 行
yaml
rune-item-lore: '&7符文'

符文物品必须在 Lore 中包含与该配置完全一致的一整行。颜色代码会先从 & 转换为游戏颜色格式,比较时忽略大小写。

刻印时只消耗鼠标拿起物品中的 1 个,并把单个符文物品的完整数据保存到装备中。

符文等级限制

配置项类型默认值说明
rune-level-key字符串&f符文等级从符文 Lore 中查找需求等级的关键词;留空关闭等级检查
rune-level-placeholder字符串%player_level%读取玩家当前等级的 PlaceholderAPI 变量
yaml
rune-level-key: '&f符文等级'
rune-level-placeholder: '%player_level%'

启用等级限制后,插件会执行以下处理:

  1. 在符文 Lore 中查找包含 rune-level-key 的第一行。
  2. 移除关键词、颜色符号、百分号和非数字内容。
  3. 把剩余数字作为该符文的需求等级。
  4. 解析 rune-level-placeholder,并将结果转换为玩家当前等级。
  5. 玩家等级低于需求等级时拒绝刻印。

例如符文包含以下 Lore:

yaml
- '&f符文等级: &610'

rune-level-key&f符文等级 时,插件会读取出需求等级 10

此功能直接调用 PlaceholderAPI。启用等级限制时,必须安装 PlaceholderAPI,并确保 rune-level-placeholder 最终返回整数。留空关闭检查:

yaml
rune-level-key: ''

属性统计

statistics-lore-key 用于读取所有已刻印符文的 Lore,把指定属性累加后写入装备的 {attribute} 位置。

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

每个子项的键是匹配关键词,值是最终写入装备 Lore 的格式。

部分说明
物理伤害在符文 Lore 中搜索的关键词
&f物理伤害 +{value}汇总后写入装备 Lore 的格式
{value}所有匹配数值的总和,固定显示两位小数

统计规则:

  • 插件遍历全部已刻印符文的 Lore。
  • Lore 只要包含配置的关键词即可参与统计,不要求整行完全一致。
  • 插件移除颜色代码后,读取这一行出现的第一个非负整数或小数。
  • 同一符文的一行 Lore 只会匹配一次属性。
  • 相同关键词的数值会累加。
  • 没有匹配数值的属性不会显示。
  • 统计结果使用 0.00 格式,例如 15.002.50

可以配置多个属性:

yaml
statistics-lore-key:
  '物理伤害': '&f物理伤害 +{value}'
  '生命值': '&c生命值 +{value}'
  '暴击率': '&e暴击率 +{value}%'

当前数值匹配规则不会读取负号,因此不要依赖该功能汇总负数属性。

符文拆卸

配置项类型默认值说明
disassemble-need-item-enable布尔值true拆卸符文时是否必须使用拆卸工具
disassemble-item-name字符串&6符文蜕印石拆卸工具必须拥有的显示名称
disassemble-return-rune布尔值true拆卸后是否把符文物品返还到玩家背包
yaml
disassemble-need-item-enable: true
disassemble-item-name: '&6符文蜕印石'
disassemble-return-rune: true

启用拆卸工具后,玩家需要拿起名称与 disassemble-item-name 完全一致的物品,再点击已有符文的槽位。名称比较忽略大小写,并支持 & 颜色代码。

成功拆卸时会消耗鼠标上的 1 个拆卸工具。关闭 disassemble-need-item-enable 后,直接点击已有符文的槽位即可拆卸,不会检查或消耗拆卸工具。

disassemble-return-runetrue 时,符文会直接加入玩家背包;为 false 时,符文从装备数据中移除且不返还。

槽位解锁

unlock-config 决定每个槽位的显示说明、解锁要求和消耗。玩家点击当前未解锁槽位时,插件会尝试解锁下一个槽位。

分组格式

分组名称可以是单个槽位,也可以是包含首尾的槽位范围。

yaml
unlock-config:
  1:
    show-lore:
      - '&7第一个槽位'
    condition: []

  2-5:
    show-lore:
      - '&7第<slot>个槽位'
    condition:
      - 'permission:{rune.slot}'
格式说明
1只应用于第 1 个槽位
2-5应用于第 2 至第 5 个槽位,包含两端
show-lore显示在未解锁槽位按钮中的条件说明
condition解锁时实际检查的条件列表

插件按照 unlock-config 中的分组查找当前槽位。当前槽位没有匹配的分组时,解锁会失败。因此,配置中能够匹配到的最高槽位就是可解锁上限。

解锁内容替换

show-lorecondition 支持以下内容:

内容说明
<slot>当前准备解锁的槽位编号
PlaceholderAPI 变量按当前玩家解析,例如 %player_level%
<数学表达式>计算尖括号内的四则运算,并把结果显示为整数

支持 +-*/ 和小括号运算。例如:

yaml
show-lore:
  - '&7金币x<(%player_level%+<slot>) * 5>'

假设玩家等级为 10,准备解锁第 3 个槽位,显示结果为 金币x65

尖括号表达式支持嵌套,插件会优先计算最内层内容。<slot> 会先被替换为数字,然后再进行计算。

条件类型

条件格式是否消耗所需插件说明
papi:{表达式}PlaceholderAPI解析变量后执行布尔表达式,结果必须为 true
permission:{权限节点}无额外插件检查玩家是否拥有指定权限
item:{物品名称#数量}无额外插件检查玩家背包前 36 格中的同名物品,并在成功解锁后扣除
eco:{金额表达式}Vault 及可用经济插件检查并扣除玩家金币
point:{点券表达式}PlayerPoints检查并扣除玩家点券

所有条件必须同时满足,槽位才会解锁。插件会先完成全部条件检查,确认通过后再统一扣除物品、金币和点券。

PlaceholderAPI 条件

yaml
condition:
  - 'papi:{%player_level% > 10}'

PlaceholderAPI 变量会先替换为实际值,随后使用 JavaScript 表达式计算结果。表达式必须返回布尔值,否则条件失败并在控制台输出错误。

使用该条件必须安装 PlaceholderAPI,并确保对应变量能够正常解析。

权限条件

yaml
condition:
  - 'permission:{vip.1}'

此处的权限节点是槽位解锁条件,不是 LyRune 内置命令权限。插件没有在 plugin.yml 中声明固定权限节点,可以直接填写服务器实际使用的权限。

物品条件

yaml
condition:
  - 'item:{&6符文破印石#<slot>}'

物品条件按照物品显示名称判断,不检查材质或 Lore。颜色代码会进行转换,名称比较忽略大小写。

# 左侧为物品名称,右侧为数量。配置中的普通空格会在检查前移除,因此需要检测的物品名称不应包含空格。

金币条件

yaml
condition:
  - 'eco:{(%player_level%+<slot>) * 5}'

金币数量支持 PlaceholderAPI 变量和四则运算。使用 eco 条件时,必须安装 Vault、可用的经济插件,并确保 Vault 已成功连接该经济服务,否则金币检查和扣除无法正常工作。

点券条件

yaml
condition:
  - 'point:{100}'

点券数量支持 PlaceholderAPI 变量和四则运算。使用 point 条件时必须安装并启用 PlayerPoints。

默认解锁配置

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}'

  5-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-55-10 都包含第 5 个槽位。插件会使用遍历时首先匹配到的分组。为避免边界配置产生歧义,建议改成不重叠的范围,例如 1-56-10

完整配置参考

yaml
# 服务端版本,可选 1.7.10 或 1.12.2
minecraft-version: '1.12.2'

message:
  unlock-slot-success: '&a解锁第 &6{slot}&a 个槽位成功!'
  unlock-slot-fail: '&c解锁第 &6{slot}&c 个槽位失败!'
  cursor-item-not-rune: '&7鼠标拿起的物品不是符文, 无法操作.'
  cursor-item-not-out-item: '&7鼠标拿起的物品不是拆卸工具, 无法操作.'
  out-rune-need-item: '&7拆卸该槽位的符文需要拆卸工具.'
  rune-need-level: '&c你当前的等级为&6{level}, &c小于符文可用等级&6{need_level}&c, 无法刻印!'

gui:
  title: '&6 符文刻印'

  frame-item: '160:1'
  frame-name: '&7请在槽位内放置需要刻印符文的物品'

  fill-item: '160:0'
  fill-name: '&7封锁'

  last-item: '262:0'
  last-name: '&6上一页'

  next-item: '262:0'
  next-name: '&6下一页'

  unlock-item: '160:5'
  unlock-name: '&6解锁第<slot>个符文槽位'
  unlock-lore:
    - ''
    - '&7槽位解锁后, 拿起符文点击指定槽位,'
    - '&7即可将符文刻印在此位置.'
    - ''
    - '&7当背包内存在&6<符文蜕印石>&7时点击有符文的槽位'
    - '&7即可拆卸该符文.'
    - ''
    - '&7解锁新的符文槽位需要以下条件:'
    - '{condition}'
    - ''
    - '&a[点击解锁]'

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

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

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

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

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

disassemble-need-item-enable: true
disassemble-item-name: '&6符文蜕印石'
disassemble-return-rune: true

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}'

以上完整配置修正了默认失败提示文本,并把重叠的 5-10 范围调整为 6-10