采集目标
targets.yml 定义可采集的 ItemsAdder 方块及其采集规则。
配置结构
targets:
example:ore_1:
required-level: 0
time-seconds: 3
exp-on-success: 10
exp-on-fail: 0
success-expression: "0.6 + {skill-level} * 0.01 + {skill-passive-bonus} + {skill-next-bonus}"
on-success:
action_1:
type: message
value: "&a你采集到了 {gather-target}"
action_2:
type: drop-item
chance: "0.5 + {skill-level} * 0.01"
value:
ignore-fertilizer: true
item: "example:drop_1"
min: 1
max: "1 + {skill-level} * 0.1"
on-fail:
action_1:
type: message
value: "&c很遗憾,采集失败了。"
目标 ID
目标 ID 必须与 ItemsAdder 方块的 namespaced ID 完全一致。例如方块为 example:ore_1,则配置键也是 example:ore_1。
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
required-level | integer | 采集所需的最低等级 |
time-seconds | number | 读条时间(秒) |
exp-on-success | integer | 采集成功获得的经验 |
exp-on-fail | integer | 采集失败获得的经验 |
success-expression | string | 成功率计算表达式,结果范围 0~1 |
on-success | object | 采集成功时执行的动作 |
on-fail | object | 采集失败时执行的动作 |
成功率表达式
success-expression 支持数学表达式和占位符:
success-expression: "0.6 + {skill-level} * 0.01 + {skill-passive-bonus} + {skill-next-bonus}"
可用占位符:
| 占位符 | 说明 |
|---|---|
{skill-level} | 玩家采集等级 |
{skill-passive-bonus} | 被动技能加成 |
{skill-next-bonus} | 下一次采集加成(使用后清零) |
计算示例:
- 等级 5,无技能:
0.6 + 5 * 0.01 = 0.65(65% 成功率) - 等级 10,被动加成 0.15:
0.6 + 10 * 0.01 + 0.15 = 0.85(85% 成功率)
动作系统
on-success 和 on-fail 定义采集结果后执行的动作,动作由 CustomCrops 提供。
message 消息
发送消息给玩家:
action_1:
type: message
value: "&a采集成功!"
drop-item 掉落物品
掉落 ItemsAdder 物品:
action_2:
type: drop-item
chance: "0.5 + {skill-level} * 0.01"
value:
ignore-fertilizer: true
item: "example:drop_1"
min: 1
max: "1 + {skill-level} * 0.1"
| 字段 | 说明 |
|---|---|
chance | 掉落概率(支持表达式) |
item | ItemsAdder 物品 ID |
min | 最小数量 |
max | 最大数量(支持表达式) |
多目标配置示例
targets:
mypack:copper_ore:
required-level: 0
time-seconds: 2
exp-on-success: 5
exp-on-fail: 1
success-expression: "0.7"
on-success:
action_1:
type: drop-item
chance: "1"
value:
item: "mypack:copper_nugget"
min: 1
max: 3
mypack:iron_ore:
required-level: 5
time-seconds: 4
exp-on-success: 15
exp-on-fail: 2
success-expression: "0.5 + {skill-level} * 0.02"
on-success:
action_1:
type: drop-item
chance: "1"
value:
item: "mypack:iron_chunk"
min: 1
max: 2
mypack:gold_ore:
required-level: 10
time-seconds: 6
exp-on-success: 30
exp-on-fail: 5
success-expression: "0.4 + {skill-level} * 0.02 + {skill-passive-bonus}"
on-success:
action_1:
type: drop-item
chance: "1"
value:
item: "mypack:gold_chunk"
min: 1
max: 1