综合参数(Assorted Parameters)

基本信息

属性 值
配置分类 Assorted Parameters
源码位置 climateControl/api/ClimateControlSettings.java:126(分类定义),设置项分布于 :128-206 与 :267-306
设置项数量 27
配置载体 Forge Configuration,写入 config/climatecontrol.cfg
作用对象 生成行为开关、缓存、外部生物群系包与各世界类型接管策略,不是方块/物品

功能

Assorted Parameters(climateControlCategory,ClimateControlSettings.java:126)是 Climate Control 设置量最大的分类,混合了三类互不相关的开关:

  1. 生成行为总开关:noGenerationChanges、oneSixCompatibility、vanillaLandAndClimate、smootherCoasts
  2. 数值微调:河流、海滩、蘑菇岛、出生点抢救等
  3. 外部模组与各世界类型的接管策略:interveneInBOPWorlds、interveneInHighlandsWorlds、noBoPSubBiomes、suppressInStandardWorlds,以及 externalBiomeNames

它没有分类描述文本(category("Assorted Parameters") 只给了名字),所以各设置项的说明只能取自各自的 comment 字符串。

数值

设置项(配置键) 字段 类型 默认值 说明(源码原文/摘要)
Allow Derpy Islands allowDerpyIslands Boolean false 把小岛放在近岸而非深海中
maxChasm maxRiverChasm Double 10.0 允许生成河流的最大高度值;10.0 全放行,0.75 只 plains 无 hills
TestingMode testingMode Boolean false 加入测试例程并在可疑情况下崩溃
0.5 generation zeroPointFive Boolean true 使用更随机的生成器、更良好的河流、更大的稀有气候
Biome Size biomeSize Integer 4 生物群系尺寸(指数):4 为常规,6 为大型生物群系
No Generation Changes noGenerationChanges Boolean false 视作未安装 CC 生成;用于加载旧世界或避免区块边界
Smoother Coastlines smootherCoasts Boolean true 增加平滑步数,同时略微收缩异常生物群系;改动会产生偶发区块墙
VanillaLandAndClimate vanillaLandAndClimate Boolean false 生成类似原版 1.7 的陆块与气候带
1.6Compatibility oneSixCompatibility Boolean false 使用 1.6 兼容模式
climateRingsNotSaved climateRingsNotSaved Integer 3 边缘不保存气候;-1 关闭气候保存
biomeRingsNotSaved biomeRingsNotSaved Integer 3 边缘不保存生物群系;大于 3 无效果;-1 关闭保存
subBiomeRingsNotSaved subBiomeRingsNotSaved Integer -1 边缘不保存次级生物群系;默认 3,-1 关闭保存
Mushroom Island Incidence mushroomIslandIncidence Integer 10 千分之一;原版为 10
PercentRiverReduction percentageRiverReduction Integer 0 阻止的河流百分比;改动会在部分河流处产生区块边界
WiderRivers widerRivers Boolean false 开启后河流为三格宽
WideBeaches wideBeaches Boolean false 开启后海滩为两格宽
controlVillageBiomes controlVillageBiomes Boolean false 由 CC 决定村庄生成的生物群系;可能与村庄类模组冲突
cacheSize cacheSize(private) Integer 0 缓存的区块生物群系布局数;超过 500 被忽略,0 或更小关闭缓存
rescueLimit rescueSearchLimit Integer -1 出生点抢救的最大尝试次数;负数表示无限制
Mesas for mesa borders mesaMesaBorders Boolean false 台地边缘使用红沙;false 则像原版一样用 desert
VanillaBiomesOn vanillaBiomesOn Boolean true 在世界中包含原版生物群系
alterHighlandsWorlds interveneInHighlandsWorlds Boolean false 在 Highlands 世界类型上强制使用 CC 生成
NoBoPSubBiomes noBoPSubBiomes Boolean false 抑制 BoP 次级生物群系生成
alterBoPWorlds interveneInBOPWorlds Boolean false 在 Biomes o’ Plenty 世界类型上强制使用 CC 生成
suppressInStandardWorlds suppressInStandardWorlds Boolean false 在 default、large biomes、amplified 世界中抑制 CC 生成
forceStartContinent forceStartContinent Boolean true 在原点附近强制生成一小块大陆
externalBiomeNames externalBiomeNames String ""(空) 逗号分隔的外部生物群系名;改动后须重启 MC;不在列表中的名字不会从配置移除但不起作用

字段声明见 ClimateControlSettings.java:128-206、:267-306;显示名常量见同文件 :35-67、:75-77。

交互

  • noBoPSubBiomes 通过派生方法 doBoPSubBiomes() 返回其取反(:297-299),生成栈中以该方法判断是否执行 BoP 次级生物群系。
  • controlVillageBiomes = true 时,AbstractWorldGenerator.setRules() 会把收集到的村庄生物群系写入 Minecraft 的静态字段 MapGenVillage.villageSpawnBiomes(generator/AbstractWorldGenerator.java:91-93)。详见 村庄生物群系。
  • cacheSize 的 note 有一处源码级不一致:cachingOn() 被硬编码为 return true;(:208-210),其后的原始判断 {return cacheSize.value() > 0;} 已被注释掉。因此 cacheSize() 永远返回 min(cacheSize, 500)(:212-217),把 cacheSize 设为 0 实际不会关闭缓存。
  • suppressInStandardWorlds 与 interveneInBOPWorlds / interveneInHighlandsWorlds 一起决定 DimensionManager.ignore() 的分支走向,详见 世界类型接管。
  • externalBiomeNames 为空字符串时 ExternalBiomeSettings 对象保持为 null、不参与设置(:391-395)。注意 ExternalBiomePackage 本身没有被注册——ClimateControl.java:87 的 BiomePackageRegistry.instance.register(externalBiomesPackage); 处于注释状态(:86 注释为 “trying to set it up in ClimateControlSettings instead”)。

无法核实的项

以下 5 个 name 常量在 ClimateControlSettings 中声明后从未被引用(每个仅 1 次命中 = 声明本身),因此不存在对应的配置项:

常量 字面值 声明位置
moreOceanName More Ocean ClimateControlSettings.java:36
highlandsBiomesOnName HighlandsBiomesOn ClimateControlSettings.java:47
bopBiomesOnName BoPBiomesOn ClimateControlSettings.java:48
thaumcraftBiomesOnName ThaumcraftBiomesOn ClimateControlSettings.java:49
oneSixExpansionName 1.6Expansions ClimateControlSettings.java:56

复现命令:grep -c 'moreOceanName' src/main/java/climateControl/api/ClimateControlSettings.java → 1。

同名但真实存在的配置项在各自的 BiomeSettings 中:HighlandsBiomesOn(biomeSettings/HighlandsBiomeSettings.java:336)、BoPBiomesOn(biomeSettings/BoPSettings.java:334)、ThaumcraftBiomesOn(biomeSettings/ThaumcraftBiomeSettings.java:50)。

此外 highlandsBiomesOn 字段(ClimateControlSettings.java:271)是 new Mutable.Concrete<Boolean>(false) 而非配置项,因此不出现在 cfg 文件中。它唯一的写入点是包内的 highlandsOnTracker.accept()(:272-277),而 highlandsOnTracker 本身在全仓库无任何引用(grep -rn 'highlandsOnTracker' src/ 仅命中声明处)——该字段是 package-private,climateControl.biomeSettings 包无法访问它。因此 highlandsBiomesOn 实际上恒为 false。真正生效的 Highlands 开关是 HighlandsBiomeSettings.biomesFromConfig(biomeSettings/HighlandsBiomeSettings.java:336-338,默认 false)。

相关条目