冰火传说-龙巢修复

冰火传说-龙巢修复

IAF 龙巢修复

IAF Dragon Den Fix(冰与火龙巢修复)

一个轻量级的 Forge Mixin 模组,修复了冰与火模组(Ice and Fire)的龙穴(Dragon Dens)和龙巢(Dragon Roosts)在可加载区块范围外生成时导致的服务器/客户端崩溃问题。

问题描述

冰与火模组的龙穴和龙巢在世界生成时,会在较大半径范围内(洞穴约 30 格以上,龙巢约 20 格以上)放置方块。当这些结构在世界边界或区块加载边界附近生成时,生成代码会尝试访问 WorldGenRegion 缓存中未加载的区块,抛出 RuntimeException: We are asking a region for a chunk out of bound 异常,并导致存档损坏。

工作原理

该模组使用 Mixin 拦截 WorldGenRegion 中的两个方法:

  • getBlockState —— 当某个要素尝试从区域缓存外的区块读取方块时,返回空气而非崩溃。
  • addFreshEntity —— 当目标位置位于可用区块之外时,静默取消实体生成(例如龙本身)。

龙穴和龙巢仍会正常生成。只有超出已加载区域的部分会被优雅地截断。不会有任何结构被跳过,且普通世界生成(树木、矿石等)完全不受影响。

安装方法

将 iafdragonfix-1.0.0.jar 放入模组文件夹(mods folder)中。

需求

  • Minecraft 1.20.1
  • Forge 47+

兼容性

  • 已测试与冰与火模组 2.1.13-1.20.1-beta-5 兼容
  • 不修改冰与火模组本身——兼容其他 IAF 附属模组
  • 可随时安全添加或移除