easyMode(简单模式)
基本信息
| 属性 | 值 |
|---|---|
| 配置键 | B:easyMode(category general) |
| 类型 | 布尔 |
| 默认值 | false(CommonProxy.java:91-95) |
| 读取阶段 | postInit |
| 唯一效果 | 改变聚合配方的产出数量 |
作用
只影响 Eternal Singularity 聚合配方的产物堆叠数:
new ItemStack(EternalSingularityItem.instance,
easyMode ? MathHelper.clamp_int(compoundMax, 1, 64) : 1)
(CommonProxy.java:99-101)
easyMode |
产出 |
|---|---|
false(默认) |
1 个永恒奇点 |
true |
16 个(clamp_int(compoundMax=16, 1, 64) = 16) |
对复合奇点的 9 合 1 配方无影响 —— 那些配方输出恒为
new ItemStack(compoundSingularityItem, 1, i)(CommonProxy.java:109),
永远是 1 个。
配置注释与实现不符
配置注释原文(CommonProxy.java:95):
for Every 9 Singularities Used in the Eternal Singularity Recipe, You will Receive an Additional Eternal Singularity for the Recipe Output.
按注释理解,9 个奇点应多得 1 个,16 个奇点应多得 1 个。
但代码是固定产出 16(compoundMax 的值),与输入的奇点数量无关。
即 easyMode 实际是「一次合成给 16 个」而非「每 9 个多给 1 个」。
以代码为准:产出 16。 引用配置注释推断倍率会得出错误结论。
已知源码问题
- 注释误导(行 95):如上,描述的倍率机制与实现不符。 玩家按注释预期「16 奇点 → 2 个」会与实际的 16 个不符。
- 倍率不随输入缩放:
easyMode是布尔而非倍率数值, 奇点数量从 9 涨到 144 时产出始终是 16,平衡性无法通过配置调节。 - 配置读取晚于早退判定:若
classSet.isEmpty() || craftingOnly(CommonProxy.java:67),postInit 在读easyMode之前就 return, 该配置项完全不被读取,也不落盘。 - clamp 恒不生效:
MathHelper.clamp_int(compoundMax, 1, 64)中compoundMax是硬编码 16(行 97),恒在 [1,64] 内, clamp 不会改变结果。同 复合奇点模式 中的同类冗余。
相关条目
- Eternal Singularity - 受影响的配方产物
- useCompoundSingularities - 同一段代码中的另一个开关
- 无限催化剂配方替换 - 配方的创建位置
- 复合奇点模式 - 不受 easyMode 影响的 9 合 1 配方