news 2026/2/25 18:26:26

《文明6》XML建筑文件全标签解析:从代码到游戏的完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
《文明6》XML建筑文件全标签解析:从代码到游戏的完整指南

本文深度解析《文明6》Buildings.xml文件中所有XML标签的含义和作用,为Mod开发者和游戏机制研究者提供完整参考。

📁 文件概览

该XML文件定义了《文明6》中所有建筑的完整数据体系,包含:

  • 建筑基础属性

  • 建筑关系与依赖

  • 产出与效果系统

  • 条件与需求系统

  • 视觉与界面信息

📋 核心标签解析

1. 根标签与基础结构

xml

<!-- 文档声明 --> <?xml version="1.0" encoding="utf-8"?> <!-- 主容器:包含所有游戏信息 --> <GameInfo> <!-- 所有具体数据都在这里 --> </GameInfo>

2. 建筑类型定义

<Kinds>- 种类容器

xml

<Kinds> <!-- 定义建筑的基本类型 --> <Row Kind="KIND_BUILDING"/> </Kinds>
<Types>- 类型映射

xml

<Types> <!-- 将具体建筑映射到种类 --> <Row Type="BUILDING_LIBRARY" Kind="KIND_BUILDING"/> </Types>

作用:建立建筑ID与类型的关联关系。

3. 建筑替换系统

<BuildingReplaces>- 特色建筑替换

xml

<BuildingReplaces> <Row CivUniqueBuildingType="BUILDING_FILM_STUDIO" ReplacesBuildingType="BUILDING_BROADCAST_CENTER"/> </BuildingReplaces>

字段说明

  • CivUniqueBuildingType:文明特色建筑

  • ReplacesBuildingType:被替换的标准建筑

4. 建筑主数据表

<Buildings>- 建筑核心属性

xml

<Buildings> <Row BuildingType="BUILDING_LIBRARY" Name="LOC_BUILDING_LIBRARY_NAME" PrereqTech="TECH_WRITING" PrereqDistrict="DISTRICT_CAMPUS" Cost="90" Maintenance="1" CitizenSlots="1"/> </Buildings>

核心字段解析

字段名类型示例值说明
BuildingType字符串BUILDING_LIBRARY建筑唯一标识符
Name本地化键LOC_BUILDING_XXX_NAME显示名称的本地化键
PrereqTech科技IDTECH_WRITING解锁所需科技
PrereqDistrict区域IDDISTRICT_CAMPUS必须建造在指定区域
PrereqCivic市政IDCIVIC_GAMES_RECREATION解锁所需市政
PurchaseYield产出类型YIELD_GOLD可用何种资源购买
Cost整数90生产力建造成本
Maintenance整数1每回合维护费(金币)
CitizenSlots整数1提供的专家工作槽位数
Housing整数2提供的住房数量
Entertainment整数2提供的娱乐度
IsWonder布尔true是否为世界奇观
MaxWorldInstances整数1全球最大建造数量(奇观=1)
ObsoleteEra时代ERA_MEDIEVAL过时时代(产出减少)

5. 建筑关系系统

<BuildingPrereqs>- 建筑前置条件

xml

<BuildingPrereqs> <!-- 建造B之前必须先建造A --> <Row Building="BUILDING_UNIVERSITY" PrereqBuilding="BUILDING_LIBRARY"/> </BuildingPrereqs>

重要机制:只需满足任意一个前置建筑即可(OR逻辑)。

<MutuallyExclusiveBuildings>- 互斥建筑

xml

<MutuallyExclusiveBuildings> <!-- 兵营和马厩不能同时建造 --> <Row Building="BUILDING_STABLE" MutuallyExclusiveBuilding="BUILDING_BARRACKS"/> </MutuallyExclusiveBuildings>

6. 产出系统

<Building_YieldChanges>- 基础产出

xml

<Building_YieldChanges> <!-- 建筑每回合自动提供的固定产出 --> <Row BuildingType="BUILDING_LIBRARY" YieldType="YIELD_SCIENCE" YieldChange="2"/> </Building_YieldChanges>

产出类型

  • YIELD_FOOD(食物)

  • YIELD_PRODUCTION(生产力)

  • YIELD_GOLD(金币)

  • YIELD_SCIENCE(科技值)

  • YIELD_CULTURE(文化值)

  • YIELD_FAITH(信仰值)

<Building_YieldsPerEra>- 时代增长产出

xml

<Building_YieldsPerEra> <!-- 每进入一个新时代额外增加的产出 --> <Row BuildingType="BUILDING_DAR_E_MEHR" YieldType="YIELD_FAITH" YieldChange="1"/> </Building_YieldsPerEra>
<Building_GreatPersonPoints>- 伟人点数

xml

