TFC Regrowing Forests

TFC Regrowing Forests

使TerraFirmaCraft世界中的森林缓慢蔓延。

游戏机制

这个模组让 TerraFirmaCraft 中的森林能够随着时间推移再生或蔓延。树木只在秋季蔓延,因为这是它们通常掉落带籽果实的时节,因此新树将在次年春季准备就绪。哪些树种可以蔓延或再生,可以通过数据包进行配置,同时也可以配置种子蔓延的速度和距离。

开箱即支持 ArborFirmaCraft。

森林再生配方

再生配方定义了植物、灌木和树木如何在世界中自然蔓延和再生。与静态世界中树木或植被不蔓延不同,每个配方都规定了树苗(或其他指定方块)出现的条件,使森林、植被和世界感觉更生动、更具交互性,并能对周围环境做出响应。

该模组为 TFC 的树叶、果树树叶和果灌木添加了蔓延机制。

特性

  • 动态森林生长 树叶或灌木可以随着时间蔓延为新的树苗,模拟自然再生。

  • 环境感知生成 生长可受到岩石类型、海拔范围和光照水平的限制。

  • 气候敏感性 配方可以强制设定温度和降雨阈值,包括平均值和方差。

  • 地下水与水分检查 植物仅在合适的土壤条件下蔓延。

  • 森林类型集成 配方可以绑定到特定的森林类型和亚类型。

  • 季节性控制 再生可以限制在一年中的特定月份。

  • 几率与蔓延距离 可配置的概率和半径决定了树苗出现的频率和距离。

最小可行配方

以下是仅包含必填字段的最小有效配方定义:

{
  "type": "tfcrf:regrowth",
  "leaves": [
    "<方块配料>"
  ],
  "sapling": "<方块状态>"
}

这确保了配方的功能。默认情况下,几率、蔓延距离、环境、气候、地下水、森林和季节均无限制地允许再生。只有在你想将生长限制在特定条件时,才需要添加额外字段。

示例配方

以下是一个更详细的橡树配方,展示了如何将再生限制在特定条件下。这使用了 TFC 中橡树生成所需的既定环境条件:

{
  "type": "tfcrf:regrowth",
  "leaves": [
    "tfc:wood/leaves/oak"
  ],
  "sapling": "tfc:wood/sapling/oak",
  "chance": 4572,
  "spread_distance": 19,
  "rocks": [],
  "min_y": 60,
  "max_y": 85,
  "min_light": 11,
  "max_light": 15,
  "min_average_temperature": -5.8,
  "max_average_temperature": 8.6,
  "min_rainfall_variance": -0.3,
  "max_rainfall_variance": 0.45,
  "min_groundwater": 210,
  "max_groundwater": 380,
  "forest_types": [],
  "forest_sub_types": [],
  "months": [
    "january",
    "february",
    "march",
    "april",
    "may",
    "june",
    "july",
    "august",
    "september",
    "october",
    "november",
    "december"
  ]
}

可能的配方对象

再生配方可以包含以下对象。只有 leaves 和 sapling 是严格必需的;其他所有字段均为可选,如果省略则默认为允许值。

基础数据

  • leaves:一个或多个可以蔓延为树苗的树叶方块。
  • sapling:条件满足时放置的树苗的方块状态。
  • chance:再生几率因子。数字越大意味着事件越稀有。默认值:3000.0。
  • spread_distance:新树苗可出现在源树叶水平方向的最大距离。默认值:18.0。

环境数据

  • rocks:允许的岩石类型列表。使用小写名称("andesite"、"gabbro"、"gneiss" 等)。空列表表示无限制。
  • min_y:最低海拔(Y 坐标)。默认值:无限制。
  • max_y:最高海拔(Y 坐标)。默认值:无限制。
  • min_light:最低光照水平。默认值:无限制。
  • max_light:最高光照水平。默认值:无限制。

气候数据

  • min_temperature:最低当前温度。默认值:无限制。
  • max_temperature:最高当前温度。默认值:无限制。
  • min_average_temperature:最低平均温度。默认值:无限制。
  • max_average_temperature:最高平均温度。默认值:无限制。
  • min_rainfall:最低当前降雨量。默认值:无限制。
  • max_rainfall:最高当前降雨量。默认值:无限制。
  • min_average_rainfall:最低平均降雨量。默认值:无限制。
  • max_average_rainfall:最高平均降雨量。默认值:无限制。
  • min_rainfall_variance:容忍的最低降雨量方差。默认值:无限制。
  • max_rainfall_variance:容忍的最高降雨量方差。默认值:无限制。

地下水数据

  • min_groundwater:所需的最低地下水位。默认值:无限制。
  • max_groundwater:允许的最高地下水位。默认值:无限制。
  • min_hydration:所需的最低土壤水分。默认值:无限制。
  • max_hydration:允许的最高土壤水分。默认值:无限制。

森林数据

  • forest_types:将再生限制在特定的森林类型。空列表表示无限制。完整列表请参阅 ForestType。
  • forest_sub_types:将再生限制在特定的森林亚类型。空列表表示无限制。完整列表请参阅 ForestSubType。

季节数据

  • months:允许再生的月份列表。使用小写名称("january"、"february" 等)。空列表表示无限制。完整列表请参阅 Month。

总结

  • 至少,一个配方需要 leaves 和 sapling。
  • 所有其他字段都允许你通过环境、气候、地下水、森林类型或季节来限制再生。
  • 默认值具有宽容性(无限制、无限范围),因此你只需在想要限制再生时添加字段。