基于对戴森球计划游戏蓝图数据的解析与处理,实现对蓝图进行“垂直叠加”、“坐标偏移”、“水平翻转”、“线性变换”、“无带流”等转换的实用功能,并提供快捷、界面化的蓝图数据与JSON间的转换功能。
-
项目框架:Vue2
-
蓝图数据解析参考:
- 在线访问地址:
- b站演示视频:
- 页面截图:
数据主体
字段 | 字段类型 | 索引/长度 | 备注 |
---|---|---|---|
cells 数组索引 | 截取从 BLUEPRINT: 后到首个 " 间的字符串逗号分割为数组cells |
||
header | Object | 蓝图文件头部信息 | |
- layout | Number | cells[1] | 蓝图图标布局 |
- icons | Array(5) | 蓝图图标 | |
- - _array_item | Number | cells[2 - 6] | |
- time | Date | cells[8] | 创建时间 |
- gameVersion | String | cells[9] | 游戏版本号 |
- shortDesc | String | cells[10] | 缩略图文字 |
- desc | String | cells[11] | 蓝图介绍 |
长度(字节) | 首个 " 到第二个 " 间的字符串解析为字节流以下按蓝图数据按字节流从左到右排列 |
||
version | Number | 4 | 一般为1 |
cursorOffset | Object | 预览蓝图时的鼠标锚点偏移 | |
- x | Number | 4 | |
- y | Number | 4 | |
cursorTargetArea | Number | 4 | 对应areas索引,一般为0 |
dragBoxSize | Object | 长按鼠标拖拽复制建筑时,间隔的长宽 一般与areas.size相同 |
|
- x | Number | 4 | |
- y | Number | 4 | |
primaryAreaIdx | Number | 4 | 对应areas索引,一般为0 |
numAreas | - | 1 | areas数组长度(仅读取),一般为1 |
areas | Array(numAreas) | ||
- _array_item | AREA | 14 | |
numBuildings | - | 4 | buildings数组长度(仅读取) |
buildings | Array(numBuildings) | 建筑信息 | |
- _array_item | BUILDING | 61 + _parameterLength * 4 |
字段 | 字段类型 | 长度(字节) | 备注 |
---|---|---|---|
index | Number | 1 | 数组索引 |
parentIndex | Number | 1 | |
tropicAnchor | Number | 2 | |
areaSegments | Number | 2 | |
anchorLocalOffset | Object | ||
- x | Number | 2 | |
- y | Number | 2 | |
size | Object | 所有建筑的包围盒长宽 | |
- x | Number | 2 | |
- y | Number | 2 |
变化描述:
- 版本标识
num
改为-101 - 移动
itemId
、modelIndex
顺序 localOffset[1]
、yaw[1]
改为分拣器独有tilt
改为分拣器和传送带独有- 分拣器建筑增加
pitch
、tilt2
、pitch2
属性
字段 | 字段类型 | 长度(字节) | 备注 |
---|---|---|---|
num | Number | 4 | 固定值-101,用以标识蓝图版本[V0.10.31.24646后蓝图版本标识] |
index | Number | 4 | 数组索引 |
itemId | Number | 2 | 建筑id |
itemName | String | - | 建筑名称 |
modelIndex | Number | 2 | 模型id |
areaIndex | Number | 1 | 对应areas索引,一般为0 |
localOffset[0].x | Number | 4 | 建筑物相对坐标x |
localOffset[0].y | Number | 4 | 建筑物相对坐标y |
localOffset[0].z | Number | 4 | 建筑物相对坐标z |
yaw[0] | Number | 4 | 建筑物旋转角度(单位:角度) |
tilt | Number | 4 | 建筑物倾斜角度(单位:角度) *传送带建筑 (2000<itemId<2010) 、分拣器建筑(2010<itemId<2020) 独有 |
pitch | Number | 4 | 分拣器起始点朝向(单位:角度)[V0.10.31.24646版本新增] *分拣器建筑 (2010<itemId<2020) 独有 |
localOffset[1].x | Number | 4 | 分拣器目标点相对坐标x *分拣器建筑 (2010<itemId<2020) 独有 |
localOffset[1].y | Number | 4 | 分拣器目标点相对坐标y *分拣器建筑 (2010<itemId<2020) 独有 |
localOffset[1].z | Number | 4 | 分拣器目标点相对坐标z *分拣器建筑 (2010<itemId<2020) 独有 |
yaw[1] | Number | 4 | 分拣器目标点旋转角度(单位:角度) *分拣器建筑 (2010<itemId<2020) 独有 |
tilt2 | Number | 4 | 分拣器目标点倾斜角度(单位:角度)[V0.10.31.24646版本新增] *分拣器建筑 (2010<itemId<2020) 独有 |
pitch2 | Number | 4 | 分拣器目标点朝向(单位:角度)[V0.10.31.24646版本新增] *分拣器建筑 (2010<itemId<2020) 独有 |
outputObjIdx | Number | 4 | 输出端目标建筑索引 |
inputObjIdx | Number | 4 | 输入端目标建筑索引 |
outputToSlot | Number | 1 | 输出端绑定到目标建筑的插槽索引 |
inputFromSlot | Number | 1 | 输入端绑定到目标建筑的插槽索引 |
outputFromSlot | Number | 1 | (建筑物自身属性) |
inputToSlot | Number | 1 | (建筑物自身属性) |
outputOffset | Number | 1 | 输出端插槽偏移,常见于分拣器 |
inputOffset | Number | 1 | 输入端插槽偏移,常见于分拣器 |
recipeId | Number | 2 | 配方id,常见于制造厂类建筑 |
filterId | Number | 2 | 过滤物品id,常见于分拣器、四向 |
parameterLength | - | 2 | parameters长度(每单位:4字节) |
parameters | PARAM | parameterLength * 4 | 建筑配置参数 |
变化描述:
- 增加版本标识
num
,固定值-100 - 建筑增加
tilt
属性
字段 | 字段类型 | 长度(字节) | 备注 |
---|---|---|---|
num | Number | 4 | 固定值-100,用以标识蓝图版本[V0.10.30.22239版本新增] |
index | Number | 4 | 数组索引 |
areaIndex | Number | 1 | 对应areas索引,一般为0 |
localOffset | Array(2) | 建筑物相对坐标 | |
- _array_item | Object | ||
- - x | Number | 4 | |
- - y | Number | 4 | |
- - z | Number | 4 | |
yaw | Array(2) | 建筑物旋转角度(单位:角度) | |
- _array_item | Number | 4 | |
tilt | Number | 4 | 建筑物倾斜角度(单位:角度)[V0.10.30.22239版本新增] |
itemId | Number | 2 | 建筑id |
itemName | String | - | 建筑名称 |
modelIndex | Number | 2 | 模型id |
outputObjIdx | Number | 4 | 输出端目标建筑索引 |
inputObjIdx | Number | 4 | 输入端目标建筑索引 |
outputToSlot | Number | 1 | 输出端绑定到目标建筑的插槽索引 |
inputFromSlot | Number | 1 | 输入端绑定到目标建筑的插槽索引 |
outputFromSlot | Number | 1 | (建筑物自身属性) |
inputToSlot | Number | 1 | (建筑物自身属性) |
outputOffset | Number | 1 | 输出端插槽偏移,常见于分拣器 |
inputOffset | Number | 1 | 输入端插槽偏移,常见于分拣器 |
recipeId | Number | 2 | 配方id,常见于制造厂类建筑 |
filterId | Number | 2 | 过滤物品id,常见于分拣器、四向 |
parameterLength | - | 2 | parameters长度(每单位:4字节) |
parameters | PARAM | parameterLength * 4 | 建筑配置参数 |
字段 | 字段类型 | 长度(字节) | 备注 |
---|---|---|---|
index | Number | 4 | 数组索引 |
areaIndex | Number | 1 | 对应areas索引,一般为0 |
localOffset | Array(2) | 建筑物相对坐标 | |
- _array_item | Object | ||
- - x | Number | 4 | |
- - y | Number | 4 | |
- - z | Number | 4 | |
yaw | Array(2) | 建筑物旋转角度(单位:角度) | |
- _array_item | Number | 4 | |
itemId | Number | 2 | 建筑id |
itemName | String | - | 建筑名称 |
modelIndex | Number | 2 | 模型id |
outputObjIdx | Number | 4 | 输出端目标建筑索引 |
inputObjIdx | Number | 4 | 输入端目标建筑索引 |
outputToSlot | Number | 1 | 输出端绑定到目标建筑的插槽索引 |
inputFromSlot | Number | 1 | 输入端绑定到目标建筑的插槽索引 |
outputFromSlot | Number | 1 | (建筑物自身属性) |
inputToSlot | Number | 1 | (建筑物自身属性) |
outputOffset | Number | 1 | 输出端插槽偏移,常见于分拣器 |
inputOffset | Number | 1 | 输入端插槽偏移,常见于分拣器 |
recipeId | Number | 2 | 配方id,常见于制造厂类建筑 |
filterId | Number | 2 | 过滤物品id,常见于分拣器、四向 |
parameterLength | - | 2 | parameters长度(每单位:4字节) |
parameters | PARAM | parameterLength * 4 | 建筑配置参数 |
[^2001, 2002, 2003]: 传送带, 高速传送带, 极速传送带
字段 | 字段类型 | 偏移量(Int32) | 长度(Int32) | 备注 |
---|---|---|---|---|
_parameters | Object | 2 | ||
- iconId | Number | 0 | 1 | 图标标签物品id |
- count | Number | 1 | 1 | 图标标签下的数字 |
[^2011, 2012, 2013, 2014]: 分拣器, 高速分拣器, 极速分拣器, 集装分拣器
字段 | 字段类型 | 偏移量(Int32) | 长度(Int32) | 备注 |
---|---|---|---|---|
_parameters | Object | 1 | ||
- length | Number | 0 | 1 | 分拣器长度 -> 1 - 3 |
字段 | 字段类型 | 偏移量(Int32) | 长度(Int32) | 备注 |
---|---|---|---|---|
_parameters | Object | 6 | ||
- priority | Array(4) | 0 | 4 | 四向四个接口的优先级 |
- - _array_item | Boolean | i | 1 | 是否优先 |
[^2303, 2304, 2305, 2318, 2302, 2315, 2319, 2308, 2309, 2317, 2310]:制造台 Mk.I, 制造台 Mk.II, 制造台 Mk.III, 重组式制造台, 电弧熔炉, 位面熔炉, 负熵熔炉, 原油精炼厂, 化工厂, 量子化工厂, 微型粒子对撞机
字段 | 字段类型 | 偏移量(Int32) | 长度(Int32) | 备注 |
---|---|---|---|---|
_parameters | Object | 1 | ||
- acceleratorMode | Number | 0 | 1 | 增产效果 -> 0:额外产出 1:生产加速 |
[^2901, 2902]: 矩阵研究站, 自演化研究站
字段 | 字段类型 | 偏移量(Int32) | 长度(Int32) | 备注 |
---|---|---|---|---|
_parameters | Object | 2 | ||
- researchMode | Number | 0 | 1 | 研究模式 -> 0:未选择 1:矩阵合成 2:科研模式 |
- acceleratorMode | Number | 1 | 1 | 增产效果 -> 0:额外产出 1:生产加速 |
[^2101, 2102]: 小型储物仓, 大型储物仓
字段 | 字段类型 | 偏移量(Int32) | 长度(Int32) | 备注 |
---|---|---|---|---|
_parameters | Object | 110 | ||
- bans | Number | 0 | 1 | 限制不可自动放入的格子数 |
- storageType | Number | 1 | 1 | 储物仓类型 -> 0:不过滤 9:存在过滤器 |
- filters | Array(gridNum) | 10 | gridNum | 储物仓物品过滤器 gridNum: 建筑储物格子数目 |
- - _array_item | Number | 10 + i | 1 | 过滤物品id |
字段 | 字段类型 | 偏移量(Int32) | 长度(Int32) | 备注 |
---|---|---|---|---|
_parameters | Object | 2 | ||
- output | Boolean | 0 | 1 | 是否输出 |
- input | Boolean | 1 | 1 | 是否输入 |
字段 | 字段类型 | 偏移量(Int32) | 长度(Int32) | 备注 |
---|---|---|---|---|
_parameters | Object | 128 | ||
- playerMode | Number | 0 | 1 | 机甲供需模式 -> 1:从伊卡洛斯回收 2:向伊卡洛斯供应和回收 3:向伊卡洛斯供应 |
- storageMode | Number | 1 | 1 | 配送器间模式 -> 0:不勾选 1:向其他配送器供应 2:向其他配送器需求 |
- workEnergyPerTick | Number | 2 | 1 | 最大充能功率(单位:MW) -> 0.9 - 9 |
- courierAutoReplenish | Boolean | 3 | 1 | 是否自动补充运输单位 |
[^2103, 2104, 2316]: 行星内物流运输站, 星际物流运输站, 大型采矿机
字段 | 字段类型 | 偏移量(Int32) | 长度(Int32) | 备注 |
---|---|---|---|---|
_parameters | Object | 2048 | ||
- storage | Array(storageNum) | 0 | 192 | 物品栏位参数 storageNum: 建筑栏位数目 |
- - _array_item | Object | _L = i * 6 | 6 | |
- - - itemId | Number | _L + 0 | 1 | 物品id |
- - - localRole | Number | _L + 1 | 1 | 本地供需配置 -> 0:本地仓储 1:本地供应 2:本地需求 |
- - - remoteRole | Number | _L + 2 | 1 | 星际供需配置 -> 0:星际仓储 1:星际供应 2:星际需求 |
- - - max | Number | _L + 3 | 1 | 物品上限 |
- - - lockAmount | Number | _L + 4 | 1 | 是否锁定数量 -> 0:不锁定 1:锁定满仓 2:锁定半仓 |
- slots | Array(slotsNum) | 192 | 320 | 传送带插槽参数 slotsNum: 建筑传送带插槽数目 |
- - _array_item | Object | _L =192 + i * 4 | 4 | |
- - - dir | Number | _L + 0 | 1 | 传送带接入方向 -> 0:未接入 1:输出 2:输入 |
- - - storageIdx | Number | _L + 1 | 1 | 输出货物对应物品栏索引 -> 0:不输出 1-5:物品栏索引 6:翘曲器 |
- workEnergyPerTick | Number | 320 | 1 | 最大充能功率(单位:MW) -> 30 - 300 |
- tripRangeOfDrones | Number | 321 | 1 | 运输机最远路程(单位:度) -> 20 - 180 |
- tripRangeOfShips | Number | 322 | 1 | 运输船最远路程 -> 1-60:有限路程(单位:ly) 10000:无限 |
- includeOrbitCollector | Boolean | 323 | 1 | 是否会去轨道采集器取货 |
- warpEnableDistance | Number | 324 | 1 | 曲速启用路程(单位:AU) -> 0.5 - 60 |
- warperNecessary | Boolean | 325 | 1 | 是否翘曲器必备 |
- deliveryAmountOfDrones | Number | 326 | 1 | 运输机起送量(单位:%) -> 1 - 100 |
- deliveryAmountOfShips | Number | 327 | 1 | 运输船起送量(单位:%) -> 1-100 |
- pilerCount | Number | 328 | 1 | 输出货物集装数量 -> 0:使用科技上限 1-4:指定数量 |
- miningSpeed | Number | 329 | 1 | 开采速度 |
- droneAutoReplenish | Boolean | 330 | 1 | 是否自动补充运输机 |
- shipAutoReplenish | Boolean | 331 | 1 | 是否自动补充运输船 |
字段 | 字段类型 | 偏移量(Int32) | 长度(Int32) | 备注 |
---|---|---|---|---|
_parameters | Object | 128 | ||
- targetBeltId | Number | 0 | 1 | 绑定的传送带节点ID (实际id,不是蓝图index,疑似无效参数) |
- offset | Number | 1 | 1 | ? |
- targetCargoAmount | Number | 2 | 1 | 目标流量(单位:0.1个) |
- periodTicksCount | Number | 3 | 1 | 监测周期(单位:秒) |
- passOperator | Number | 4 | 1 | 监测条件 -> 0:等于 1:不等于 2:大于等于 3:大于 4:小于等于 5:小于 |
- passColorId | Number | 5 | 1 | 满足条件颜色索引 -> 0 - 255 |
- failColorId | Number | 6 | 1 | 不满足条件颜色索引 -> 0 - 255 |
- tone | Number | 7 | 1 | 声音警报-音色 -> 20-24:警报 1-2:钢琴 3-4:贝斯 5-6:风琴 7-9:铺底 10:铜管乐 11:梦铃 12:玻璃 13:吉他 14:音乐盒 15:电子琴 16:小号 17:小提琴 18:低音贝斯 19:鼓 |
- volume | Number | 8 | 1 | 声音警报-音量 -> 0 - 100 |
- pitch | Number | 9 | 1 | 声音警报-音阶 -> 例:25: C2 26: C#2 27: D2 ... |
- systemWarningMode | Number | 10 | 1 | 系统警报模式 -> 0:无 1:未满足条件 2:满足条件 3:有货物响 4:无货物响 5:未满足且有货物 6:未满足且无货物 |
- repeat | Boolean | 11 | 1 | 声音警报-是否循环 |
- alarmMode | Number | 12 | 1 | 声音警报模式 -> 0:无 1:未满足条件 2:满足条件 3:有货物响 4:无货物响 5:未满足且有货物 6:未满足且无货物 |
- length | Number | 13 | 1 | 声音警报-时长(只有音色为警报时有该参数) -> 0.1 - 20 |
- cargoFilter | Number | 14 | 1 | 货物过滤物品id -> 0:不过滤 物品id->过滤 |
- systemWarningIconId | Number | 17 | 1 | 系统警报图标id |
- falloffRadius | Array(2) | 声音警报-声音衰减范围 | ||
- - _array_item_1 | Number | 18 | 1 | 开始衰减距离(单位:米) -> 默认为 (衰减为0距离 / 3)(0-133) |
- - _array_item_2 | Number | 19 | 1 | 衰减为0距离(单位:米) -> 1-400 |
- spawnItemOperator | Number | 20 | 1 | 生成/消耗货物模式 -> 0:不勾选 1:生成货物 2:消耗货物 |
字段 | 字段类型 | 偏移量(Int32) | 长度(Int32) | 备注 |
---|---|---|---|---|
_parameters | Object | 1 | ||
- productId | Number | 0 | 1 | 模式 -> 0:直接发电 1208:光子生成 |
字段 | 字段类型 | 偏移量(Int32) | 长度(Int32) | 备注 |
---|---|---|---|---|
_parameters | Object | 1 | ||
- mode | Number | 0 | 1 | 模式 -> -1:放电 0:待机 1:充电 |
字段 | 字段类型 | 偏移量(Int32) | 长度(Int32) | 备注 |
---|---|---|---|---|
_parameters | Object | 2 | ||
- orbitId | Number | 0 | 1 | 送入轨道编号 -> 0:无 1-20:轨道列表编号 |
- tenfoldSpeed | Boolean | 1 | 1 | 是否开启十倍射速 |
字段 | 字段类型 | 偏移量(Int32) | 长度(Int32) | 备注 |
---|---|---|---|---|
_parameters | Object | 1 | ||
- tenfoldSpeed | Boolean | 0 | 1 | 是否开启十倍射速 |
字段 | 字段类型 | 偏移量(Int32) | 长度(Int32) | 备注 |
---|---|---|---|---|
_parameters | Object | 110 | ||
- bans | Number | 0 | 1 | 限制不可自动放入的格子数 |
- storageType | Number | 1 | 1 | 储物仓类型 -> 0:不过滤 9:存在过滤器 |
- filters | Array(60) | 10 | _L = storageType == 0 ? 0 : 60 | 储物仓物品过滤器 storageType为0时忽略,不占偏移量 |
- - _array_item | Number | 10 + i | 1 | 过滤物品id |
- workEnergyPerTick | Number | _L + 10 | 1 | 最大充能功率(单位:MW) -> 30 - 300 |
- autoPickEnabled | Boolean | _L + 11 | 1 | 是否自动拾取 |
- autoReplenishFleet | Boolean | _L + 12 | 1 | 是否自动补充编队 |
- moduleEnabled | Boolean | _L + 13 | 1 | 是否开启战斗无人机 |
- autoReconstruct | Boolean | _L + 14 | 1 | 是否自动标记重建 |
- droneEnabled | Boolean | _L + 15 | 1 | 是否开启建设无人机 |
- dronesPriority | Number | _L + 16 | 1 | 建设无人机模式 -> 0:优先修理 1:均衡模式 2:优先建造 |
- fighters | Array(12) | _L + 17 | 12 | 战斗无人机编队 |
- - _array_item | Number | _L + 17 + i | 1 | 无人机物品id |
[^3001, 3002, 3003, 3004, 3005, 3006, 3010]: 高斯机枪塔, 高频激光塔, 聚爆加农炮, 磁化电浆炮, 导弹防御塔, 干扰塔, 近程电浆塔
字段 | 字段类型 | 偏移量(Int32) | 长度(Int32) | 备注 |
---|---|---|---|---|
_parameters | Object | 128 | ||
- group | Number | 1 | 1 | 分组编号 -> 0:不分组 1-5:分组 |
- vsSettings | Array(4) | 2 | 1 | 攻击设置优先级 |
- - _array_item_1 | Number | 地面优先级 -> 0:关闭 1:低优先 2:均衡 3:高优先 |
||
- - _array_item_2 | Number | 低空优先级 -> 0:关闭 1:低优先 2:均衡 3:高优先 |
||
- - _array_item_3 | Number | 高空优先级 -> 0:关闭 1:低优先 2:均衡 3:高优先 |
||
- - _array_item_4 | Number | 太空优先级 -> 0:关闭 1:低优先 2:均衡 3:高优先 |
||
- phasePos | Number | 3 | 1 | 干扰塔相位偏移(单位:秒) -> 0-5 |
字段 | 字段类型 | 偏移量(Int32) | 长度(Int32) | 备注 |
---|---|---|---|---|
_parameters | Object | parameterLength | ||
- _defaultParams | Int32Array(parameterLength) | 0 | parameterLength |
cnpm install
npm run serve
npm run build
# 打包后可删除dist文件夹中的css及js文件夹(打包流冗余文件,所有代码已打包进html),仅保留index.html