强化转移
强化转移通过转移界面,将左侧装备的强化等级转移到右侧装备。转移使用单独的 强化转移.yml 配置文件,装备组和转移规则均在该文件中定义。
转移功能只处理能够被 LyStrengthen2 识别为强化装备的物品。装备会根据显示名匹配强化方案,并根据强化名称中的强化标识读取当前强化等级。
指令
| 指令 | 说明 |
|---|---|
/qh zy | 打开强化转移界面 |
/qh2 zy | 打开强化转移界面 |
两个指令使用相同的转移界面和转移规则。
转移界面
转移界面由 config.yml 中的 gui 节点配置,默认标题为 强化转移。
界面关键槽位如下:
| 槽位 | 配置或用途 |
|---|---|
37 | 左侧装备槽,放入需要转出强化等级的装备 |
43 | 右侧装备槽,放入接收强化等级的装备 |
49 | 转移按钮,检查条件并执行转移 |
转移界面中的其他位置使用 gui.zy-fill-item、gui.zy-zb1-item 和 gui.zy-zb2-item 生成提示或填充物品。
转移按钮的 Lore 可以使用 %vault 显示当前匹配规则的金币消耗:
yaml
gui:
zy-title: '&6强化转移'
zy-fill-item: '160:0'
zy-fill-name: '&7'
zy-zb1-item: '160:1'
zy-zb1-name: '&6这里面放装备'
zy-zb2-item: '160:1'
zy-zb2-name: '&6这里面放装备'
zy-button-item: '145:0'
zy-button-name: '&6点击进行强化转移'
zy-button-lore:
- '&c'
- '&c强化转移后'
- '&c左边的装备将会消失'
- '&c并且会继承左边装备的强化等级'
- '&a右边的装备的强化上限必须高于'
- '&a或等于左边的装备才可以进行继承'
- '&7本次转移需要金币: %vault'界面只允许在左侧装备槽和右侧装备槽放入物品,转移按钮由插件控制,不能放入普通物品。
关闭转移界面时,两个装备槽中的物品会尝试返回玩家背包。背包空间不足时,无法放入背包的物品会掉落在玩家当前位置。
转移条件
点击转移按钮后,插件会按以下顺序检查转移条件:
| 条件 | 说明 |
|---|---|
| 左侧装备 | 必须是能够识别的强化装备 |
| 右侧装备 | 必须是能够识别的强化装备 |
| 物品数量 | 两个装备槽中的物品数量都不能大于 1 |
| 禁止 Lore | 任一装备的 Lore 命中禁止强化关键词时,不能转移 |
| 强化等级 | 左侧装备等级必须大于右侧装备等级 |
| 右侧上限 | 左侧装备当前等级不能超过右侧强化方案的强化上限 |
| 强化组 | 两件装备都必须匹配到强化组 |
| 转移规则 | 必须存在对应的“来源组-目标组”规则 |
| 转移材料 | 玩家背包中的所有转移材料必须足够 |
| 金币 | 玩家余额必须达到规则配置的金币消耗 |
以下情况不会扣除材料或金币,也不会执行转移:
- 任一装备无法识别为强化装备。
- 任一装备堆叠数量大于
1。 - 任一装备 Lore 命中
config.yml的禁止强化关键词。 - 左侧装备强化等级小于或等于右侧装备强化等级。
- 左侧装备强化等级超过右侧强化方案的强化上限。
- 两件装备没有匹配到有效的强化组或转移规则。
- 转移材料不足。
- 金币不足。
强化组
强化组 根据装备显示名中的关键词识别装备所属组。装备显示名包含组内任意关键词时,即可匹配到该组。
yaml
强化组:
f1:
- 垃圾装备
- 拉宽装备
f2:
- 牛马装备
- 牛字装备| 配置项 | 类型 | 说明 |
|---|---|---|
强化组 | 节点 | 所有转移强化组的配置节点 |
强化组.<组名> | 列表 | 一个强化组,组名用于匹配转移规则 |
强化组.<组名>[] | 字符串 | 装备显示名关键词,匹配任意一个关键词即可归入该组 |
组名可以自定义,但必须与 转移 节点中的规则名称保持一致。
组匹配使用显示名包含判断。建议不要让同一个关键词同时出现在多个强化组中,否则同一件装备可能被归类到错误的组。
转移规则
转移规则使用 来源组-目标组 的名称格式:
- 左侧装备所属组为来源组。
- 右侧装备所属组为目标组。
- 只有存在对应方向的规则时,才能执行转移。
yaml
转移:
f1-f2:
min: 0
max: 4
转移时是否破碎装备: true
消耗金币: 100000
消耗物品:
- "测试物品#10"| 配置项 | 类型 | 说明 |
|---|---|---|
转移.<来源组>-<目标组> | 节点 | 配置指定来源组转移到目标组的规则 |
min | 整数 | 转移时随机扣除强化等级的最小值 |
max | 整数 | 转移时随机扣除强化等级的最大值 |
转移时是否破碎装备 | 布尔值 | 当前规则是否在转移成功后消耗左侧装备 |
消耗金币 | 整数 | 当前规则需要消耗的金币数量 |
消耗物品 | 列表 | 当前规则需要消耗的物品和数量 |
min 和 max 会在转移时生成一个包含边界值的随机扣除等级。配置时应保证 min 不大于 max。
规则方向
规则名称具有方向性。例如:
yaml
转移:
f1-f2:
min: 0
max: 4该规则只允许 f1 组装备转移到 f2 组装备,不会自动允许 f2 转移到 f1。如果需要反向转移,必须另外配置:
yaml
转移:
f1-f2:
min: 0
max: 4
f2-f1:
min: 0
max: 2消耗物品格式
yaml
消耗物品:
- "物品名#数量"| 部分 | 说明 |
|---|---|
物品名 | 用于获取和匹配转移材料的物品名称 |
数量 | 本次转移需要消耗的数量 |
插件会在转移前检查玩家背包中的材料数量,检查通过后才会扣除材料。材料名称支持项目中已有的物品库获取方式;如果名称包含 @,插件会按 @ 后的名称进行背包数量匹配。
转移等级计算
转移成功后,插件从 min 到 max 之间随机生成一个扣除等级,并按以下公式计算目标强化等级:
text
目标强化等级 = 左侧装备当前强化等级 - 随机扣除等级当计算结果小于 1 时,目标强化等级按 1 处理。
右侧装备会按照右侧装备所属强化方案中该等级的配置重新写入强化结果,包括:
- 强化显示名中的等级标识。
- 该等级配置的强化 Lore。
- 该等级配置的 NBT 内容。
- 该等级配置的成功命令。
转移不会直接复制左侧装备的 Lore 或 NBT 配置,而是使用右侧强化方案对应等级的配置生成结果。
转移成功后的处理
转移成功后,插件会执行以下操作:
- 扣除转移规则配置的材料。
- 扣除转移规则配置的金币。
- 根据
min和max计算目标强化等级。 - 按右侧强化方案的目标等级配置更新右侧装备。
- 根据破碎设置处理左侧装备。
- 发送
msg.转移成功配置的消息,并替换%lv为目标强化等级。 - 执行右侧目标等级配置中的
命令。 - 根据
config.yml的sound配置播放铁砧音效。
转移成功消息使用以下配置键:
yaml
msg:
转移成功: '转移成功,当前强化等级 %lv'左侧装备处理
左侧装备的处理方式由具体转移规则中的 转移时是否破碎装备 决定。如果具体规则没有配置该字段,则使用 强化转移.yml 顶部的全局配置。
| 配置值 | 转移成功后的处理 |
|---|---|
true | 消耗左侧装备,左侧装备槽变为空 |
false | 保留左侧装备,但移除其强化等级标识和强化 Lore,使其恢复为未强化状态 |
当关闭破碎设置时,插件不会保留左侧装备原有的强化等级;只会清除强化显示名标识和强化 Lore。
全局破碎设置
yaml
转移时是否破碎装备: true该配置位于 强化转移.yml 顶层,用作所有转移规则的默认值。
yaml
转移时是否破碎装备: false
转移:
f1-f2:
min: 0
max: 4
转移时是否破碎装备: true在上面的配置中,f1-f2 规则明确配置为 true,因此该规则不会使用全局的 false。
相关消息
以下消息位于 config.yml 的 msg 节点:
| 配置键 | 触发情况 |
|---|---|
msg.无法转移 | 左侧装备等级超过右侧装备强化上限 |
msg.转移材料不足 | 玩家背包中的转移材料不足 |
msg.转移成功 | 转移成功,%lv 会替换为目标强化等级 |
msg.转移金币不足 | 玩家余额不足以支付转移费用 |
msg.转移无效1 | 两件装备无法匹配有效转移关系,或左侧等级不高于右侧等级 |
msg.禁止强化功能物品 | 装备 Lore 命中禁止强化关键词 |
默认消息示例:
yaml
msg:
无法转移: '右边装备的强化上限低于左边的装备,无法进行转移。'
转移材料不足: '转移所需的材料不足'
转移成功: '转移成功,当前强化等级 %lv'
转移金币不足: '转移所需的金币不足'
转移无效1: '无法进行转移,这两件装备无法互相共鸣。'
禁止强化功能物品: '该物品包含禁止强化关键词,无法使用强化系统功能。'禁止强化功能物品
config.yml 中的 禁止强化功能Lore关键词 用于限制物品使用强化系统相关功能。该限制同时作用于强化、强化券和强化转移。
yaml
禁止强化功能Lore关键词:
- '禁止强化'当任一待转移装备的 Lore 中包含列表内任意关键词时,点击转移按钮后会发送 msg.禁止强化功能物品,不会继续检查或执行转移。
不需要限制时,可以将该列表保持为空:
yaml
禁止强化功能Lore关键词: []音效配置
转移成功后会播放铁砧使用音效,音效版本由 config.yml 中的 sound 配置决定:
yaml
sound: '1.7'| 配置值 | 使用的音效 |
|---|---|
'1.7' | ANVIL_USE |
'1.12' | BLOCK_ANVIL_USE |
数据存储说明
强化转移本身不读取或保存玩家保底次数,也不依赖数据库保存转移记录。
插件的 MySQL 功能只用于强化保底数据。当启用 config.yml 中的 guaranteed-enable 和 mysql.enable 时,必须安装 LyMySQLCore,并确保数据库连接成功,相关保底数据功能才会生效。数据库连接失败时,不能认为保底数据功能已经正常工作。
相关配置示例:
yaml
guaranteed-enable: false
mysql:
enable: false
databasename: mc2
username: mc2
password: mc1234
port: 3306
ip: 127.0.0.1转移材料、金币、目标装备等级和转移规则仍以 强化转移.yml 及当前玩家状态为准。