<Building_GreatPersonPoints> <!-- 建筑每回合积累的伟人点数 --> <Row BuildingType="BUILDING_LIBRARY" GreatPersonClassType="GREAT_PERSON_CLASS_SCIENTIST" PointsPerTurn="1"/> </Building_GreatPersonPoints>
<Building_YieldDistrictCopies>- 区域产出转换

xml

<Building_YieldDistrictCopies> <!-- 将区域的一种产出转换为另一种 --> <Row BuildingType="BUILDING_SHIPYARD" OldYieldType="YIELD_GOLD" NewYieldType="YIELD_PRODUCTION"/> </Building_YieldDistrictCopies>

7. 巨作系统

<Building_GreatWorks>- 巨作槽位

xml

<Building_GreatWorks> <Row BuildingType="BUILDING_AMPHITHEATER" GreatWorkSlotType="GREATWORKSLOT_WRITING" NumSlots="2" ThemingBonusDescription="LOC_BUILDING_THEMINGBONUS_ART"/> </Building_GreatWorks>

关键参数

  • GreatWorkSlotType:巨作类型(著作/艺术品/音乐/遗物)

  • NumSlots:槽位数量

  • ThemingUniquePerson:主题化是否需要不同作者

  • ThemingSameObjectType:主题化是否需要同类巨作

8. 效果系统(Modifiers)

<Modifiers>- 效果定义

xml

<Modifiers> <!-- 定义一个效果/能力 --> <Row ModifierId="PALACE_ADJUST_GARRISON_STRENGTH" ModifierType="MODIFIER_PLAYER_CITIES_ADJUST_INNER_DEFENSE"/> </Modifiers>
<ModifierArguments>- 效果参数

xml

<ModifierArguments> <!-- 为效果设置具体数值 --> <Row ModifierId="PALACE_ADJUST_GARRISON_STRENGTH" Name="Amount" Value="3"/> </ModifierArguments>
<BuildingModifiers>- 建筑效果关联

xml

<BuildingModifiers> <!-- 将效果分配给建筑 --> <Row BuildingType="BUILDING_PALACE" ModifierId="PALACE_ADJUST_GARRISON_STRENGTH"/> </BuildingModifiers>

9. 条件系统(Requirements)

<Requirements>- 条件定义

xml

<Requirements> <!-- 定义一个判断条件 --> <Row RequirementId="REQUIRES_PLOT_HAS_COAST" RequirementType="REQUIREMENT_PLOT_TERRAIN_TYPE_MATCHES"/> </Requirements>
<RequirementArguments>- 条件参数

xml

<RequirementArguments> <!-- 设置条件的具体判断值 --> <Row RequirementId="REQUIRES_PLOT_HAS_COAST" Name="TerrainType" Value="TERRAIN_COAST"/> </RequirementArguments>
<RequirementSets>- 条件组合

xml

<RequirementSets> <!-- 将多个条件组合成条件组 --> <Row RequirementSetId="PLOT_HAS_COAST_REQUIREMENTS" RequirementSetType="REQUIREMENTSET_TEST_ALL"/> </RequirementSets>

组合类型

  • REQUIREMENTSET_TEST_ALL:所有条件必须满足(AND)

  • REQUIREMENTSET_TEST_ANY:任意条件满足即可(OR)

<RequirementSetRequirements>- 条件组内容

xml

<RequirementSetRequirements> <!-- 将条件添加到条件组 --> <Row RequirementSetId="PLOT_HAS_COAST_REQUIREMENTS" RequirementId="REQUIRES_PLOT_HAS_COAST"/> </RequirementSetRequirements>

10. 地形与地貌限制

<Building_ValidFeatures>- 有效地貌

xml

<Building_ValidFeatures> <!-- 建筑可以建造在这些地貌上 --> <Row BuildingType="BUILDING_PETRA" FeatureType="FEATURE_FLOODPLAINS"/> </Building_ValidFeatures>
<Building_RequiredFeatures>- 必需地貌

xml

<Building_RequiredFeatures> <!-- 建筑必须建造在这些地貌上 --> <Row BuildingType="BUILDING_CHICHEN_ITZA" FeatureType="FEATURE_JUNGLE"/> </Building_RequiredFeatures>
<Building_ValidTerrains>- 有效地形

xml

<Building_ValidTerrains> <!-- 建筑可以建造在这些地形上 --> <Row BuildingType="BUILDING_PYRAMIDS" TerrainType="TERRAIN_DESERT"/> </Building_ValidTerrains>

🎮 游戏机制对应关系

XML标签游戏内表现玩家体验
<Buildings>建筑面板显示属性建造时的信息展示
<BuildingPrereqs>建造按钮是否可用"需要先建造图书馆"提示
<Building_YieldChanges>每回合资源收入科技/文化/金币增长
<Building_GreatPersonPoints>伟人进度条伟人招募倒计时
<Modifiers>各种加成效果单位经验加成、产出提升等
<Requirements>建造条件检查红色感叹号提示

