云世界生成
基本信息
| 属性 | 值 |
|---|---|
| 世界生成器类 | mods.natura.worldgen.BaseCloudWorldgen |
| 注册位置 | Natura.init(Natura.java:115) |
| 注册权重 | 20 |
| 注册条件 | 无(无条件注册) |
| 云生成器实例数 | 18 |
| 群系开关位 | Natura.DIM_WORLDGEN_CLOUD_BIT = 2 |
| 云方块 | Natura:Cloud(CloudItem) |
功能
BaseCloudWorldgen 在天空中生成漂浮云朵方块。它是三个世界生成器中唯一无条件注册的(Natura.java:115),且是唯一注册位置不缩进在 if 内的。
4 类云 × 4 种尺寸
构造函数据此声明 16 个 CloudGen 字段(worldgen/BaseCloudWorldgen.java:21-38):
| 云类型 | 字段 | 尺寸系列 |
|---|---|---|
| 普通云 | smallcloud / mediumcloud / largecloud / hugecloud |
4 档 |
| 暗云 | smalldarkcloud / mediumdarkcloud / largedarkcloud / hugedarkcloud |
4 档 |
| 灰烬云 | tinyashcloud / smallashcloud / mediumashcloud / largeashcloud / hugeashcloud |
5 档 |
| 硫磺云 | tinysulfurcloud / smallsulfurcloud / mediumsulfurcloud / largesulfurcloud / hugesulfurcloud |
5 档 |
普通云与暗云各 4 档,灰烬云与硫磺云各 5 档,合计 18 个字段声明。
云方块
CloudBlock 设置脚步声为 soundTypeCloth(blocks/CloudBlock.java:23),并覆写 damageDropped(:109)。其 damageDropped 的具体返回值需查看该方法实现才能确定,此处不作推断。
数值
| 数值名 | 值 | 来源 |
|---|---|---|
| 世界生成权重 | 20 | Natura.java:115 |
| 云开关位 | 2 | Natura.java:106 |
| 普通云稀有度 / 高度 / 范围 | 10 / 192 / 48 | PHNatura.java:120-122 |
| 暗云密度 / 高度 / 范围 | 10 / 64 / 256 | PHNatura.java:123-125 |
| 硫磺云稀有度 / 高度 / 范围 | 8 / 40 / 78 | PHNatura.java:126-128 |
| 灰烬云稀有度 / 高度 / 范围 | 8 / 40 / 78 | PHNatura.java:129-131 |
配置项命名异常
PHNatura.java:124 的暗云高度项配置键名与实际变量不符:
darkCloudSpawnHeight = config.get(catWorldgen, "Dark Cloud Spawn MinX", 64).getInt(64);
配置键写作 Dark Cloud Spawn MinX(疑似复制粘贴遗留),而变量名为 darkCloudSpawnHeight,默认值为 64(并非 PHNatura.java:151 附近的 256)。撰写配置时应以键名为准。
维度黑名单
三类云各自有独立的维度黑名单配置(PHNatura.java:152-154),默认均为空数组:
| 变量 | 配置键 |
|---|---|
darkCloudBlacklist |
dimension blacklist(dark clouds) |
cloudBlacklist |
dimension blacklist(clouds) |
sulfurCloudBlacklist |
dimension blacklist(sulfur clouds) |
配置位于 worldgen 分类,类型为整数列表(getIntList())。
注意:没有灰烬云的维度黑名单配置项。
生成开关
位于 disabler 分类(PHNatura.java:51-54),全部默认 true:
| 开关 | 默认值 |
|---|---|
Generate Overworld Clouds |
true |
Generate Sulfur Clouds |
true |
Generate Ash Clouds |
true |
Generate Dark Clouds |
true |
逐维度开关
与另两个生成器一致,generate 首先检查 DIM_WORLDGEN_CLOUD_BIT(值为 2),未启用则直接返回。位掩码定义见 Natura.java:105-107。