图纸配置
图纸文件放在 forge/ 目录。每个文件描述一张图纸,包括展示、解锁、材料、货币、条件、制作时间、成功率、产物和可选材料。
基础信息
| 节点 | 说明 |
|---|---|
id | 图纸 ID,全局唯一。 |
gui-id | 使用的锻造 GUI ID,删除时默认 default。 |
show-icon | 图纸图标,默认 PAPER:0。 |
show-name | 图纸显示名。 |
show-lore | 图纸说明。 |
show-lore-sort | 展示成功产物时的 Lore 排版,会覆盖全局排版。 |
图纸获取方式
how-to-get-it 决定玩家如何解锁图纸。
| 写法 | 说明 |
|---|---|
auto | 自动获得。 |
使用物品('name=测试图纸') | 使用指定物品解锁。 |
有权限('perm=权限') | 拥有权限时自动解锁。 |
无权限('perm=权限') | 没有权限时自动解锁。 |
条件判断('表达式') | 表达式成立时自动解锁。 |
必选材料与货币
| 节点 | 说明 |
|---|---|
need-item | 必选物品材料。 |
need-currency | 货币材料。 |
物品写法示例:MM@材料1: '1'。数量支持 PAPI 和四则运算,最终向上取整。
基础条件
base-condition 下每个子节点都是一条展示条件。
yaml
base-condition:
等级限制:
condition: "条件判断('%player_level% >= 0')"
show: " &6需要玩家等级大于等于0 {status}"{status} 会替换成主配置里的满足或不满足符号。
时间、成功率与次数
| 节点 | 说明 |
|---|---|
forge-time | 制作时长,单位秒。支持变量和公式。 |
chance | 成功率,范围 0-1。支持变量和公式。 |
max-forge-count | 最大锻造次数,0 表示不限制。 |
成功与失败结果
| 节点 | 说明 |
|---|---|
success-command | 锻造成功执行的指令。 |
success-item | 锻造成功产物。 |
failed-command | 锻造失败执行的指令。 |
failed-item | 锻造失败产物。 |
产物字段:
| 字段 | 说明 |
|---|---|
item | 物品库物品,例如 MM@产物1。 |
amount | 数量,支持公式。 |
give | 是否发放给玩家。 |
weight | 权重。 |
action | 产物生成时执行的动作。 |
entry | 应用到产物上的词条方法。 |
command | 产物生成时执行的指令。 |
可选材料
optional-item 用于让额外材料影响结果。
| 字段 | 说明 |
|---|---|
max | 该材料最多放入数量。 |
mutex-group | 互斥组,同组不同材料不能同时放入。default 不参与互斥。 |
action | 使用该材料时执行的动作。 |
entry | 使用该材料后追加的词条方法。 |
额外条件
extra-condition 可以在不同阶段触发。
type | 说明 |
|---|---|
start | 开始制作时检测。 |
success | 成功时检测。 |
failed | 失败时检测。 |
常用动作
这些动作通常写在 action 节点中,用于影响本次锻造过程、产物或提示。
| 动作 | 说明 |
|---|---|
设置变量(...) | 设置本次锻造变量,供后续条件、词条或公式读取。 |
设置成功率(...) | 设置本次成功率。 |
增加成功率(...) | 增加本次成功率。 |
减少成功率(...) | 减少本次成功率。 |
设置NBT(...) | 写入物品 NBT。 |
播放音效(...) | 播放指定声音。 |
全服消息(...) | 发送全服消息。 |
发送消息(...) | 给触发玩家发送消息。 |
执行指令(...) | 执行控制台、OP 或玩家指令。 |
扣除物品(...) | 按条件匹配并扣除物品。 |
给予物品(...) | 按物品库发放物品。 |