映射规则
映射节点写在 check 下。每个节点表示一组检测规则,满足后添加属性和药水效果。
基础结构
yaml
check:
"示例映射":
check-slot:
- "Minecraft#8"
condition:
- "name:{示例装备}"
max-stack-layers: 1
attribute:
- "攻击力: eval:{%player_level% * 2:100}"
potion:
- "SPEED-1-2"
check-event:
- "second"| 配置 | 说明 |
|---|---|
check-slot | 该节点单独检测的槽位 |
condition | 生效条件 |
lore-get-placeholder | 从物品 lore 提取数值 |
max-stack-layers | 最大叠加层数 |
attribute | 生效属性 |
potion | 生效药水效果 |
check-event | 检测触发方式 |
没有 check-slot 时,使用全局 plugin-slot。
条件
| 条件 | 说明 |
|---|---|
name:{文本} | 物品名包含文本 |
equalsName:{文本} | 物品名完全匹配 |
lore:{文本} | lore 包含文本 |
equalsLore:{文本} | lore 完全匹配 |
permission:{权限} | 玩家拥有权限 |
nopermission:{权限} | 玩家没有权限 |
papi:{表达式} | PlaceholderAPI 表达式成立 |
suit:{套装文本} | %lsr_show% 中包含指定文本 |
名称和 lore 条件会按槽位内物品计算叠加层数,再受 max-stack-layers 限制。
Lore 取值
yaml
lore-get-placeholder:
变量: "获得 <value>x玩家 等级点攻击力"匹配到的 <value> 可以在属性中使用 <v.变量>。
yaml
attribute:
- "攻击力: eval:{%player_level% * <v.变量>:10}"如果没有取到变量,计算时按 0 处理。
属性公式
eval:{公式:上限} 会先计算公式,再按上限限制结果。
示例:攻击力: eval:{%player_level% * 2:100} 表示按玩家等级乘 2,最高不超过 100。
如果 value-number 开启,结果会转成整数;关闭时保留两位小数。
药水效果
yaml
potion:
- "SPEED-1-2"格式为:药水类型-等级-持续秒数。药水效果固定刷新,不按叠加层数叠加。
检测事件
| 事件 | 说明 |
|---|---|
second | 每秒检测 |
close_inventory | 关闭背包时检测 |
held_item | 切换手持槽位时检测 |
swap_hand | 切换主副手时检测 |
没有配置 check-event 时,默认按 second 模式处理。