维度筛选(CCDimensions.cfg)

基本信息

属性 值
配置分类 general()(无自定义分类名)
源码位置 climateControl/api/CCDimensionSettings.java:14-59
设置项数量 2
配置文件 config/ClimateControl/CCDimensions.cfg
配置载体 climateControl.utils.TaggedConfigManager,以 Named.from("CCDimensions.cfg", this) 注册(CCDimensionSettings.java:25-27)
作用对象 Minecraft 现有维度的筛选,不创建新维度

功能

CCDimensionSettings 决定 Climate Control 在哪些原版/模组维度中接管地形生成。它只做筛选——Climate Control 本身不注册任何新维度(grep -rn 'registerWorldProvider' src/ 在整个源码中 0 命中)。

筛选规则(CCDimensionSettings.java:57-59):

public boolean ccOnIn(Integer dimension) {
    return includedDimensions.isIncluded(dimension, excludedDimensions);
}
  • includeDimensions 为逗号分隔的维度 ID 白名单
  • 当 includeDimensions 填 * 时,语义反转为使用 excludeDimensions 黑名单
  • 默认 includeDimensions = "0" → 默认只在主世界(Overworld,dimension 0)生效
  • 默认 excludeDimensions = "-1,1" → 排除地狱(-1)与末地(1)

该判断在出生点处理中被调用:if (!this.dimensionSettings.ccOnIn(dimension)) { if (!DimensionalSettingsRegistry.instance.useCCIn(dimension)) return; }(DimensionManager.java:313-317)。

文件位置由 new TaggedConfigManager("climatecontrol.cfg", "ClimateControl") 决定(ClimateControl.java:80):通用配置为 config/climatecontrol.cfg,各附属配置写入 config/ClimateControl/<名称>.cfg(TaggedConfigManager.java:29-36、:58-62)。

数值

设置项(配置键) 字段 类型 默认值 说明(源码原文/摘要)
includeDimensionIDs includeDimensions String 0 逗号分隔的维度 ID;填 * 表示改用排除列表
excludeDimensionIDs excludeDimensions String -1,1 逗号分隔的维度 ID;仅当包含列表为 * 时使用

字段声明见 CCDimensionSettings.java:16-23。

交互

  • 两个字符串项都注册了变更观察器(informOnChange,:53-54),改动后立即重建 DimensionSet.Include / DimensionSet.Exclude 解析结果(:32-48),无需重启即可生效。
  • 与 综合参数 的 suppressInStandardWorlds 是两个不同层级的开关:后者按世界类型(WorldType)决定是否接管,前者按维度 ID 决定是否接管。两者需同时放行 CC 才会接管。
  • 逐维度的 ClimateControlSettings 覆盖保存在世界存档内的 worldSpecificConfig 目录(ClimateControl.java:229-233 创建目录,:196-197 写入)。

相关条目