mandao-DroneCapacityPlus icon

DroneCapacityPlus

Raises the vanilla logistics drone cargo capacity (25-1,000,000) with an in-game panel (Alt+D), fixed or tech-scaled modes. Standalone, save-safe, config-only. 独立模组:可随时修改物流运输机单次运载上限。

By mandao
Last updated a day ago
Total downloads 14
Total rating 0 
Categories Cheats Quality of Life
Dependency string mandao-DroneCapacityPlus-1.1.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

xiaoye97-BepInEx-5.4.17 icon
xiaoye97-BepInEx

BepInEx5.4.17 mod plugin framework, Mod框架

Preferred version: 5.4.17

README

DroneCapacityPlus / 物流运输机载重增强

独立 BepInEx 模组:调整原版物流运输机(PLS / ILS 的物流无人机)单次运输的物品上限。 默认把上限设为 10000,也可以改为“原版科技载重 × 倍数”的成长模式。

注意: 你的整合包里已经装了 ProjectEden,它内嵌的 stations.json 默认就把运输机载重设为 10000(日志里能看到“运输机运载量由 200 调整为 10000”)。也就是说,如果你只是想把上限改成 10000,ProjectEden 已经在做了。本模组适合这些情况:不想依赖 ProjectEden、想自己配置这个数值,或者想用“原版科技载重 × 倍数”的模式。


先回答你的问题:那三个模组有“无人机每次运输上限”吗?

没有。

PlanetwideCollector、PlanetwideSupplier、PlanetwideGeneratorSupply 这三个模组完全不使用物流运输机。 它们的工作方式是每隔一段时间(默认 60 tick ≈ 1 秒)扫描一次建筑,然后直接在建筑缓冲区和物流站库存之间增减物品数量:

  • PlanetwideSupplier / PlanetwideGeneratorSupply:从物流站库存直接“扣数”,填进发电机、炮塔、工厂、发射井等建筑的缓冲区。
  • PlanetwideCollector:从建筑输出端直接“取数”,加进物流站已设置的对应物品栏位。

因此它们没有“无人机载重 / 每次运输上限”这个配置项。它们单次搬运多少,取决于建筑缓冲区还缺多少、物流站里还有多少库存,以及扫描间隔,而不是无人机的载重。

本模组修改的是原版物流运输机的载重(GameHistoryData.logisticDroneCarries),不会改变上述三个模组的搬运逻辑,也不会与它们冲突。原版物流站之间、物流站与建筑之间的无人机运输会直接受益。

补充:这三个模组本身没有“运输上限”设置;如果你觉得它们每秒搬运得不够快,可以把它们的 RefillIntervalTicks / CollectIntervalTicks 调小(例如 30),但不要调得过低以免影响 UPS。


功能

  • 修改原版物流运输机(物流无人机)的单次运载上限。
  • 两种模式:
    • Fixed(默认):固定为 FixedCapacity,默认 10000。
    • VanillaTimes:保留原版科技成长曲线,把原版载重乘以 VanillaMultiplier,默认 ×10(原版满级 200 → 2000)。
  • 自带局内面板:按 Alt+D 打开,可在 25 - 1,000,000 之间随时修改载重,立即生效并写回配置。
  • 不新增物品、不改配方、不写自定义存档数据。
  • 每帧在 PlanetTransport.GameTick 之前以 Priority.Last 重新写入配置值,因此可以覆盖其他模组(如 ProjectEden)对 logisticDroneCarries 的每帧对齐;关闭本模组后则完全不干预。
  • 存档安全:本模组导出存档时会临时写回原版载重;卸载本模组后存档仍可正常读取。若同时安装了 ProjectEden 等会写同一个字段的模组,最终存档值仍可能由它们写入。
  • 与 Planetwide*、StackingPlus、EndlessResources 等常见模组无已知冲突。

配置

首次启动后生成:BepInEx\config\mandao.DroneCapacityPlus.cfg

配置项 默认值 说明
General > Enabled true 是否启用。关闭后使用原版载重。
General > Mode Fixed Fixed = 固定值;VanillaTimes = 原版科技载重 × 倍数。
General > FixedCapacity 10000 Fixed 模式下的单次运载上限,允许 25 - 1,000,000(原版 25,科技满级 200)。
General > VanillaMultiplier 10 VanillaTimes 模式的倍数(原版满级 200 × 10 = 2000)。

修改配置文件后请重启游戏(.cfg 在启动时读取)。

局内随时修改(Alt+D)

游戏内按 Alt+D 打开面板:

  • 顶部显示当前实际载重、当前模式和配置目标值。
  • 可以直接输入数值(25 - 1,000,000),点 Apply 生效。
  • 也可以用 +1000 / -1000 / +10000 / -10000、x2 / /2,以及 10k / 100k / 500k / 1M 快捷按钮。
  • 修改会立即生效,并写入 FixedCapacity、同时把 Mode 切换为 Fixed,所以下次启动仍然保留这个数值。
  • 如果你原来在用 VanillaTimes 模式,使用面板改数值后会切换到 Fixed 模式(这是预期行为)。
  • 载重上限受物流站栏位库存限制:原版 PLS 5000 / ILS 10000;如果同时装着 ProjectEden,它已经把物流站栏位容量设到 10,000,000,所以 50 万 / 100 万载重才有实际意义。

