DSPOutputCap
Limit how many finished items a building stacks in its output buffer before it stops. 限制工厂输出缓存堆叠上限,达到上限即停止生产并停止耗电,物品运走后自动恢复。可在游戏内按 F7 调整。DSP Output Cap — 输出堆叠上限
限制生产设备输出缓存里堆积的成品数量。达到设定值后,设备进入游戏自带的 **「产物堆积」**状态:停止生产、停止耗电;物品被传送带运走后自动恢复生产。
无需修改配置文件——游戏内按 F7 打开面板直接调整数值,改动立即生效。
功能
| 行为 | 说明 |
|---|---|
| 达到上限停产 | 进入游戏原版的堵塞状态,UI 显示「产物堆积」 |
| 停止耗电 | 停产设备的电力需求归零 |
| 自动恢复 | 成品被运走后立即恢复生产,无需干预 |
| 游戏内调整 | F7 打开面板,实时改数值,无需重启 |
| 按类型分别设定 | 冶炼炉 / 制造台 / 化工厂等可各自设定上限 |
默认上限
| 设备类型 | 默认值 | 游戏原版容量 |
|---|---|---|
| 冶炼炉(电弧熔炉等) | 5 | 100 |
| 制造台 | 5 | 单次产出 × 9 |
| 化工厂 / 精炼厂等 | 5 | 单次产出 × 19 |
当前覆盖范围(请务必阅读)
这是一个初始版本,覆盖范围有限:
| 设备 | 是否生效 |
|---|---|
| 制造台 | ✅ 支持 |
| 化工厂、精炼厂、粒子对撞机等 | ✅ 支持 |
| 冶炼炉(电弧熔炉) | ❌ 暂不支持 |
| 研究站(矩阵研究站) | ❌ 暂不支持 |
不支持的设备会保持游戏原版行为(按原版容量堆积),不会出错,但也不受本 Mod 限制。
未支持的原因:这两类设备的产能判定在编译后的代码里结构与制造台不同, 无法用与其他设备相同的方式改写。后续版本会继续尝试覆盖。
使用方法
1. 打开设置面板
进入游戏后按 F7。
┌─ 输出堆叠上限 [F7 隐藏] ──────────────────┐
│ 达到上限后设备显示「产物堆积」并停止生产 │
│ 与耗电,物品被运走后自动恢复。 │
│ │
│ 冶炼炉 │
│ [-1] [-10] 5 [+1] [+10] [+100] │
│ 原版容量 100 个 │
│ │
│ 制造台 │
│ [-1] [-10] 5 [+1] [+10] [+100] │
│ 原版容量 = 单次产出 x 9 │
│ │
│ 化工厂 / 精炼厂等 │
│ ... │
│ │
│ 快捷设定:[全部设为 5] [10] [20] [50] │
│ │
│ 运行状态:已触发上限 N 次 │
│ 电力归零写入 N 次,电力补丁调用 N 次 │
└─────────────────────────────────────────────┘
面板可以拖动(按住标题栏)。改动立即生效,不需要重启游戏。
2. 或直接编辑配置文件
配置文件位置(首次启动游戏后自动生成):
BepInEx/config/dsp.outputcap.cfg
[Limits]
Smelt = 5 # 冶炼炉(当前版本未生效)
Assemble = 5 # 制造台
Other = 5 # 化工厂 / 精炼厂等
[InGamePanel]
ToggleKey = F7 # 面板快捷键,与其他 Mod 冲突时可改
ShowOnStart = false
[General]
Verbose = false # 排查问题时改成 true,会输出详细日志
面板上改数值会自动写回这个文件,两种方式可以混用。
3. 数值怎么设
- 想省心:全部设为 5,设备只在缓存里留一点成品,不容易堵
- 想减少产线停顿:设为 10~20,兼顾缓存和响应
- 想接近原版:设为 50 以上,只是防止堆到上百个
安装
用 Mod 管理器(推荐)
- r2modman / Gale:搜索
DSPOutputCap安装 - 手动安装:把压缩包解压到游戏目录,使其成为
<游戏目录>/BepInEx/plugins/DSPOutputCap.dll
前置要求
需要 BepInEx 5。本 Mod 依赖 xiaoye97-BepInEx。
重要:如果你的游戏已经是较新的版本(Unity 2022.3.62f3 或更新), 建议使用 BepInEx 5.4.23.5 或更高版本。更早的版本缺少针对该 Unity 版本的 修复,可能导致加载器无法启动(游戏能玩但所有 Mod 都不生效)。
常见问题
Q:按 F7 没反应?
A:说明 Mod 没被加载。检查 BepInEx/LogOutput.log 里是否有
Loading [DSP Output Stack Cap ...]。如果没有,检查 DLL 是否放对了目录。
Q:F7 和别的 Mod 冲突了?
A:改配置文件里的 ToggleKey,或直接编辑 [Limits] 数值。
Q:设备到上限了但还在吃原料? A:请反馈。正常情况下应该完全停止。
Q:电力还是很高?
A:本 Mod 会把停产设备的电力需求归零。如果没生效请反馈,
并在配置文件里把 Verbose 设为 true,把日志中的
【电力诊断】 那一行发出来。
Q:冶炼炉为什么没效果? A:见上方「当前覆盖范围」,这是已知限制,后续版本会处理。
已知取舍
- 停产判定按物品个数,对一次产出多个成品的配方,可能在略低于上限处停下
- 不处理输入侧:本 Mod 只限制输出缓存,不限制原料输入
- 本 Mod 会修改游戏内存中的判定数值,如果游戏更新导致内部结构变化, Mod 会拒绝打补丁并在日志中记录警告,不会导致游戏崩溃
兼容性
- 游戏版本:Unity 2022.3.62f3c1(2026 年 1 月版本)已验证
- BepInEx:5.4.17 及以上(低于 5.4.23.5 时部分新版游戏可能无法加载)
- 与其他 Mod 的兼容性未做全面测试。本 Mod 只改写生产设备的判定数值, 不修改存档结构,通常可安全移除(移除后设备恢复原版容量行为)
日志与排查
日志位置:
BepInEx/LogOutput.log
正常加载时应看到:
Loading [DSP Output Stack Cap 0.1.0]
字段缓存 -- produced=True, replicating=True
IL 改写完成:制造乘数 2 处,默认乘数 5 处。
公式改写已应用: AssemblerComponent.InternalUpdate
停产前缀已应用: AssemblerComponent.InternalUpdate
电力归零补丁已应用: PowerConsumerComponent.SetRequiredEnergy(bool,int)
如果出现 IL 改写完成:制造乘数 0 处,说明模式匹配未命中,
请把日志反馈给作者。
源码
源码随包提供,见 src/ 目录。采用与游戏同版本的 C# 5 语法编译,
以便在任何环境用 .NET Framework 自带的编译器构建。
