七日杀XML配置基础:items.xml自定义物品实战

发布于 2026-08-20 15:00 770 字 4 min read ... 访问量

KK avatar

KK

KK 的个人技术博客,记录服务器、网络、编程相关的折腾日常

七日杀的 XML 配置系统是 MOD 开发的基础。通过修改 ,你可以自定义物品属性、添加新物品、调整制作配方。这篇文章从零开始讲清楚 XML 配置的语法和实操。 XML 配置文件位置 七日杀的 XML 配置文件在游戏目录的 文件夹下: MOD 开发时,在 下创建同名文件即可覆盖原版配置。 items.xml 基础结构

七日杀的 XML 配置系统是 MOD 开发的基础。通过修改 items.xml,你可以自定义物品属性、添加新物品、调整制作配方。这篇文章从零开始讲清楚 XML 配置的语法和实操。

XML 配置文件位置

七日杀的 XML 配置文件在游戏目录的 Data/Config/ 文件夹下:

文件名作用
items.xml物品定义(武器、工具、材料等)
buffs.xmlBuff/Debuff 效果定义
gameevent.xml游戏事件触发配置
progression.xml技能/Perk 配置
recipes.xml制作配方
spawning.xml丧尸刷新配置

MOD 开发时,在 Mods/你的MOD名/Config/ 下创建同名文件即可覆盖原版配置。

items.xml 基础结构

<?xml version="1.0" encoding="UTF-8"?>
<configs>
    <items>
        <!-- 物品定义 -->
        <item name="myCustomItem">
            <property name="CustomIcon" value="myIcon"/>
            <property name="CustomIconTint" value="ffffff"/>
            <property name="DisplayType" value="Melee"/>
            <property name="Tags" value="weapon"/>
            <property name="Stacknumber" value="1"/>
            <property name="Material" value="Mmetal"/>
            <property name="HoldType" value="45"/>
            <property name="Meshfile" value="#@:other/Items/Meshes/sledgehammer.fbx"/>
            <property name="DropMeshfile" value="#@:other/Items/Meshes/sledge_ground.fbx"/>
            <property name="Weight" value="5"/>
            
            <!-- 损伤属性 -->
            <effect_group>
                <passive_effect name="EntityDamage" operation="base_add" value="50"/>
                <passive_effect name="BlockDamage" operation="base_add" value="30"/>
                <passive_effect name="AttackDuration" operation="base_set" value="1.2"/>
                <passive_effect name="EntityPower" operation="base_set" value="1"/>
            </effect_group>
        </item>
    </items>
</configs>

核心属性说明

物品基础属性

属性名说明示例值
DisplayType显示类型Melee / Ranged
Tags物品标签weapon / resource / food
Stacknumber最大堆叠数1(武器) / 6000(材料)
Material材质类型Mmetal / Mwood
Weight重量1-50
HoldType持握动画类型45(双手) / 1(单手)
CustomIcon自定义图标图标资源名

损伤属性(effect_group)

属性名说明
EntityDamage对实体(丧尸/动物)伤害
BlockDamage对方块(建筑)伤害
AttackDuration攻击持续时间(秒)
EntityPower实体硬直值
BlockPower方块破坏力

操作类型(operation)

类型说明
base_set直接设置基础值
base_add在基础值上叠加
perc_add百分比叠加
perc_set百分比设置

实操:添加一把自定义战锤

第一步:在 items.xml 中定义物品

<item name="myWarHammer">
    <property name="DisplayType" value="Melee"/>
    <property name="Tags" value="weapon"/>
    <property name="Stacknumber" value="1"/>
    <property name="Material" value="Mmetal"/>
    <property name="Weight" value="8"/>
    <property name="HoldType" value="45"/>
    <property name="CustomIcon" value="sledgehammer"/>
    <property name="Meshfile" value="#@:other/Items/Meshes/sledgehammer.fbx"/>
    <property name="DropMeshfile" value="#@:other/Items/Meshes/sledge_ground.fbx"/>
    <property name="DegradationBreaksAfterUse" value="false"/>
    
    <effect_group>
        <passive_effect name="EntityDamage" operation="base_add" value="80"/>
        <passive_effect name="BlockDamage" operation="base_add" value="60"/>
        <passive_effect name="AttackDuration" operation="base_set" value="1.5"/>
        <passive_effect name="EntityPower" operation="base_set" value="2"/>
        <passive_effect name="BlockPower" operation="base_set" value="3"/>
    </effect_group>
</item>

第二步:在 recipes.xml 中添加制作配方

<recipe name="myWarHammer" count="1" craft_time="60" craft_area="workbench">
    <ingredient name="resourceForgedIron" count="20"/>
    <ingredient name="resourceWood" count="10"/>
    <ingredient name="resourceDuctTape" count="2"/>
</recipe>

第三步:放入 MOD 目录

Mods/my-mod/
├── ModInfo.xml
└── Config/
    ├── items.xml    ← 包含 myWarHammer 定义
    └── recipes.xml  ← 包含制作配方

常见修改场景

修改武器伤害

找到原版武器的 name 属性,用 base_add 叠加伤害:

<item name="gunPistol">
    <effect_group>
        <passive_effect name="EntityDamage" operation="base_add" value="10"/>
    </effect_group>
</item>

修改物品堆叠数

<item name="resourceWood">
    <property name="Stacknumber" value="10000"/>
</item>

修改制作材料数量

<recipe name="gunPistol" count="1">
    <ingredient name="resourceForgedIron" count="5"/>
    <!-- 其他材料不变 -->
</recipe>

注意事项

  • 文件编码:XML 文件必须使用 UTF-8 编码,否则中文会乱码
  • 标签闭合:每个 XML 标签必须正确闭合
  • 属性引号:属性值必须用双引号包裹
  • 覆盖规则:MOD 的 XML 会覆盖原版同名标签,确保只修改需要的部分

参考来源