升级方案配置
升级方案文件放在 plugins/RedmiItemEnhance/升级/。一个方案的 ID 是 YAML 顶层键,必须保持唯一。
配置骨架
yaml
方案ID:
# 可选:显示在装备 Lore 中的经验数值标识
经验值: 武器经验
# 可选:显示在装备 Lore 中的进度条模板
经验条: "&8[&a||||||||||&8]"
# 每个等级对应“升到下一级”需要的经验
经验公式:
"0-10": "{level}*10"
"11-20": "{level}*25"
# 至少填写一项,可组合使用;推荐使用 ItemID
物品匹配:
Name: ""
ItemID: "[rm]武器ID"
Lore:
- ""
经验获取:
击杀:
"僵尸": "10"
道具:
"[rm]低级经验石": "20"
"[ni]exp_stone": "50"
吞噬:
"旧武器方案": "0.8"
物品升级: |-
var level = 强化.获取等级(item);
物品.修改物品名(item, '§a武器 +' + (level + 1));
return true;物品匹配
匹配条件是“同时满足已填写条件”。
Name:物品名包含该文本。Lore:列表中的文本按RedmiAssyLib的 Lore 匹配规则检查。ItemID:格式为[rm]id或[ni]id,分别读取RedmiAssyLib与NeigeItems的物品 ID。
当前版本加载器会校验 ItemID 的来源格式。为了保证方案能够正常载入,生产环境请务必填写有效的 [rm] 或 [ni] ID,再用 Name、Lore 继续收窄匹配范围。
首次匹配成功后,插件会在物品 NBT 的 RedmiItemEnhance.Plan 中记录方案。之后优先使用这个方案;如果方案被删除或物品条件发生变化,插件会重新匹配。config.yml 的 方案修正经验继承 决定重新匹配时是否保留原经验。
经验公式
键支持单个等级或闭区间,例如 "0-10"。值是包含 {level} 的整数表达式,加载时会展开为每个等级的需求经验。
yaml
经验公式:
"0-4": "{level}*10+20"
"5": "100"
"6-9": "{level}*30"区间应按从小到大填写,不能重叠。没有对应公式的等级即视为等级上限。
经验来源
击杀
键是实体显示名,支持按配置中的名称索引匹配;值必须是整数。插件只检查 config.yml 的 经验获取生效槽位 中列出的装备槽。
道具
值是每个物品提供的经验。强化界面会按堆叠数量计算并只消耗达到本次升级所需经验的数量。[rm]、[ni] 可直接使用;[mm] 需要 MythicMobs 已启用。
吞噬
键是允许被吞噬的升级方案 ID,值是经验折算比例,例如 0.8 表示按旧装备累计经验的一部分转入当前装备。未列出的方案不能被吞噬。
升级脚本
升级脚本在真正升级时执行,预览会优先使用单独配置的预览脚本。脚本必须返回布尔值;升级成功后插件统一写入“等级 +1、经验 0”。
界面按钮文字
可以在方案内按等级区间追加确认按钮 Lore:
yaml
界面按钮信息:
"0-9":
- "§7当前等级:{level}"
- "§e下一次升级需要的经验请查看装备 Lore"{level} 会替换为当前等级,文本中的四则运算占位符继续交给 RedmiAssyLib 解析。
