外观
数据与素材扩展
数据与素材决定方块属性、配方、衣物、数据库实体、纹理、声音与模型。它们比代码插件更适合入门,因为每次修改都可以缩小到一个文件或一个条目进行验证。
常见内容职责
| 内容 | 常见作用 | 修改时重点检查 |
|---|---|---|
BlocksData / CSV 数据 | 方块名称、索引、属性与显示参数 | 列顺序、标识冲突、纹理索引 |
CraftingRecipes.xml | 合成输入、排列和产物 | 命名空间、材料标识、配方冲突 |
Clothes.xml | 衣物槽位、保暖、防护等属性 | 穿戴部位、贴图、数值范围 |
Database.xml | 项目数据库、组件和实体配置 | 节点层级、引用名称、继承关系 |
| 纹理与界面图片 | 方块、物品、皮肤和 UI 外观 | 尺寸、透明通道、纹理坐标 |
| 音效与模型 | 声音反馈和三维资源 | 文件格式、资源路径、模型命名 |
不同 API 可能把这些内容转换为 .csv、.cr、.clo、.xdb 等免打包形式。扩展名只是加载方式的一部分,真正决定兼容性的是目标加载器如何解析它们。
XML 修改原则
XML 对大小写、引号与闭合标签敏感。每次只改一个最小单元,保存后先检查语法,再启动游戏。
xml
<!-- 结构示意,不是可以直接导入的真实游戏条目 -->
<Item Name="WorkshopExample">
<Parameter Name="ExampleValue" Value="1" />
</Item>复制条目时必须同步检查名称、引用与父级关系,不能只改屏幕上看到的显示名称。
方块标识与纹理
方块标识冲突会导致错误方块、存档内容错位或加载失败。不要从旧教程随便挑一个“空闲 ID”:
- 查目标 API 的 ID 分配机制与现有占用表;
- 为项目建立自己的分配清单;
- 同步检查代码、方块数据、配方和纹理索引;
- 在空白测试世界验证后再打开已有世界。
纹理索引通常与图集中所在位置相关。修改分辨率、图集布局或坐标计算方式时,所有引用它的条目都需要一起验证。
建议的项目结构
以下仅用于组织源文件,最终封装结构以目标 API 为准:
text
MyMod/
├─ data/ # XML、CSV 与数据库源文件
├─ textures/ # 方块、物品、皮肤与界面纹理
├─ audio/ # 音效源文件
├─ models/ # 模型源文件与导出结果
├─ src/ # 如果同时包含 C# 代码
├─ docs/ # 安装、兼容与变更记录
└─ dist/ # 可发布产物,不放开发缓存调试清单
- 游戏完全不加载:先检查 XML/CSV 语法与文件编码。
- 物品存在但外观错误:检查纹理路径、图集位置和模型引用。
- 配方不出现:检查材料标识、排列与加载顺序。
- 新世界正常、旧世界异常:优先怀疑标识变化或数据迁移问题。
- 单独文件正常、封装后失败:比较测试目录和发布包的路径及大小写。
