
LogisticsStationSlots
Expand logistics station item slots from 4/5 to 12, fix belt input for the new slots, and let the Total Control Panel page through them.物流站货物栏扩容 · LogisticsStationSlots
把游戏原版两种物流站的货物栏从 4 / 5 格扩到 12 格,并把扩容带来的两个副作用一起修好。
从 BeltStationTweaks 里单独拆出来的插件 —— 只有物流站相关的这三项,不含传送带提速、采矿机速度上限、站间距等任何其它改动。
它做什么
1. 货物栏 4 / 5 → 12 格
只改游戏原版的两个建筑:
| 建筑 | 原版格数 | 扩容后 |
|---|---|---|
| 行星内物流运输站(2103) | 4 | 12 |
| 星际物流运输站(2104) | 5 | 12 |
格数可以在配置里改。单格库存上限本插件不碰,请在物流站面板上自己设。
为什么不能一行改完:原版把格数写死在三个地方 ——
StationComponent.AddItem和四个供需查询被完全展开成storage[0]…storage[5]、UIStationWindow只有 6 个储物格控件且窗口高度按全部格数算、UIEntityBriefInfo.icons是 prefab 里的定长数组。三处不一起接管,第 7 格起货物入库会凭空消失。本插件把三处都接了过来。
已经建好的物流站怎么办? 改 prefabDesc 只影响之后新建的站,所以本插件在读档后会把已建成站点的 storage 数组补齐到 12 格。
2. 扩容出来的第 6~12 格,外接传送带喂不进物品 —— 已修
原版把 needs 数组写死成 6 项:needs[0..4] 是星际站的 5 个普通物品格、needs[5] 是空间翘曲器专用伪格位;而三个消费端(UpdateNeeds 的写入、UpdateInputSlots 里「有没有格位要货」的求和、CargoPath.TryPickItemAtRear 的物品匹配)全都只扫前 6 项。
后果:第 1~5 格正常、第 6 格被翘曲语义顶掉、第 7~12 格数组里根本不存在 —— 外接传送带一律喂不进去(无人机和运输船不受影响,它们走 AddItem)。
修复方式:借前 5 个「当前没有需求」的真格位做代理,把额外格位的需求临时投影进去,再把货物落点换回真实格位。不改任何原版指令、不动 needs 长度、不碰翘曲器行为。
3. 总控制面板看不到第 7~12 格 —— 已修
物流站有两套互不相干的界面:它自己的面板(UIStationWindow,本插件已改成翻页)和总控制面板(UIControlPanel*,原版只显示前 6 格、而且右侧没有滚动条)。
本项不改任何排版(格位尺寸、坐标、页面高度全不动),只把 6 个格位控件的索引整体平移一页:在储物栏区域滚鼠标滚轮翻页,第 2 页显示第 7~12 格。
依赖
| 依赖 | 必需? | 为什么 |
|---|---|---|
| BepInEx 5.4.17 | ✅ 必需 | 插件加载器 |
| LDBTool 3.0.3+ | ✅ 必需 | 本插件的 prefab 改动挂在 LDBTool.PostAddDataAction 上 —— 这是唯一能改到「之后新建的实体」的时机 |
不依赖任何其它模组。 本插件只改游戏原版建筑,不引用创世之书、Project Eden 或任何第三方程序集。
安装
- 先装好 BepInEx 和 LDBTool
- 用 r2modman / Gale 搜索安装,或手动把
BepInEx/plugins/LogisticsStationSlots.dll放进 BepInEx 插件目录 - 启动游戏,日志里应出现
LogisticsStationSlots v1.0.0 已加载 / loaded.
配置
首次启动后生成 BepInEx/config/local.logisticsstationslots.cfg:
| 项 | 默认 | 说明 |
|---|---|---|
Station.Enabled |
true |
总开关 |
Station.MaxItemKinds |
12 |
货物栏数量 |
Station.FixExtraSlotInput |
true |
修第 6~12 格的外接传送带喂料 |
Station.ControlPanelPaging |
true |
总控制面板翻页 |
改完需要重启游戏。
⚠️ 存档注意
物流站扩容会把 station.storage 数组真正改写成 12 格并存进存档 —— 这是存档结构改动。
- 卸载本插件后,那些 12 格的物流站可能行为异常。卸载前请先备份存档。
- 想改回小格数(比如 6 格),已建成站点需要重新建,或者接受旧站保留 12 格。
- 本插件不碰单格库存上限,那个值一直是原版的、可以在物流站面板上自己调。
兼容性
- 适配 DSP 0.10.35.29104(BepInEx 5.4.x + HarmonyX,net472)
- 只 patch 原版
StationComponent/UIStationWindow/UIEntityBriefInfo/UIControlPanel*相关方法 - 与 ProjectGenesis(创世之书)、Project Eden 等大改物流站的模组可能有重叠行为,如果你同时装了它们,请以其中一个为准
许可
GPL-3.0。
功能实现移植自 Project Eden(作者 RobertWangWang,GPL-3.0),其中物流站扩容部分又源于 ProjectGenesis(创世之书)。