关于“实际每趟能搬多少”

无人机单次实际搬运量会取以下三者的最小值:

  1. 本模组设置的载重上限;
  2. 出发物流站对应栏位的现有库存;
  3. 目的物流站对应栏位的剩余空间 / 建筑缓冲区剩余空间。

另外,原版物流站每个栏位本身有容量上限(PLS 默认 5000,ILS 默认 10000,可通过科技提升)。所以把载重设为 10000 时,PLS 单趟最多也只能搬走该栏位现有的库存(通常不超过 5000),这是正常的,不是模组没生效。

起送量(Min Load)

物流站的“起送量”百分比在原版里是按 (载重 - 1) × 百分比 计算触发阈值的。如果直接用 10000 计算,默认 10% 会变成 999——库存低于 999 的物流塔将永远不发货。

本模组已处理这个问题:起送阈值仍然按原版载重计算(原版满级 200、默认 10% 时约为 19),而实际装载量使用增强后的载重。因此低库存/低速生产的物流塔不会因为载重变大而“卡住不发”,同时大库存时可以一次搬走更多。物流站面板里的起送量百分比仍然可以正常调整。


安装

方式一:Thunderstore Mod Manager / r2modman(推荐)

  1. 把 DroneCapacityPlus-1.1.0.zip 拖入 Mod Manager 的 “Install from file”,或解压后把整个文件夹放进配置文件的 BepInEx\plugins\ 下。
  2. 启动游戏。

方式二:手动安装

  1. 确保已安装 BepInEx 5(5.4.17 或更高)。
  2. 在 BepInEx\plugins\ 下新建文件夹 DroneCapacityPlus。
  3. 把 DroneCapacityPlus.dll 放进该文件夹。
  4. 启动游戏一次,生成配置文件;关闭游戏后按需编辑 .cfg。

最终路径示例:

Dyson Sphere Program\BepInEx\plugins\DroneCapacityPlus\DroneCapacityPlus.dll

验证是否生效

  1. 启动游戏并读取存档,查看 BepInEx\LogOutput.log,应出现: DroneCapacityPlus 已加载:Mode=Fixed, FixedCapacity=10000, ...
  2. 游戏内按 Alt+D 打开面板,顶部应显示 Current in-game capacity: 10000 左右;输入 500000 并点 Apply,数值应立即变化。
  3. 打开任意物流运输站,观察物流无人机往返时搬运的物品数量(或观察一个“本地需求”栏位被填满的速度)。
  4. 新开游戏时,即使尚未研究任何运输机载重科技,载重也已经是配置值;研究“物流运输机运载量”科技后仍保持配置值。

兼容性与注意事项

  • 游戏版本:DSP 0.10.x(针对当前安装版本构建,使用 BepInEx 5 + Harmony)。
  • ProjectEden: 它的内嵌 stations.json 默认已经设置 droneCarries: 10000,并且每帧把该字段对齐到 10000。本模组以 Priority.Last 在它之后写入,因此会覆盖它的运输机载重;如果你更希望由 ProjectEden 控制,请把本模组设为 Enabled = false(或直接把两边设成相同数值)。ProjectEden 同时设置的运输船(1,000,000)和配送机(5,000)载重不受本模组影响。
  • 其他修改 logisticDroneCarries 的模组:本模组每帧最后写入,通常会覆盖它们;如果出现冲突,请只保留一个。
  • 多人游戏(Nebula):未测试;本模组只改客户端本地历史数据字段,通常不会破坏联机,但建议所有玩家使用相同配置。
  • 不修改物流运输船(星际运输船)的载重;本模组只针对行星内物流无人机。

卸载

删除 BepInEx\plugins\DroneCapacityPlus\DroneCapacityPlus.dll 即可。只使用本模组时,存档中保存的是原版载重(≤200),卸载后不会残留 10000。若同时安装了 ProjectEden,存档中的载重值仍可能由 ProjectEden 写入。


English summary

Standalone BepInEx plugin that changes the vanilla logistics drone cargo capacity (GameHistoryData.logisticDroneCarries).

  • In-game panel: press Alt+D to change the capacity between 25 and 1,000,000 at any time. Changes apply instantly, are written back to FixedCapacity, and switch Mode to Fixed.
  • Fixed mode: capacity = FixedCapacity (default 10000).
  • VanillaTimes mode: capacity = vanilla tech-based capacity × VanillaMultiplier (default ×10).
  • Re-applied every tick with Priority.Last, so it overrides other mods that rewrite the same field (e.g. ProjectEden's embedded stations.json, which already defaults to 10000).
  • Save-safe: the vanilla value is written back during save export. If another mod (e.g. ProjectEden) also writes this field, the final save value may come from that mod.

The PlanetwideCollector / PlanetwideSupplier / PlanetwideGeneratorSupply mods do not use drones at all — they move item counts directly between building buffers and station storage every scan interval. They have no per-trip drone cap setting, and this plugin does not alter their behavior.


License

MIT