🔧 Mod开发实用指南

1. 添加新建筑的基本结构

xml

<!-- 1. 添加到Types --> <Row Type="BUILDING_MY_NEW_BUILDING" Kind="KIND_BUILDING"/> <!-- 2. 定义基础属性 --> <Row BuildingType="BUILDING_MY_NEW_BUILDING" Name="LOC_MY_BUILDING_NAME" Cost="100" PrereqTech="TECH_MY_TECH"/> <!-- 3. 添加产出 --> <Row BuildingType="BUILDING_MY_NEW_BUILDING" YieldType="YIELD_SCIENCE" YieldChange="3"/> <!-- 4. 添加效果(可选) --> <Row BuildingType="BUILDING_MY_NEW_BUILDING" ModifierId="MY_NEW_MODIFIER"/>

2. 修改现有建筑

xml

<!-- 修改图书馆的科技产出 --> <Update> <Set YieldChange="3"/> <Where BuildingType="BUILDING_LIBRARY" YieldType="YIELD_SCIENCE"/> </Update>

3. 创建条件式效果

xml

<!-- 当玩家拥有电力科技时,工厂额外+2生产力 --> <Row ModifierId="FACTORY_ELECTRICITY_BONUS" ModifierType="MODIFIER_BUILDING_YIELD_CHANGE" SubjectRequirementSetId="HAS_ELECTRICITY_TECH"/> <Row RequirementId="REQUIRES_PLAYER_HAS_ELECTRICITY" RequirementType="REQUIREMENT_PLAYER_HAS_TECHNOLOGY"/> <Row RequirementId="REQUIRES_PLAYER_HAS_ELECTRICITY" Name="TechnologyType" Value="TECH_ELECTRICITY"/>

📊 数据关系图

text

Buildings.xml ├── 基础定义 (Types, Kinds) ├── 核心属性 (Buildings) │ ├── 成本系统 (Cost, Maintenance) │ ├── 解锁条件 (PrereqTech, PrereqCivic) │ └── 特殊属性 (Housing, Entertainment, etc.) ├── 关系系统 │ ├── 前置条件 (BuildingPrereqs) │ └── 互斥关系 (MutuallyExclusiveBuildings) ├── 产出系统 │ ├── 基础产出 (Building_YieldChanges) │ ├── 伟人点数 (Building_GreatPersonPoints) │ └── 巨作系统 (Building_GreatWorks) ├── 效果系统 │ ├── 效果定义 (Modifiers) │ ├── 效果参数 (ModifierArguments) │ └── 效果关联 (BuildingModifiers) ├── 条件系统 │ ├── 单条件 (Requirements) │ ├── 条件组 (RequirementSets) │ └── 条件参数 (RequirementArguments) └── 地形限制 ├── 有效地形 (Building_ValidTerrains) ├── 必需地形 (Building_RequiredFeatures) └── 允许地貌 (Building_ValidFeatures)

⚠️ 常见问题与注意事项

1. 本地化键必须存在

xml

<!-- 正确:使用存在的本地化键 --> Name="LOC_BUILDING_LIBRARY_NAME" <!-- 错误:本地化键不存在会导致显示为KEY --> Name="MY_CUSTOM_NAME" <!-- 错误! -->

2. 引用必须有效

xml

<!-- 引用的科技、市政、区域必须已定义 --> PrereqTech="TECH_WRITING" <!-- TECH_WRITING必须在Techs.xml中定义 -->

3. 条件系统优先级

  • 条件系统按顺序执行

  • 复杂条件可能影响性能

  • 避免循环引用

4. 平衡性考虑

  • 维护费与产出比例

  • 建造时代与强度匹配

  • 与其他建筑的协同/竞争

🎯 实战应用场景

场景1:创建科技胜利辅助建筑

xml

<!-- 后期科技爆发建筑 --> <Row BuildingType="BUILDING_QUANTUM_LAB" Name="LOC_BUILDING_QUANTUM_LAB_NAME" PrereqTech="TECH_QUANTUM_COMPUTING" PrereqDistrict="DISTRICT_CAMPUS" Cost="1200" Maintenance="5" CitizenSlots="3"/> <Row BuildingType="BUILDING_QUANTUM_LAB" YieldType="YIELD_SCIENCE" YieldChange="10"/> <Row BuildingType="BUILDING_QUANTUM_LAB" GreatPersonClassType="GREAT_PERSON_CLASS_SCIENTIST" PointsPerTurn="3"/>

场景2:环境适应性建筑

xml

