Dyson Sphere Program
You are viewing a potentially older version of this package. View Latest Version
Install with App

Details

Date Uploaded
4 days ago
Downloads
126
Size
20KB

物流站货物栏扩容 · 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 或任何第三方程序集。


安装

  1. 先装好 BepInEx 和 LDBTool
  2. 用 r2modman / Gale 搜索安装,或手动把 BepInEx/plugins/LogisticsStationSlots.dll 放进 BepInEx 插件目录
  3. 启动游戏,日志里应出现 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(创世之书)。

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.