
DSP MolecularHub
分子装配枢纽把八道工序折叠进一台建筑:一座 60 格原生仓库内建 8 个脱离实体的配方槽,槽位每 tick 按配方缺口自动从仓库取料、产物自动回仓,仓库格子由分配器按配方自动规划,分拣器指向后按缺口自动广告所需输入;沿用原版制造台模型(染成青金色)与界面,宇宙矩阵阶段解锁;支持 Shift 复制/粘贴与蓝图整厂迁移。适配 DSP 0.10.35 / BepInEx 5.4 / CommonAPI 1.6.7。分子装配枢纽(Molecular Assembly Hub)v0.2.0
中文简介:把 8 个配方槽 + 60 格仓库装进一台建筑。枢纽按配方缺口直接从仓库取料、产物自动回仓, 格子划分、格子筛选与「自动化输入限制」全部跟随配方;兼容原版分拣器、配送器与蓝图,存档内容随
.dsv一起走。English:One building that packs 8 recipe slots and a 60-grid storage. The hub pulls ingredients from its own storage on demand, returns products automatically, and keeps grid allocation, per-grid filters and the vanilla automation-input limit in sync with every recipe. Works with vanilla sorters, dispensers and blueprints, and its save data travels inside the
.dsvfile.
0.2.0(2026-11-01)仓库化改造:枢纽从「制造台类型」改为仓库类型(模型与界面外观不变)。 现在的结构是:内建 60 格仓库 + 8 个脱离实体的配方槽 + 格子分配器 —— 槽位按配方直接从仓库取料、 产物自动回仓,仓库格由分配器按配方自动划分输入/产物/预留区。0.1.x 的「内部总线」的取放料逻辑已删除(
busItems/busCounts仅保留用于读 v2 存档迁移;InterfacePoolId等为恒 -1 的历史残留字段,不再参与逻辑)。
把一台「分子装配枢纽」加进《戴森球计划》:8 个配方槽 + 内建 60 格仓库的超级制造台, 槽位之间的上下游串联(上游产物回仓、下游槽按需从仓库取)仍然成立,只是原料改由仓库中转, 不占传送带、不占分拣器。
历史版本(详见 CHANGELOG.md):0.1.10 把科技解锁成本降到 10.0K 宇宙矩阵;0.1.9 起支持配方 复制/粘贴、存档内嵌配置(
MHUBTRL1尾块);0.1.x 的「内部总线 / 接口位 /insertfix短路」架构 已在 0.2.0 作废(busItems/busCounts仅保留用于读 v2 存档迁移),相关hot-tune旧键大多失效 (holdmul/holdfloor仍生效)。
功能
- 8 个独立配方槽:制造 / 化工 / 精炼 / 冶炼配方都能放;每个槽按原版制造台 1× 速度生产(界面显示「每槽 1x」,八槽并行)。
- 内建 60 格仓库(10×6):枢纽本身按原版仓库类型注册,槽位不再各自持有原料,而是每 tick 按配方缺口直接从仓库取料。
- 自动取放料:取料时把 inc(增产点数)写进槽位
served/incServed,产物优先回仓;仓库满了产物就留在槽位里背压(不丢件、不报错),腾出格子后继续入库。 - 格子分配器(0.2.0):按配方自动规划 60 格 —— 每种输入物品各占 1 格、产物每种物品共用 1 格(多槽产同一种产物时去重)、最后保留 2 格给换配方时的旧库存;仓库切到
Filtered并逐格设筛选。 换配方时整张分配表重排、原有物品按原数量/inc 回填;放不下会整体拒绝并说明原因(例如「需要 N(输入)+ M(产物)+ 2(预留)= X 格,超过仓库 60 格」),不会破坏旧布局。 - 自动化输入限制自动跟随配方(0.2.0):分配表重排后会同步重设原版仓库的「自动化输入限制」(
StorageComponent.bans),只允许分拣器把料送进当前配方用到的筛选格:未筛选的尾格与 2 格预留区不会再被自动化塞进杂物;清空配方时限制为 0(自动化输入全停)。重排期间临时全禁、读档重建与打开仓库界面时都会重新校准,可在原版仓库界面右下角的「自动化输入限制」滑条上看到该值。 - 分拣器入库(0.2.0):分拣器指向枢纽后走原版分拣器逻辑——按仓库格筛选与「自动化输入限制」直接把料送进来,不按配方需求卡料。早先实现过「按缺口把最缺的 ≤6 种原料写进
entityNeeds广告」的方案,实机回归发现原版entityNeeds只有 6 格、会把入库卡在 6 种原料,遂默认关闭(Patches\InserterNeedsPatch.cs的InserterNeeds.NeedsEnabled = false,改回true即可恢复广告模式)。 - 配方复制 / 粘贴:
Shift复制建筑、<>剪贴板、蓝图 —— 8 槽配方都能带上;空枢纽不会被复制成"清空指令",粘贴不吞槽里的物品,未解锁配方跳过;目标不是枢纽时直接不执行,不会误改别的建筑。 - 产物快速筛选:放分拣器指向枢纽时出现原版多产物配方那样的产物图标条,可直接点选输出哪一条槽位的产物(纯 UI)。
- 自制界面(0.2.0 接管):点枢纽只打开枢纽窗口(原版仓库窗/制造台窗自动让位);标题栏新增「仓库」按钮,一键打开原版 60 格仓库界面。
- 配送器(0.2.0,可选):枢纽为仓库类型可直接装配配送器(实机已验证可装并正常投递)。
- IcarusII 调试字段(0.2.0):若安装了 IcarusII,
game_get_entity返回枢纽实体时会多一个molecularHub对象,内容与该枢纽在hub-debug.json里的条目一致(仓库格明细 / 分配表 / 各槽 served·incServed·produced / needs 表等)。未安装 IcarusII 时插件照常加载,只打一行跳过日志,功能不受影响。注入已随自检[P6-TEST]验证通过(返回体含molecularHub);游戏内 IcarusII 对话查询尚未实测。 - 视觉修正:同一实体上的多个组件不再让枢纽动画 8~9 倍速、标志乱闪;旧存档会自动清理历史遗留的孤儿装配组件。
- 缓存可热调:复制
hot-tune.example.txt为hot-tune.txt,游戏运行中改参数约 0.25 秒生效(个别键除外,见下文)。
安装
r2modman / Thunderstore 方式(推荐)
- 在 R2 的 Online 列表里安装依赖(本地 zip 导入不会自动补齐依赖,必须先装好):
xiaoye97-BepInEx(5.4.17 或更新 5.4.x)CommonAPI(1.6.7) ← 最容易漏装,缺了本 MOD 会报missing dependencies: dsp.common-api.CommonAPILDBTool(3.0.3)
- 再把本 zip 导入 R2 profile(或下载安装)。
- 启动游戏;在仓储建造页找到「分子装配枢纽」(需要宇宙矩阵科技 1993 解锁:10000 宇宙矩阵,即 10.0K)。
IcarusII是可选的,不属于依赖:装了才多出molecularHub调试字段,不装不影响本 MOD 任何功能。
r2modman 导入后 DLL 可能落在
BepInEx\plugins\DSP-DSP-MolecularHub\DSP-MolecularHub\DSP-MolecularHub.dll(多一层目录)——BepInEx 会递归扫描,能正常加载,无需手动搬。
手动安装
-
先装好上面 3 个依赖(解压到
<游戏目录>\BepInEx\...)。 -
把本压缩包解压到游戏根目录,最终结构应为:
<游戏目录>\BepInEx\plugins\DSP-MolecularHub\DSP-MolecularHub.dll <游戏目录>\BepInEx\plugins\DSP-MolecularHub\hot-tune.example.txt
兼容:戴森球计划 0.10.35、BepInEx 5.4.x(实测 5.4.17)、CommonAPI 1.6.7;本 DLL 编译引用 BepInEx.Core 5.4.21 / CommonAPI 1.6.5,在 5.4.17 运行时实测加载正常(仅 BepInEx 打一条『targets a wrong version of BepInEx (5.4.20.0)』的轻微警告,不影响功能)。
使用
- 点击枢纽打开枢纽窗口(原版仓库窗和原版制造台窗会自动关闭,避免两层窗口打架)。
- 左键槽位选配方;右键槽位打开原版制造台界面配置该槽;槽位右上角 X 清空。
- 「仓库」按钮(标题栏):打开原版 60 格仓库界面。此时原版的「筛选器 / 整理 / 容量」按钮会被拦截——
它们会清掉分配器设好的筛选格;需要临时手动动格子时,把
hot-tune.txt的debug=1打开即可放行。 - 原料行:显示配方需要的输入物品与仓库现有库存;下方提示行显示
仓库缺料:<物品名>(缺料时)或原料已齐;左键把该物品收进背包(背包满自动退回,不吞物品)。 - 产物行:左键把产物收进背包。
- 入库不再按配方种类卡料:入库走原版分拣器的筛选格/自动化输入限制,配方有几种输入就送几种(原版
entityNeeds的 6 格上限只影响已默认关闭的 needs 广告模式)。 - 复制/粘贴配方:
Shift复制建筑(连着放几台都带配方);或对着枢纽按<复制、对着另一个枢纽按>粘贴;存蓝图时配方一起存进去(旧蓝图没有配方,放下就是空枢纽)。粘贴时目标槽里的缓存物品会退回背包,未解锁的槽会被跳过。 - 堆叠:枢纽带原版多层堆叠字段(层高 5);配送器可直接装配并正常投递(实机已验证)。枢纽自身多层堆叠建造会提示「与其他物品碰撞」,0.2.0 不做多层吸附;
需要回到单层行为时用
stack=0(重启游戏)。
hot-tune 在线调参
复制 hot-tune.example.txt 为同目录 hot-tune.txt 即可在线调整(约 0.25 秒生效),文件内有全部键的说明;
删除该文件不会重置已生效的值(重启游戏后才回到编译期默认值;想立刻改回就把对应键写成默认值)。
| 键 | 默认 | 说明 |
|---|---|---|
tick |
1 | 总开关。0 = 暂停枢纽生产驱动(就地冻结,不取料/不出货) |
debug |
0 | 开发者诊断:0 = 发布版静默(默认);1 = 打开全部调试日志、把调试面板追加到枢纽窗口、并每 300 驱动 tick 写 hub-debug.json 快照。0.2.0 发布版在 UI 中已不显示调试面板,示例模板也不再列出该键 |
selftest |
0 | 开发者自检:自动建枢纽、投料、切配方跑用例(会往存档里建实体,正式游玩时别开)。示例模板中不再列出 |
stack |
1 | 多层堆叠字段开关。0 = 不写堆叠字段,回到单层(失败退路)。启动期读一次,改了要重启 |
holdmul |
4 | 旧键保留、仍生效:槽位单次取料上限 = 单次需求件数 × 该倍数(与 holdfloor 取大者) |
holdfloor |
4 | 旧键保留、仍生效:槽位单次取料上限的下限(件) |
copypaste |
1 | 配方复制/粘贴补丁。0 = 本会话不安装这组补丁。启动期读一次,改了要重启 |
animfix |
1 | 渲染前归一枢纽实体动画(修 8~9 倍速/标志乱闪) |
powerfix |
0 | 把耗电按「任一槽在工作」稳定写成工作/待机功率 |
probeanim |
0 | 开发者诊断:采样枢纽及相邻实体的标志/动画变化(会刷日志) |
probeins |
0 | 开发者诊断:采样指向枢纽的分拣器与 entityNeeds 内容 |
probestats |
0 | 开发者诊断:一次性 dump 组件池/登记统计/电力 |
注册类内容(物品 6007 / 配方 163 / 科技 1993 / 模型 666)受加载期约束,不能热调,必须重启游戏。
存档与兼容
- 枢纽的 8 槽配方与仓库内容写在
.dsv文件末尾的附加段(MHUBTRL1尾块)里:跟着存档文件走,拷到别的机器/存档目录 也一起跟随(按「星系种子 + 星球 index」匹配)。原版客户端会忽略存档尾部的附加数据(原理如此,未在纯原版环境实测),因此不装本 MOD 也应能正常读档。 - 0.2.0 起尾块为 v3:读 v2 存档时会把旧总线存货一次性迁入仓库(inc 记 0,装不下则退还玩家),新档写空数组。
- 读档用「文件尾 4MB 内倒序扫描」定位尾块,即使别的 MOD 在本 MOD 之后又追加了尾块也不会丢配置。
- 不依赖
DSPModSave:存档尾块MHUBTRL1由本 MOD 自己追加,已实测与DSPModSave1.2.2 共存。 - 插件目录默认不生成任何文件;只有
debug=1时才会写hub-debug.json状态快照(排查问题用,可随时删)。
已知限制 / 说明
- 入库按原版分拣器的筛选格与自动化输入限制进行,不再按配方种类设硬上限;needs 广告模式默认关闭(原版
entityNeeds只有 6 格)。 - 生产统计里枢纽的 8 个槽会显示成「设施[枢纽图标]×N」——原版按装配组件计数,参考速率数值是正确的(0.1.x 实测,0.2.0 未复测)。
- 旧存档首次载入会自动清理旧版本遗留的"孤儿装配组件"(只删不被任何实体认领的组件,不碰正常机器)。
- 复制/粘贴只对枢纽生效:剪贴板里没有枢纽载荷时普通制造台/仓储走原版逻辑;剪贴板是枢纽载荷而目标不是枢纽时,粘贴被静默忽略。
- 若复制/粘贴出问题:
hot-tune.txt写copypaste=0并重启游戏,可整组关闭这组补丁,其余功能不受影响。 - 若堆叠/配送器行为异常:
hot-tune.txt写stack=0并重启游戏,回到单层(0.1.x 形状)行为。 - 枢纽窗口的「仓库」界面复用了原版 60 格仓库 UI,因此原版界面里的筛选/整理/容量按钮被本 MOD 接管(
debug=1可临时放行)。 - 重入路径:快速反复「打开原版仓库窗 → 关 → 立即打开枢纽窗口」历史上触发过原生崩溃(0xc0000005);0.2.0 只回归了安全子集,遇到同类崩溃请先对照此场景。
- 1 tick = 1 游戏帧;枢纽按 tick 逐帧驱动,8 槽并行,不改变原版单槽 1× 的生产数值。
版本
- v0.2.0(2026-11-01)仓库化改造:60 格仓库 + 8 个脱离实体的配方槽 + 格子分配器 + 分拣器 needs 广告 + 点击接管与仓库按钮 + 存档 v3 + 可选多层堆叠/配送器 + IcarusII
molecularHub调试字段。 - v0.1.10(2026-10-31)解锁成本下调:宇宙矩阵 10.0M → 10.0K(研究哈希 18.0M → 18.0K)。
- v0.1.9(2026-10-19)配方复制 / 粘贴(Shift 复制建筑、
<>剪贴板、蓝图)。 - v0.1.9-r2(2026-10-21)实机反馈修复轮:复制/粘贴语义与提示、槽内物品退还、分拣器投料自愈、产物快速筛选 UI。
问题反馈:见 Thunderstore 包页面(或 r2modman 内 mod 页面)。