<!-- 沙漠城市专用建筑 --> <Row BuildingType="BUILDING_DESERT_AGRIDOME" Name="LOC_BUILDING_DESERT_AGRIDOME_NAME" PrereqTech="TECH_REFINING" Cost="300"/> <Row BuildingType="BUILDING_DESERT_AGRIDOME" YieldType="YIELD_FOOD" YieldChange="4"/> <!-- 仅在沙漠地形有效 --> <Row BuildingType="BUILDING_DESERT_AGRIDOME" ModifierId="DESERT_FOOD_BONUS" SubjectRequirementSetId="PLOT_IS_DESERT"/>

场景3:文明特色建筑

xml

<!-- 替换标准市场 --> <Row CivUniqueBuildingType="BUILDING_SILK_ROAD_BAZAAR" ReplacesBuildingType="BUILDING_MARKET"/> <!-- 增强版市场 --> <Row BuildingType="BUILDING_SILK_ROAD_BAZAAR" Name="LOC_BUILDING_SILK_ROAD_BAZAAR_NAME" Cost="120" <!-- 比标准市场贵 --> Maintenance="2" TraitType="TRAIT_CIVILIZATION_BUILDING_BAZAAR"/> <!-- 额外提供文化值 --> <Row BuildingType="BUILDING_SILK_ROAD_BAZAAR" YieldType="YIELD_CULTURE" YieldChange="2"/>

📚 扩展学习资源

1. 官方文档

  • Firaxis Modding Wiki

  • Civilization VI SDK Documentation

2. 相关XML文件

  • Technologies.xml- 科技树定义

  • Civics.xml- 市政树定义

  • Districts.xml- 区域定义

  • Units.xml- 单位定义

  • Modifiers.xml- 效果类型定义

3. 工具推荐

  • FireTuner:实时调试工具

  • ModBuddy:官方Mod开发环境

  • XML Notepad:XML可视化编辑器

💎 总结

《文明6》的XML建筑文件是一个高度结构化的数据系统,通过层级化的标签定义实现了:

  1. 数据与逻辑分离:属性、关系、效果分别定义

  2. 模块化设计:各系统独立但可相互引用

  3. 扩展性强:易于添加新内容或修改现有内容

  4. 条件驱动:复杂的游戏逻辑通过条件系统实现

理解这个文件结构不仅是Mod开发的基础,也是深入理解《文明6》游戏设计哲学的关键。从简单的数值调整到复杂的新机制添加,XML标签系统提供了完整的工具集。


本文基于《文明6》游戏文件分析,实际游戏内容以最新版本为准。Mod开发请参考官方最新文档。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/25 12:36:51

选择(Selectable)

选择(Selectable) 在生活的每一个角落,选择无处不在。从早晨起床选择早餐,到晚上决定观看哪一部电影,选择构成了我们日常生活的基石。本文将深入探讨选择的重要性,分析如何做出明智的选择,并探讨选择对个人和社会的影响。 选择的重要性 1. 决定个人命运 选择往往决定…

作者头像 李华
网站建设 2026/2/12 12:03:09

开题报告+ 基于Android的运动会管理APP设计与实现)

目录 研究背景与意义主要功能模块技术实现方案创新点预期成果进度安排 项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作 研究背景与意义 随着高校运动会规模扩大&#xff0c;传统纸质化管理效率低、易出错…

作者头像 李华
网站建设 2026/2/10 13:31:34

基于Android的在线音乐个性化推荐APP的设计与实现_53084988

一、项目介绍 随着移动互联网的快速发展&#xff0c;人们对音乐的个性化需求日益增长。在线音乐个性化推荐APP应运而生&#xff0c;旨在为用户提供更加贴合个人喜好的音乐体验。该APP采用Java语言开发&#xff0c;结合Spring Boot框架和MySQL数据库&#xff0c;实现了高效的数据…

作者头像 李华
网站建设 2026/2/19 3:21:00

巴特沃斯低通滤波器实现

对于嵌入式工程师或电子信息专业学习者而言&#xff0c;工业场景中传感器数据的高频噪声干扰想必是常遇的棘手问题。比如温度传感器采集数据时&#xff0c;明明环境温度稳定&#xff0c;却总有随机波动&#xff0c;直接导致控制系统误判。此时&#xff0c;一款性能可靠的低通滤…

作者头像 李华
网站建设 2026/2/16 13:52:42

阿里_腾讯AI应用架构师都在用的价值投资AI策略,附实现细节

阿里/腾讯AI应用架构师都在用的价值投资AI策略:从原理到工程化实现全解析 引言:当AI遇上价值投资——互联网大厂架构师的跨界实践 背景介绍:AI重构金融投资的底层逻辑 在数字化浪潮下,金融与科技的融合已从“技术赋能”迈向“范式重构”。价值投资作为华尔街历经百年验证…

作者头像 李华