自然生成

自然生成

使用你的规则重新生成植被和/或树木!

生物群系

NatureGen

NatureGen 是一款为 Minecraft Forge 设计的轻量级、JSON 驱动的生态世界再生模组。

依赖 Helix UI!

它能在不扫描整个世界的条件下,恢复活跃玩家周围的自然方块,让草地、小型植被以及受控的树苗恢复在游戏过程中逐步且安全地发生。

NatureGen 被设计为一个可配置的世界恢复系统:它不会随处乱刷植物。每条再生规则都受到生物群系、地面类型、光照等级、天空可见度、附近母体方块、随机概率以及局部密度上限等条件的限制。


功能特性

世界再生

NatureGen 会在活跃玩家周围定期执行再生扫描。

当前默认的恢复系统包括:

  • 从泥土和砂土恢复草方块
  • 在有效的自然地面上恢复小型草丛和蕨类植物
  • 在现有母树附近散布树苗
  • 生物群系感知的树木恢复
  • 密度限制的树苗放置
  • 安全的天空与光照检查
  • JSON 可配置规则

受控的树木恢复

树木恢复被有意设计得较为保守。

树苗不会在整个世界中随机放置。它们需要满足以下条件:

  • 有效的生物群系类别
  • 自然地面
  • 目标方块上方为空气
  • 可见的天空
  • 足够的光照
  • 附近有匹配的原木或树叶
  • 较低的概率随机判定
  • 一个 max_nearby 密度限制

这可以防止森林无限蔓延或用树苗填满整个世界。

默认的树木恢复规则包括:

  • 森林生物群系中的橡树 / 白桦树苗
  • 针叶林生物群系中的云杉树苗
  • 丛林生物群系中的丛林树苗
  • 热带草原生物群系中的金合欢树苗
  • 沼泽生物群系中的橡树苗

游戏内浮层菜单

NatureGen 包含一个游戏内的配置浮层。

在进入世界后按下已配置的按键即可打开 NatureGen 浮层菜单。

默认按键:

N

该浮层提供以下快捷访问功能:

  • 总开关控制
  • 再生扫描频率
  • 激活的再生规则
  • 单条规则的启用 / 禁用开关
  • 概率调整
  • 密度限制调整
  • 树木恢复预设
  • 规则重载工具
  • 日志记录状态

按键绑定可以在以下位置更改:

选项 → 控制 → NatureGen

再生规则编辑器

游戏内浮层会列出来自以下路径的所有激活再生规则:

config/takesome/natureregen/generators.json

每条规则都可以直接从浮层中检查和编辑。

支持的可编辑值包括:

  • 启用 / 禁用状态
  • 概率值
  • 使用 max_nearby 的规则的密度限制

禁用的规则会以以下格式存储在 JSON 中:

"enabled": false

JSON 驱动规则

NatureGen 规则以 JSON 格式存储,可以手动编辑或通过游戏内浮层编辑。

示例规则:

{
  "id": "forest_sapling_scatter",
  "target": {
    "random": [
      "minecraft:oak_sapling",
      "minecraft:birch_sapling"
    ]
  },
  "place": "above_ground",
  "conditions": {
    "biome_category": ["forest"],
    "ground_is": [
      "minecraft:grass_block",
      "minecraft:dirt",
      "minecraft:podzol"
    ],
    "air": true,
    "sky_visible": true,
    "min_light": 9,
    "nearby": {
      "blocks": [
        "minecraft:oak_log",
        "minecraft:birch_log",
        "minecraft:oak_leaves",
        "minecraft:birch_leaves"
      ],
      "radius": 8,
      "vertical_radius": 8
    },
    "max_nearby": {
      "blocks": [
        "minecraft:oak_sapling",
        "minecraft:birch_sapling",
        "minecraft:spruce_sapling",
        "minecraft:jungle_sapling",
        "minecraft:acacia_sapling"
      ],
      "radius": 12,
      "vertical_radius": 2,
      "max": 3
    },
    "chance": 0.018
  }
}

支持的规则条件

NatureGen 目前支持以下条件:

  • chance
  • ground_is
  • block_below
  • air
  • air_above
  • min_light
  • sky_visible
  • nearby
  • max_nearby
  • density_limit
  • biome
  • types
  • biome_category
  • biome_categories

命令

NatureGen 也提供基于命令的控制方式:

/naturegen status
/naturegen reload
/natureregen status
/natureregen reload

手动编辑 JSON 规则文件后,使用 /naturegen reload 重载。


配置文件

主服务器配置文件:

config/naturegen-server.toml

再生规则文件:

config/takesome/natureregen/generators.json

依赖项

NatureGen 依赖 Helix UI 库。

Helix UI 是游戏内浮层菜单、模组配置界面、视觉控件以及 FontAwesome 风格 UI 图标所必需的。

必需依赖项:

Helix UI

请确保 Helix UI 与 NatureGen 一同安装。是的,目前只有这一个模组使用该库,但以后会有更多模组使用它 :3


设计目标

NatureGen 围绕以下几个核心原则构建:

  • 逐步地再生世界
  • 避免激进的世界刷物
  • 保持所有再生数据驱动
  • 让恢复规则易于理解和编辑
  • 提供安全的默认值
  • 支持无需重启世界的游戏内调整
  • 保持原版 Minecraft 风格的自然推进
  • 在真实模组上测试 Helix UI ;)

性能表现

NatureGen 不会扫描整个世界。

相反,它会在可配置的间隔内,对活跃玩家周围的有限数量的位置进行采样。这保证了系统的轻量性,并避免了不必要的区块级处理。

默认行为被调整为保守且对正常游戏安全的设置。


推荐用途

NatureGen 适用于以下场景:

  • 生存世界
  • 长时间运行的服务器
  • 灾后恢复
  • 自然恢复系统
  • 具有生态或生存主题的整合包
  • 玩家希望环境逐步愈合的世界

当前限制

  • 深色橡木恢复默认未启用,因为自然深色橡木生长需要 2x2 树苗阵列。
  • 某些生物群系类型的支持目前通过原版生物群系类别进行映射。
  • 高级世界生成类型的系统被有意排除在外;NatureGen 专注于运行时的生态恢复。

总结

NatureGen 为 Minecraft 增加了受控、可配置且安全的世界再生功能。

它帮助世界随着时间的推移自然恢复,同时不会过度改变地貌,并通过 JSON 规则和游戏内 Helix UI 浮层给予玩家和整合包作者完全的控制权。

未来的版本中可能会添加对 Dynamic Trees 的支持。