Skip to content

升级方案配置 ​

文件放在 plugins/RedmiItemEnhance/升级/ 下,后缀为 .yml。一个文件可以写多个方案,最外层名称就是 方案 ID,所有文件中的 ID 不要重复。

当前默认资源包含六份编辑器方案:粗糙的剑、精良的剑、木剑、长剑、重剑和可淬炼的武器。默认“木剑”只配置了进阶到长剑的分支;重剑分支是木剑到长剑或重剑中演示的扩展配置。

一份最小示例 ​

下面让红米物品库中的“练习剑”升到 3 级,每次攻击力增加 2。武器需要已有 攻击力: 10、强化经验: 0/10 这样的 Lore 行。经验道具只按名称识别:强化石每个 4 经验。

yaml
练习剑方案:
  物品匹配:
    ItemID: '[rm]练习剑'
  经验值: '强化经验'
  经验公式:
    '1-3': '{level}*10'
  界面按钮信息:
    '1-3':
      - '&6本次强化到 &a{level} &6级'
    '4':
      - '&7已达到最高等级'
  经验获取:
    道具:
      强化石:
        物品匹配:
          Name: '强化石'
        经验: 4
  物品升级: |-
    var 强化前等级 = Number(handle.beforeLevel);
    var 目标等级 = 强化前等级 + 1;
    if (目标等级 > 3) return false;
    var 攻击力 = 物品.物品数值获取(item, '攻击力', 0);
    if (攻击力 == null) return false;
    强化.设置物品数值(item, '攻击力', Number(攻击力) + 2, 0);
    物品.修改物品名(item, '§f练习剑 §6+' + 目标等级);
    强化.刷新经验上限(item, 目标等级, handle);
    return true;
  物品预览: |-
    var 强化前等级 = Number(handle.beforeLevel);
    var 目标等级 = 强化前等级 + 1;
    if (目标等级 > 3) return false;
    var 攻击力 = 物品.物品数值获取(item, '攻击力', 0);
    if (攻击力 == null) return false;
    强化.设置物品数值(item, '攻击力', Number(攻击力) + 2, 0);
    物品.修改物品名(item, '§f练习剑 §6+' + 目标等级);
    强化.刷新经验上限(item, 目标等级, handle);
    return true;

物品匹配 ​

配置项含义示例
ItemID按物品库 ID 匹配'[rm]练习剑' 或 '[ni]Sword'
Name物品名称包含此文本'练习剑'
Lore任意一行 Lore 包含此文本'可强化'

至少填写一项,填了多项则需要同时满足。不使用的项直接省略,尤其不要写空的 ItemID。当前运行端的方案 ID 匹配支持 [rm] 和 [ni];MythicMobs 物品可用名称或 Lore 匹配方案。

首次匹配后,物品会绑定方案并初始化为 0 级、0 经验。以后优先使用已绑定的有效方案,修改名称不代表会自动换方案。也不要让一件新物品同时匹配多个方案,以免绑定结果不明确。

经验公式 ​

yaml
经验公式:
  '1-10': '{level}*10'
  '11': '0'

左侧是 目标等级,1-10 包含两端;公式中的 {level} 也是目标等级。上例从 0 升 1 需要 10 经验,从 9 升 10 需要 100 经验。

  • 大于 0:积累到要求的经验后,执行升级脚本。
  • 等于 0:在强化界面点击确认时直接执行脚本,适合进阶、淬炼。
  • 没有下一目标等级的公式:不再正常升级。

不同区间不要重叠。当前一次经验结算最多升级一次,成功后经验归零,多余经验不会继续累计。

经验值与经验条 ​

yaml
经验值: '强化经验'
经验条: '&8&c|||||&a|||||'

经验值 定位物品 Lore 中的经验行,例如 强化经验: 0/10。经验条 定义进度条字符与颜色,物品 Lore 需要预先存在相同字符的进度条。这两项只更新已有显示,不会自动插入缺少的 Lore。

升级后需要更新经验上限时,在脚本中调用 强化.刷新经验上限;编辑器可以直接勾选“自动刷新经验上限”。

经验获取 ​

yaml
经验获取:
  击杀:
    '训练僵尸': 5
  道具:
    强化石:
      物品匹配:
        Name: '强化石'
      经验: 4

击杀填写实体在游戏中的名称,需要准确匹配,不是直接填写 MythicMobs 内部 ID。哪些装备可以获得击杀经验,由 config.yml 的“经验获取生效槽位”决定。

道具放入强化界面的材料槽后消耗,经验 是每个道具提供的经验,填写正整数。条目名称(上例的“强化石”)只是配置标签,真正的匹配条件写在 物品匹配 中;编辑器导出的“道具1”“道具2”也是同样的用法。

匹配项填写方式
ItemID带来源前缀的物品 ID,例如 '[rm]强化石'、'[ni]ExpStone'、'[mm]ExpCrystal'
Name物品名称需要包含的文字
Lore任意一行 Lore 需要包含的文字

至少填写一项,填写多项时必须同时满足。 不使用的项直接省略。[rm]、[ni]、[mm] 分别对应红米物品库、NeigeItems、MythicMobs;只填写 Name 时,无需指定物品库。

默认的五份经验升级方案都使用上面的名称匹配:强化石每个提供 4 经验,不限制物品库 ID 或 Lore。淬炼方案不配置经验道具。

例如,需要同时限制物品库、名称和 Lore 时,可以把某个道具条目写成:

yaml
限定经验石:
  物品匹配:
    ItemID: '[mm]ExpCrystal'
    Name: '经验石'
    Lore: '用于强化'
  经验: 30

这段放在 经验获取 → 道具 下。三项条件缺少任何一项匹配都不会提供经验;需要两项条件时,删掉不使用的那一项即可。

旧写法 '[rm]强化石': 4 仍可读取,表示只按物品库匹配。编辑器会将其导出为上面的新结构。

吞噬装备

示例模板还包含 吞噬 配置,0.8 表示 80% 的折算比例:

yaml
经验获取:
  吞噬:
    '练习剑方案': 0.8

当前实现按接收装备的方案 ID 读取这张比例表,不能把它当成严格的“允许被吞噬方案白名单”。文档中的经验升级案例使用经验道具;需要限制吞噬来源时,应先确认所用版本的实际行为。

界面按钮信息 ​

yaml
界面按钮信息:
  '1-10':
    - '&6本次将强化到 &a{level} &6级'
  '11':
    - '&6进阶需要下级魔晶石 ×1'

按目标等级选择显示文字,{level} 会替换成目标等级。文字只提示玩家,真正的扣材料、进阶和等级限制要写在脚本中。

物品升级 / 物品预览 ​

物品升级 决定正式结果;物品预览 修改预览副本,展示下一次结果。具体写法和可用方法见 强化脚本。