DSPMinerMultiplier
Mining machine multiplier 1-1000x, power cost linearly up to 256x. Alt+F1 in-game panel, all production/power displays synced, Nebula multiplayer support.
模組介紹 作者原文
DSP Miner Multiplier(DSP 採礦機倍率模組)
戴森球計劃(Dyson Sphere Program)BepInEx 模組:
- ⛏️ 採礦倍率:可自由設置,範圍 1 ~ 1000 倍
- ⚡ 耗電線性增長:耗電隨採礦倍率線性同步,公式
耗電倍率 = 1 + (採礦倍率 − 1) × 255 / 999
即:採礦 1 倍 → 耗電 1x;採礦 1000 倍 → 耗電正好 256x(上限 256 倍)。
| 採礦倍率 | 耗電倍率 |
|---:|---:|
| 1x | 1x |
| 10x | 3.29x |
| 100x | 26.53x |
| 500x | 128.53x |
| 1000x | 256x |
適用於採礦機、巨型採礦機(以及同類 MinerComponent 實體,如抽水機)。
遊戲內快捷鍵
遊戲中隨時按 Alt+F1 打開/關閉倍率調節面板:
- 滑條或快捷按鈕(1x / 10x / 100x / 500x / 1000x)即時調整倍率
- 也可手動輸入任意數值(1 ~ 1000)
- 面板顯示當前採礦倍率與對應耗電倍率
- 修改會自動保存到配置文件
組合鍵可在配置文件 [Hotkey] 段修改(修飾鍵 ModifierKey + 切換鍵 ToggleKey)。
Nebula 聯機同步
安裝 Nebula 與
NebulaMultiplayerModApi 後自動啓用:
- 聯機開始時,主機把當前倍率廣播給所有客戶端
- 遊戲中主機通過 Alt+F1 面板修改倍率,客戶端實時跟隨
- 新玩家中途加入時,主機自動重發當前倍率
- 客戶端本地改倍率不影響其他玩家(以主機爲準)
- 聯機結束後恢復本機配置的倍率
不裝 Nebula 時模組照常單機運行。
顯示與實際一致
以下位置的產量/耗電顯示會按倍率同步縮放(避免顯示與實際不符):
- 採礦機窗口(產量/分,耗電本身按實際 requiredEnergy 顯示)
- 建造預覽 gizmo(N x XX/min)
- 物品詳情屬性(礦機"每分每礦脈"等描述)
- 採集器面板(礦脈/海洋採集器的速度文本)
- 配電面板中巨型採礦機條目的額定功率
- 星球/恆星詳情面板中的水泵產量(N /min 條目,氣態採集率不受影響)
實現原理(已對 Assembly-CSharp 反編譯覈實)
- 採礦提速:Harmony Prefix 補丁 MinerComponent.InternalUpdate(..., ref float miningSpeed,...),
把 miningSpeed 參數乘以配置倍率 → 產出與傳送速率同步放大。
不修改任何存檔字段,卸載模組即恢復原版行爲。
- 耗電增長:Harmony Postfix 補丁 MinerComponent.SetPCState,
在遊戲按 speedDamper × speed² / 1e8 設置需求能量後,按耗電倍率重設
PowerConsumerComponent.requiredEnergy(保持 idle/work 比例不變)。
安裝
- 先安裝 BepInEx 5。
- 把 DSPMinerMultiplier\bin\DSPMinerMultiplier.dll 複製到
遊戲目錄\BepInEx\plugins\DSPMinerMultiplier\。
- 啓動遊戲。
配置
首次運行後生成 BepInEx\config\com.byboy.dsp.minermultiplier.cfg:
[General]
採礦機的採礦速度倍率,範圍 1 ~ 1000。耗電按 1~256 線性同步增長。
Setting type: Single
Default value: 10
採礦倍率 MiningMultiplier = 10
裝了 ConfigurationManager 插件的話可在遊戲內實時調整。
從源碼編譯
dotnet build DSPMinerMultiplier/DSPMinerMultiplier.csproj -c Release
- 默認使用倉庫 libs\ 目錄裏的引用 DLL(已包含從遊戲提取的
Assembly-CSharp.dll、BepInEx 5.4.22 與 UnityEngine 2021.3.33 模塊)。
- 如果配置了 csproj 裏的 `` 指向真實遊戲目錄,構建後會把 dll
自動複製到遊戲的 BepInEx\plugins\DSPMinerMultiplier\。
提示:libs\Assembly-CSharp.dll 目標框架是 netstandard2.1(新版 DSP),
項目因此使用 netstandard2.1。若你的遊戲是舊版(netstandard2.0),
把 csproj 的 `` 改回 netstandard2.0 並用遊戲自帶的
Assembly-CSharp.dll 重新編譯即可。
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。
下面這些內容需要先安裝,否則該模組不會生效: