海洋生物群系

基本信息

属性 值
源码位置 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 生成栈。

相关条目