upgrades.cfg(升级件配置)
基本信息
| 属性 | 值 |
|---|---|
| 文件 | assets/gendustry/config/upgrades.cfg(303 行) |
| 落地位置 | <游戏目录>/config/gendustry/upgrades.cfg |
| 加载方式 | files.lst 第 3 行 |
cfg Upgrades 段 |
21 个升级件定义(:4-151) |
recipes 块 |
8 个(:154-264)+ 1 个 BIOME OVERRIDES 块(:266-304) |
| 文件头注释 | 指向 http://bdew.net/gendustry/configuration/apiary-upgrades/ |
结构
文件分两大部分:先是数据段 cfg Upgrades { ... },定义每个升级的 id / max / 修正器;再是配方段,用 S:gendustry:"upgrade.<name>" 引用。
数据段的 4 个键语义:
| 键 | 类型 | 说明 |
|---|---|---|
id |
整数 | 物品伤害值,同时是 ItemApiaryUpgrade 的 meta |
max |
整数 | 同类升级最多可安装件数 |
energy *= 1.2 等 |
EntryModifier |
数值修正器,运算符支持 *= /= += -= |
sealed = Y / biomeOverride = Hell |
EntryStr |
布尔 / 字符串修正器 |
21 个升级的 ID 分布
| ID | cfg 名 | ID | cfg 名 | ID | cfg 名 |
|---|---|---|---|---|---|
| 0 | prod |
8 | 未使用 | 15 | sieve |
| 1 | life |
9 | 未使用 | 16 | desert |
| 2 | flowering |
10 | sealing |
17 | plains |
| 3 | territory |
11 | light |
18 | jungle |
| 4 | humidifier |
12 | sky |
19 | stabilizer |
| 5 | dryer |
13 | hell |
20 | winter |
| 6 | heater |
14 | auto |
21 | ocean |
| 7 | cooler |
22 | scrubber |
ID 8 与 9 是空洞 —— 配置从 7 直接跳到 10,属上游预留。
scrubber 的 ID 是 22,追加在文件末尾(:145-150),不在 ID 顺序位置上。
配方块的分配
recipes 块 |
行范围 | 产出 |
|---|---|---|
| 主块 | 154–167 | auto |
| 嵌套块(彩色) | 169–182 | flowering、sky |
| 嵌套块(丝黄蜂) | 184–194 | sieve、scrubber |
| 嵌套块 | 196–202 | sealing |
| 嵌套块 | 204–210 | light |
| 嵌套块 | 212–219 | prod |
| 嵌套块 | 221–231 | life、territory |
| 嵌套块 | 233–239 | stabilizer |
| 嵌套块 | 241–262 | dryer、humidifier、heater、cooler |
| BIOME OVERRIDES | 266–304 | hell、desert、jungle、plains、winter、ocean |
同一 recipes 块内可定义多条配方,变量(R / I / S / L / B / A / X)在该块内共享;嵌套块各自独立定义所需变量。
运行时加载
Upgrades.init()(machines/apiary/upgrades/Upgrades.scala)在 init 阶段被 Gendustry.scala:130 调用:
- 遍历
Tuning的Upgrades段全部ConfigSection - 读
id与max构建Upgrade(id, name, maxNum, mods) - 每个修正器按类型分派到
makeStrMod(字符串 / 布尔)或makeNumMod(数值) GameRegistry.registerCustomItemStack("upgrade." + name, new ItemStack(ItemApiaryUpgrade, 1, id))- 存入
Upgrades.map
严格的修正器名白名单:写错名字会直接 sys.error 让游戏崩溃,而不是忽略。
| 数值修正器(9 个) | 字符串 / 布尔修正器(6 个) |
|---|---|
lifespan / territory / mutation / production / flowering / geneticDecay / energy / temperature / humidity |
sealed / selfLighted / sunlightSimulated / automated / collectingPollen / biomeOverride |
注意 production / flowering / lifespan / territory / energy 等是可被升级修改的 ApiaryModifiers 字段,而 mutation 与 geneticDecay 同样可改,只是本文件的 21 个升级都没用到 mutation。
Upgrades.map 里的 mod(v, num) 会把数量截断到 maxNum(if (num > maxNum) maxNum else num),因此堆叠溢出不会导致修正超发。
相关条目
- Apiary Upgrade - 物品本体与 tooltip 逻辑
- 产量与繁殖升级 - 6 种
- 环境调节升级 - 7 种
- 生物群系模拟升级 - 6 种
- 自动化升级 - 2 种