配置说明
修改 config.yml 或 extra/ 下的分解规则后,使用 /lyfj reload 重载。
配置文件
| 文件 / 目录 | 用途 |
|---|---|
config.yml | 基础开关、界面、消息、快捷按钮和主分解规则。 |
extra/ | 额外分解规则目录,可按文件拆分更多规则。 |
物品库读取
yaml
LyEntryReload: false
neigeItems: false
originAttribute: false
AzureFlow: false
SX-Item: false这些开关用于控制无前缀物品 ID 的默认读取优先级。分解产物也可以直接写前缀指定物品库:
| 写法 | 说明 |
|---|---|
AzureFlow@物品id | 读取 AzureFlow 物品。 |
NeonFlash@物品id | 读取 NeonFlash 物品。 |
SX-Item@物品id | 读取 SX-Item 物品。 |
neigeItems@物品id | 读取 NeigeItems 物品。 |
originAttribute@物品id | 读取 OriginAttribute 物品。 |
物品id | 按配置开关尝试读取;默认会尝试 MythicMobs。 |
基础设置
| 节点 | 默认值 | 说明 |
|---|---|---|
drop-near | true | 关闭界面返还物品时,如果玩家背包满,是否掉落在玩家脚下。 |
prohibit-decomposition-lore | 已绑定 | 物品 lore 包含这些文本时禁止统计和分解。 |
open-decomposition-slot | 18 | 开放的分解格子数量,最大 18。 |
is-save-to-lylootswarehouse | false | 分解产物是否优先存入 LyLootsWareHouse。 |
快捷按钮
extra-button 控制界面底部 9 个格子的快捷按钮,槽位范围为 0-8。
yaml
extra-button:
0:
type: "put:&7品质: &a一般"
item: "160:5"
name: "&7一键放入&a一般&7品质的装备"
lore:
- "[点我]"
8:
type: "get"
item: "160:7"
name: "&7一键取回全部装备"
lore: []type | 说明 |
|---|---|
put:文本 | 从玩家背包中放入 lore 包含指定文本的物品。 |
get | 取回界面上方全部待分解物品。 |
界面配置
yaml
gui:
title: "物品分解"
fill-item: "160:0"
fill-name: "&7上方放入要分解的物品"
button-item: "145:2"
button-name: "&e点击分解"
button-lore:
- "&a左键分解首个 &7| &a右键全部分解"gui.lore-add 会追加到预览产物 lore 中,支持:
| 占位 | 说明 |
|---|---|
%chance% | 该产物出现几率。 |
%min | 最小数量。 |
%max | 最大数量。 |
消息配置
| 节点 | 说明 |
|---|---|
message.inv-max | 关闭界面返还物品时背包已满提示。 |
message.success | 分解完成提示。 |
message.result | 获得产物提示,支持 %name、%item、%amount。 |
message.fail | 无法分解或背包空间不足提示,支持 %slot。 |
分解规则
分解规则写在 decomposition-set 下,也可以写在 extra/ 目录任意 yml 文件的 decomposition-set 下。
yaml
decomposition-set:
"条件1":
id: "0:0"
name: ""
lore: ""
containsName: false
containsLore: false
give: true
commands:
- "[console]bc %p分解了条件1"
result:
- "材料#1-2#100"| 节点 | 说明 |
|---|---|
id | 匹配原物品 ID 和 data,默认 0:0 表示不按 ID 匹配。 |
name | 匹配原物品显示名。 |
lore | 匹配原物品 lore。 |
containsName | true 时名称使用关键词包含匹配。 |
containsLore | true 时 lore 使用关键词包含匹配。 |
give | 是否发放 result 中的产物,默认 true。 |
commands | 分解时执行的指令。 |
extra-condition | 额外条件与额外结果。 |
result | 分解产物列表。 |
指令前缀
| 前缀 | 执行身份 |
|---|---|
[console] | 控制台执行。 |
[op] | 临时 OP 身份执行玩家指令。 |
[player] 或无前缀 | 玩家自身执行。 |
%p 会替换为玩家名。指令也会经过 PlaceholderAPI 解析。
产物格式
yaml
result:
- "材料#1-2#100"
- "SX-Item@材料A#1#25#bc %player_name% 分解出了材料A"格式为:物品#数量或范围#几率#可选控制台指令...
| 段位 | 说明 |
|---|---|
物品 | 产物 ID,可加物品库前缀。 |
数量或范围 | 1 表示固定 1 个,1-2 表示随机 1 到 2 个。 |
几率 | 1-100 的几率数值。 |
可选控制台指令 | 从第 4 段开始都作为控制台指令执行。 |
额外条件
yaml
extra-condition:
"等级限制":
condition:
- "papi:{%player_level% > 10}"
- "permission:{decomposition.vip}"
result:
- "$msg:{满足额外条件,分解几率提高}"
- "$addChance:{10}"支持的条件:
| 条件 | 说明 |
|---|---|
papi:{表达式} | PlaceholderAPI 表达式,支持 >、>=、<、<=、==,多个判断可用 &&。 |
permission:{权限} | 玩家需要拥有指定权限。 |
nopermission:{权限} | 玩家需要没有指定权限。 |
roll:{几率} | 额外随机条件,范围 1-100。 |
支持的结果:
| 结果 | 说明 |
|---|---|
$msg:{文本} | 给玩家发送消息。 |
$addChance:{数值} | 增加本条规则产物几率。 |
$takeChance:{数值} | 减少本条规则产物几率。 |
$setChance:{数值} | 设置本条规则产物几率。 |
$consoleCmd:{指令} | 控制台执行指令。 |
$playerCmd:{指令} | 玩家执行指令。 |
$opCmd:{指令} | 临时 OP 身份执行指令。 |
$continue | 跳过当前额外结果,继续后续检测。 |
$return | 直接停止当前分解规则。 |