海洋生物群系
基本信息
| 属性 | 值 |
|---|---|
| 源码位置 | climateControl/biomeSettings/OceanBiomeSettings.java |
| 配置分类 | OceanBiome(biomeCategory,:18) |
| 群系数量 | 2 |
| 启用判定 | 恒为启用(biomesAreActive() 直接 return true) |
| 作用对象 | 海洋气候带分配,不含方块/物品 |
功能
OceanBiomeSettings 只定义 1.7.10 的两个海洋群系及其气候带。它被 原版生物群系 单独拆出的原因写在类注释里(:10-13):
This is separate from vanilla settings because vanilla biomes are sometimes removed and replaced but at present that’s not happening with ocean biomes
即:原版陆上群系常被其他 mod 替换掉,海洋群系目前不会,所以单独成类、单独配置。
该分类没有独立的配置开关——biomesAreActive() 无条件返回 true(:58-61),且 biomeSettings() 在组装时无条件第一个加入 oceanBiomeSettings(api/ClimateControlSettings.java:334-335),不像 vanillaBiomeSettings 那样受 VanillaBiomesOn 控制。
数值
| 群系名 | 群系ID | incidence | 分布类型 | 源码行 |
|---|---|---|---|---|
| Ocean | 0 | 100 | ClimateDistribution.OCEAN |
:20 |
| DeepOcean | 24 | 100 | ClimateDistribution.DEEP_OCEAN |
:21 |
两个元素分别由内部类 OceanElement(:42-48)与 DeepOceanElement(:50-56)构造,二者只在父类 Element 构造后调用 setDistribution(...),把分布固定为 OCEAN / DEEP_OCEAN。
incidence 均为 100,是所有生物群系分类中的最高值(对比 原版生物群系 中最大为 Plains / Desert / Ice Plains 的 30)。
交互
setRules()是空实现(:32-35,注释 “nothing yet”)。因此海洋群系不贡献任何村庄规则,也不调用disallowStoneBeach。setNativeBiomeIDs()是空实现(:27-30,注释 “no configs for vanilla biomes”)——海洋群系的 ID 同样从其他 mod 读取。onNewWorld()是空实现(:37-40,注释 “no action”)。- 海洋群系在生成栈中通过
GenLayerRemoveTooMuchOcean(削减过多海洋)与GenLayerDeepOcean/GenLayerContinentalShelf(深海与大陆架)参与,见 GenLayer 生成栈。
相关条目
- 原版生物群系 - 与本分类并列的
VanillaBiome分类 - GenLayer 生成栈 - 海洋层在生成栈中的位置
- 海洋控制参数 - 决定海洋与陆地的比例