返回目录
Chapter 5 第五章:新增装备
开发者文档 更新于 2025-05-22 22:42:02

第五章:新增装备

本章将引导你如何为 Bannerlord MOD 添加新装备项,包括普通护甲、武器及可通过锻造系统打造的物品。你将学会如何正确配置 XML 数据并在 SubModule.xml 中注册,以便游戏成功加载它们。

📁 步骤 1:创建装备配置文件 items.xml

📦 目录结构

Modules/
└── ExampleMod/
    └── ModuleData/
        └── items.xml  ← 所有装备定义放在这里

✍️ 步骤 2:编写 items.xml

🧥 示例:定义一件护甲装备

<?xml version="1.0" encoding="utf-8"?>
<Items>
  <Item id="custom_chain_cape"
        name="{=mycape001}装饰皮甲覆盖锁子甲"
        mesh="varangian_bra_mail"
        culture="Culture.empire"
        weight="4.2"
        appearance="7"
        Type="Cape">

    <ItemComponent>
      <Armor body_armor="14"
             arm_armor="9"
             modifier_group="chain"
             material_type="Chainmail" />
    </ItemComponent>

    <Flags /> <!-- 可选装备标志 -->
  </Item>
</Items>

📌 字段说明:

属性说明
id装备唯一标识符(必须唯一)
name显示名称,支持本地化(或可直接写中文)
mesh对应游戏模型(需已存在)
culture决定哪些文化城市可能刷新该物品
TypeCape, Head, Body, HorseHarness, Weapon...
appearance刷新概率(0 不刷新,建议 ≥ 1)
weight装备重量
ItemComponent/Armor定义防御能力

🔨 步骤 3:定义锻造装备(CraftedItem)

⚔️ 示例:可锻造投掷匕首

<CraftedItem id="desert_throwing_knife_blunt"
             name="{=es77bJBa}训练用投掷匕首"
             crafting_template="ThrowingKnife"
             culture="Culture.aserai"
             is_merchandise="false">
  <Pieces>
    <Piece id="rc_dagger_b1_blunt" Type="Blade" scale_factor="100" />
    <Piece id="rc_dagger_guard_1" Type="Guard" scale_factor="100" />
    <Piece id="rc_dagger_handle_1" Type="Handle" scale_factor="100" />
    <Piece id="rc_dagger_pommel_1" Type="Pommel" scale_factor="100" />
  </Pieces>
</CraftedItem>

📌 参数说明:

字段说明
id唯一标识
crafting_template使用的锻造模板(例如 OneHandedSword, Polearm, ThrowingKnife)
culture所属文化
is_merchandise是否作为商品出售(false 仅限锻造)

📜 步骤 4:注册装备到 SubModule.xml

确保在 <Module> 中添加 <Xmls> 节点注册 items.xml:

<Xmls>
  <XmlNode>
    <XmlName id="Items" path="items" />
    <IncludedGameTypes>
      <Gametype value="Campaign"/>
      <Gametype value="CampaignStoryMode"/>
      <Gametype value="Sandbox"/>
    </IncludedGameTypes>
  </XmlNode>
</Xmls>
📎 说明:

✅ 步骤 5:测试你的装备是否生效

🔎 方式 1:控制台添加物品

使用以下命令:

campaign.give_item_to_main_party test_item
campaign.give_item_to_main_party desert_throwing_knife_blunt

🔧 方式 2:锻造界面验证

进入锻造台(需要达到一定技能等级),搜索你定义的 CraftedItem。

💡 最佳实践建议

建议项说明
✅ 使用现有游戏模型避免建模导入麻烦,可从游戏 XML 中提取
✅ 搭配物品分类使用 item_modifier_group 控制品质
✅ 标记为不可商用is_merchandise="false" 控制是否在商店刷新
✅ 保持 ID 一致性尽量统一物品命名前缀,如 modname_...

🔄 扩展支持(可选)

你还可以进一步:

✅ 小结

通过本章,你已掌握了:

✅ 如何在 Mod 中定义基础装备

✅ 如何创建支持锻造系统的 CraftedItem

✅ 如何在 SubModule.xml 中注册装备

✅ 如何测试装备是否正确加载并生效