chenD-DSPCustomRecipes icon

DSPCustomRecipes

通过 JSON 配置在现有配方基础上添加自定义配方,可复制任意原版配方后修改原料、产物、耗时与解锁条件。

By chenD
Last updated 11 hours ago
Total downloads 7
Total rating 0 
Categories Cheats
Dependency string chenD-DSPCustomRecipes-1.0.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

xiaoye97-LDBTool-3.0.3 icon
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.3

README

DSP 自定义配方(DSP Custom Recipes)

在《戴森球计划》现有配方的基础上,追加你自己设计的配方。配方写在 JSON 配置文件里,改完重启游戏即可生效,不需要改存档、也不需要重新编译。

  • 完全新增配方:任意原料 → 任意产物。
  • 基于现有配方(base)做变种:复制一条原版配方,只改原料 / 产物 / 耗时 / 是否手搓。
  • 新配方会出现在对应建筑(电弧熔炉 / 化工厂 / 制造台 / 原油精炼厂 / 粒子对撞机 / 分馏塔 / 研究站)的配方选择列表里;handcraft: true 的还会出现在复制台。
  • 自动分配配方 ID 与图标格子,会尽量避让其它模组已占用的位置。
  • 默认自动解锁;也可以设置为跟随某个科技解锁。

依赖:LDBTool 3.x(r2modman 里通常已随其他模组安装)、BepInEx 5.4.17。


一、安装

方式 A:r2modman 从文件安装(推荐)

  1. 打开 r2modman,选择 Dyson Sphere Program,进入 Settings → Install from file(或“从文件安装”)。
  2. 选择 DSPCustomRecipes-1.0.0.zip。
  3. 确认启用 LDBTool 与本模组,点击 Start modded。

方式 B:手动解压

把压缩包里的 plugins/DSPCustomRecipes.dll 放到:

<r2modman 配置目录>\profiles\Default1\BepInEx\plugins\DSPCustomRecipes\DSPCustomRecipes.dll

若是不使用 r2modman 的整合包,则放到游戏目录:

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

二、配置文件

第一次启动游戏后,会自动生成:

BepInEx\config\dsp.customrecipes\recipes.json

(用 r2modman 时位于 %APPDATA%\r2modmanPlus-local\DysonSphereProgram\profiles\Default1\BepInEx\config\dsp.customrecipes\recipes.json)

用记事本 / VSCode 编辑,保存后需要重新启动游戏。文件里允许写 // 和 /* */ 注释。

字段说明

字段 必填 说明
name 否 配方显示名称。留空会自动生成
description 否 配方说明文字
base 否 现有配方的 ID 或名称,作为模板;下面写了的字段会覆盖模板内容
type 否 配方类型:Smelt(冶炼/电弧熔炉)、Chemical(化工)、Refine(精炼)、Assemble(制造台)、Particle(粒子)、Fractionate(分馏)、Research(研究)。也可以直接写中文:冶炼 / 化工 / 精炼 / 制造 / 粒子 / 分馏 / 研究
time 否 单次生产耗时(秒),默认 1 秒
inputs 是 输入物品。数组写法:[{ "item": "铁矿", "count": 2 }],或简写 { "铁矿": 2 }
outputs 是 产出物品,写法同 inputs
handcraft 否 是否出现在复制台(手搓)里,默认 false
unlock 否 always(默认,直接解锁)、none(不自动解锁)、tech:科技名或ID(跟随科技解锁)
icon 否 用哪个物品的图标,默认使用第一个产出物的图标
gridIndex 否 手动指定图标格子,格式 页*1000 + 行*100 + 列,行 1-8、列 1-12,例如 2101

物品可以写中文名(铁矿,与游戏内部名一致)、英文名(Iron Ore,模组会自动读英文语言文件做对照)或物品 ID。

示例 1:完全新增一条配方

{
  "name": "高效冶炼铁块",
  "description": "铁矿 x1 -> 铁块 x2",
  "type": "Smelt",
  "time": 1,
  "inputs":  [ { "item": "铁矿", "count": 1 } ],
  "outputs": [ { "item": "铁块", "count": 2 } ]
}

示例 2:以现有配方为模板(在现有配方上改)

{
  "name": "铁块(快速手搓版)",
  "base": "铁块",      // 复制原版 "铁块" 配方,下面只覆盖要改的部分
  "time": 0.5,
  "handcraft": true
}

示例 3:跟随科技解锁 + 自定义图标

{
  "name": "电路板新工艺",
  "type": "Assemble",
  "time": 2,
  "inputs":  { "铜块": 1, "硅石": 2 },
  "outputs": [ { "item": "电路板", "count": 2 } ],
  "unlock": "tech:改良装配工艺",   // 换成实际存在的科技名称或科技 ID
  "icon": "电路板"
}

三、验证是否生效

  1. 启动游戏,打开 BepInEx\LogOutput.log(r2modman 里可用 “Open Log” 直接打开)。
  2. 搜索 DSP Custom Recipes,正常会看到类似:
[Info : DSP Custom Recipes] 读取到 2 条自定义配方定义:...
[Info : DSP Custom Recipes] 已排队注入自定义配方 [高效冶炼铁块] ID=2xx 类型=Smelt ...
[Info : DSP Custom Recipes] 自定义配方初始化完成:2/2。
[Info : DSP Custom Recipes] (读取存档)已解锁 2 条自定义配方。
  1. 进入游戏后,在电弧熔炉里打开配方选择列表,即可看到“高效冶炼铁块”。

四、常见问题

Q:配方没出现?

  • 检查日志里有没有报错行;找不到物品 表示名字写错了。
  • 检查 type 与建筑是否匹配:冶炼配方只能在电弧熔炉使用,制造配方只能在制造台使用,分馏配方的输入/产出各只能有 1 种物品。
  • 修改配置后必须重启游戏(配置只在启动时读取一次)。

Q:会影响存档吗?

  • 新增配方本身不会破坏存档。但如果之后删掉了配方配置,存档里已经存在的该配方建筑可能变成“未知配方”,建议先清空相关产线再卸载。

Q:多人游戏能用吗?

  • 需要服务器和所有玩家都安装本模组,并且 recipes.json 内容一致,否则配方 ID 可能对应不上。

Q:会和别的模组冲突吗?

  • 配方 ID 和图标格子都会尽量避让其它模组已占用的位置;若日志提示冲突,可手动指定 gridIndex。

Q:想改原版配方而不是新增?

  • 当前版本只做“追加”。可以用 base 复制一条原版配方再改数值,它会和原版配方同时存在。

五、从源码构建

dotnet build .\CustomRecipes\DSPCustomRecipes.csproj -c Release

默认引用:

  • 游戏目录:F:\SteamLibrary\steamapps\common\Dyson Sphere Program\DSPGAME_Data\Managed
  • BepInEx:%APPDATA%\r2modmanPlus-local\DysonSphereProgram\profiles\Default1\BepInEx

可用 /p:GameDir=...、/p:BepInExDir=... 覆盖。