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.
By huahuahua
| Date uploaded | 4 days ago |
| Version | 1.0.0 |
| Download link | huahuahua-LogisticsStationSlots-1.0.0.zip |
| Downloads | 17 |
| Dependency string | huahuahua-LogisticsStationSlots-1.0.0 |
This mod requires the following mods to function
xiaoye97-LDBTool
Library that allows mods to add and edit Proto data. Also allows you to see Proto data, config ID's of mod Protos and change localized strings
Preferred version: 3.0.3README
物流站货物栏扩容 · 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(创世之书)。
CHANGELOG
v1.0.3
- 修复:往物流站输入物品会间歇性暂停。 旧版为了把额外格位接上传送带,会借用原版
needs数组里的槽位 —— 而且连「正在等货」的槽位一起借走,那一 tick 原版格子自己的需求就被抹掉了,格子轮流失效。现在改成完全不碰原版needs:原版照常服务前 5 格,跑完之后本插件用自己的一张需求表再问传送带一轮,专门服务额外格位。 / Fixed: items fed into a logistics station would intermittently stall. The old version borrowed slots from vanilla'sneedsarray — including slots that were actively waiting for goods, wiping that tick's demand and making vanilla slots take turns starving. It no longer touches vanillaneedsat all: vanilla serves the first 5 slots as usual, then the plugin asks the belt once more with its own demand table for the expanded slots. - 程序集自报版本号不再写死为
1.0.0,改为与包版本一致(此前装了 1.0.1 / 1.0.2 的玩家,日志里看到的都是 1.0.0,不利于排查问题)。 / The assembly version now tracks the package version instead of being hard-coded to1.0.0. - 文档澄清原版货物栏格数口径:行星内物流运输站 4 格、星际物流运输站 5 格(星际站另有 1 个空间翘曲器专用格,不计入货物栏;界面上会各多显示 1 格)。 / Clarified vanilla cargo-slot counts: 4 for the planetary station, 5 for the interstellar one (which additionally has one dedicated space-warper slot, not counted).
v1.0.2
- 补齐 GPL-3.0 的分发义务:随包附上完整源码(
src/)、工程文件(LogisticsStationSlots.csproj)与许可证全文(LICENSE)/ Fulfilled the GPL-3.0 distribution obligation: bundled the complete source (src/), the project file and the full license text - 按上游 GPL-3.0 第 7 条附加条款,在 README 与每个源码文件头完整保留 ProjectGenesis(Copyright (C) 2022-2026 Awbugl and ProjectGenesis contributors)与 Project Eden(Copyright (C) 2026 RobertWangWang and Project Eden contributors)的版权声明与出处,并明示本插件为修改版、与上游原版不同 / Per the upstream GPL-3.0 Section 7 additional terms, the copyright notices and sources of ProjectGenesis and Project Eden are reproduced in full in the README and in every source file header, together with an explicit statement that this is a modified version
- 源文件头统一加上衍生作品与许可声明 / Every source file now carries a unified derivative-work and license header
- README 新增「源码 / Source Code」章节 / Added a "Source Code" section to the README
- 功能与 1.0.1 完全一致,DLL 未改动 / No functional change — the DLL is identical to 1.0.1
v1.0.1
- README 改为中英双语 / README is now bilingual (Chinese + English)
- 依 Thunderstore 规则补充 AI 使用声明(README + 程序集元数据)/ Added the AI usage disclosure required by Thunderstore rules, in both README and assembly metadata
- 精简 README,只保留功能介绍与使用方法 / Streamlined the README to just features and usage
- 补充致谢与移植来源 / Added credits and porting sources
v1.0.0
- 首次发布 / Initial release
- 物流站货物栏 4 / 5 格 → 12 格 / Expanded logistics station item slots from 4/5 to 12
- 修复扩容出来的第 6~12 格外接传送带喂不进物品 / Fixed belt input for the new slots 6–12
- 总控制面板支持滚轮翻页查看第 7~12 格 / Total Control Panel can now page through slots 7–12 with the mouse wheel