2.7 KiB
2.7 KiB
Satisfactory 蓝图编辑器文档
项目概述
这个项目是一个用于《Satisfactory》游戏的蓝图编辑器,允许玩家上传、编辑和导出游戏蓝图文件(.sbp/.sbpcfg)。编辑器提供了JSON编辑和图形化编辑两种方式,让玩家可以轻松修改蓝图的各种属性。
功能特点
1. 蓝图文件导入
- 支持拖放上传或点击上传
- 支持.sbp(主蓝图文件)和.sbpcfg(配置文件)
- 显示上传文件的基本信息
2. JSON编辑器
- 将蓝图文件解析为可编辑的JSON格式
- 支持格式化JSON
- 可刷新和更新JSON数据
- 可选择是否显示Objects段(包含大量实体数据)
3. 图形化编辑器
-
基础编辑:
- 蓝图基本信息(名称、尺寸)
- 配置信息(版本、图标、描述、颜色等)
- 头部信息(版本号)
- 物品消耗管理
- 配方引用管理
-
进阶编辑:
- 实体列表浏览
- 实体位置编辑(旋转、平移、缩放)
- 属性编辑(添加/删除/修改属性)
- 组件编辑
- 附属组件编辑
4. 蓝图导出
- 将编辑后的JSON导出为.sbp和.sbpcfg文件
- 显示导出状态
技术栈
-
前端框架:Vue 3
-
UI库:DaisyUI (https://github.com/saadeghi/daisyui)
-
蓝图解析库:@etothepii/satisfactory-file-parser (https://github.com/etothepii4/satisfactory-file-parser)
-
图标库:Font Awesome
安装与使用
安装依赖
npm install
开发模式
npm run dev
生产构建
npm run build
项目结构
src/
├── components
├── App.vue (主组件)
└── main.js
主要组件说明
BlueprintEditor.vue
这是应用的核心组件,包含所有蓝图编辑功能:
状态管理
uploadedFiles: 存储上传的文件blueprintData: 存储解析后的蓝图数据rawObjects/newObjects: 存储蓝图中的实体对象isParsing/isExporting: 处理状态标志
主要方法
parseBlueprint(): 解析上传的蓝图文件exportBlueprint(): 导出编辑后的蓝图formatJson(): 格式化JSON显示updateDataFromJson(): 从JSON更新数据
实体编辑功能
selectEntity(): 选择要编辑的实体updateEntityFromJson(): 更新实体数据addProperty(): 添加新属性deleteProperty(): 删除属性
注意事项
-
Objects段警告:Objects段包含大量实体数据,对于大型蓝图,开启此选项可能导致性能问题。
-
文件格式:仅支持Satisfactory U8+版本的蓝图文件。
-
数据安全:编辑蓝图时建议备份原始文件,以防意外修改导致蓝图损坏。