本章将引导你如何为 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 | 决定哪些文化城市可能刷新该物品 |
| Type | Cape, 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>
📎 说明:
- path="items" 代表 ModuleData/items.xml
- id="Items" 应与根节点 <Items> 保持一致
✅ 步骤 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_... |
🔄 扩展支持(可选)
你还可以进一步:
- 使用 CraftedItem 自定义锻造图纸(weapon_templates.xml)
- 创建自己的 item_modifiers.xml 改变掉落概率
- 使用 equipment_rosters.xml 把新装备加入部队模板
- 在 lords.xml 中给 NPC 配备新装备测试外观搭配
✅ 小结
通过本章,你已掌握了:
✅ 如何在 Mod 中定义基础装备
✅ 如何创建支持锻造系统的 CraftedItem
✅ 如何在 SubModule.xml 中注册装备
✅ 如何测试装备是否正确加载并生效