生成重做

生成重做

一款基于环境因素(如洞穴、森林和建筑)创建更沉浸式生物生成系统的《我的世界》模组。

怪物

生成系统大修

一个基于环境因素(如洞穴、森林和结构)打造更具沉浸感的生物生成系统的 Minecraft 模组。

功能特性

基于环境的生成机制

该模组不再让生物在各地统一生成,而是根据生成位置的环境来决定生成速率:

  • 基础倍率:配置一个全局适用的生成倍率(默认:0.2x)
  • 洞穴生成:根据深度进行渐进式缩放
    • 浅层洞穴(Y=60):最小倍率(默认:1.0x = 20% 接受率)
    • 深层洞穴(Y=-64):最大倍率(默认:5.0x = 100% 接受率)
    • 越深入,越危险!
  • 森林生成:根据树木密度进行渐进式缩放
    • 稀疏区域:最小倍率(默认:1.0x)
    • 茂密森林/丛林:最大倍率(默认:3.0x)
    • 树木越多 = 危险越大
  • 结构生成:危险结构的生成速率增加(默认:3.0x)
    • 要塞、下界要塞、海底神殿、林地府邸、废弃矿井、地牢

注意: 生成倍率采用基于最高配置倍率的归一化概率接受机制。使用默认设置(maxCaveMultiplier = 5.0)时,参考值为 5.0x:

  • 0.2x 基础倍率 = 4% 接受率(0.2/5.0)
  • 1.0x 浅层洞穴 = 20% 接受率(1.0/5.0)
  • 5.0x 深层洞穴 = 100% 接受率(5.0/5.0)

这形成了鲜明的对比:深层洞穴的生成量比地表高出 25 倍!

生物专属规则

为特定生物配置特殊的生成限制:

  • 蜘蛛仅限洞穴(默认启用)

    • 启用时:蜘蛛和洞穴蜘蛛只在洞穴中生成
    • 禁用时:蜘蛛在各地正常生成
  • 结构附近禁用苦力怕(默认禁用)

    • 启用时:阻止苦力怕在危险结构中生成(防止破坏地形)
    • 禁用时:苦力怕在结构中正常生成

游戏内调试命令

使用 /spawndebug 查看当前位置的生成倍率:

  • 你所在位置的环境检测(洞穴、森林密度、结构)
  • 当前的生成倍率及其范围
  • 将采用哪个倍率(基础、洞穴或森林)
  • 如果生物在此处生成,最终计算出的生成率

这会让你了解生成系统在你所在位置“看到”了什么。

需要管理员权限等级 2(使用 /op <用户名>)

配置

模组会在 config/spawningoverhaul.json5 创建配置文件

访问配置界面

Fabric:

  • 安装 Mod Menu
  • 在主菜单点击“模组”
  • 找到“Spawning Overhaul”并点击配置按钮

NeoForge:

  • 在主菜单点击“模组”
  • 找到“Spawning Overhaul”并点击“配置”

配置选项

环境倍率

选项 默认值 描述
启用沉浸式生成 ✅ 启用 整个系统的总开关
基础倍率 1.0x 全局适用的生成速率
洞穴最小倍率 1.0x 最浅洞穴深度(Y=60)的生成速率
洞穴最大倍率 5.0x 最深深度(Y=-64)的生成速率
森林最小倍率 1.0x 稀疏区域的生成速率
森林最大倍率 3.0x 茂密森林的生成速率
危险结构倍率 3.0x 危险结构中的额外倍率
启用结构修改 ✅ 启用 应用基于结构的生成变化

生物专属规则

选项 默认值 描述
蜘蛛仅限洞穴 ✅ 启用 将蜘蛛限制为仅在洞穴中生成
结构附近禁用苦力怕 ❌ 禁用 阻止苦力怕在结构中生成(防破坏)

检测设置

选项 默认值 描述
茂密森林原木阈值 50 计为茂密森林所需的原木数量
茂密森林扫描半径 10 扫描原木的半径(以方块为单位)

模组兼容性

选项 默认值 描述
额外危险结构 [] 视为危险的模组结构 ID 列表
额外安全结构 [] 视为安全的模组结构 ID 列表

工作原理

生成计算

对于每次生物生成尝试,该模组会执行以下操作:

  1. 检测生成位置的环境(而非玩家的位置):

    • 生成位置是否在洞穴中?深度是多少?
    • 该位置的森林密度如何?(统计附近的原木方块)
    • 生成位置是否在危险结构中?
  2. 计算倍率:

    • 从基础倍率开始
    • 计算洞穴倍率(如在洞穴中)
    • 计算森林倍率(如检测到原木)
    • 选择基础、洞穴或森林中最高的倍率
  3. 应用额外修正:

    • 乘以结构倍率(如在危险结构中)
    • 应用生物专属规则(蜘蛛、苦力怕)
  4. 做出生成决定:

    • 所有倍率均使用归一化到最高配置倍率的概率接受机制
    • 参考最大值根据配置动态计算(洞穴/森林/结构倍率的最大值)
    • 倍率越高 = 接受概率越高 = 生成量越多
    • 示例(使用默认的 5.0x maxCaveMultiplier 参考值):
      • 0.2x → 4% 接受率(非常少的生成)
      • 1.0x → 20% 接受率(减少的生成)
      • 3.0x → 60% 接受率(结构,大量生成)
      • 5.0x → 100% 接受率(深层洞穴,最大生成量)
    • 倍率 = 0.0:始终拒绝生成

性能表现

该模组设计为轻量级:

  • 洞穴检测:简单的 Y 坐标检查 + 天空可见度
  • 森林检测:柱形扫描,垂直方向限制在 ±3 个方块
  • 结构检测:缓存,TTL 为 10 秒
  • 性能影响:每次生成检查平均 <2ms

兼容性

✅ 兼容项

  • 模组生物:自动适用于任何模组的任何生物
  • 模组结构:使用配置列表将模组结构标记为危险/安全
  • 模组生物群系:适用于所有生物群系(原版和模组)
  • 其他生成模组:在原版生成检查之后生效,可与其他模组叠加

⚠️ 已知限制

  • 不影响刷怪笼(仅限自然生成)
  • 不影响事件生成(袭击、Boss 战等)
  • 不影响命令召唤(/summon)
  • 每个区块的首次生成可能因缓存未命中而略微变慢