Nonprofit’s Chunky Pregenerator
一款 Fabric 模组,可使用 Chunky 自动预生成玩家周围的区块。支持螺旋式批次生成、移动触发、批次中途继续、Voxy 集成,以及 TPS 过低时自动暂停。
截图
介绍

一款适用于 Minecraft 1.21.11 的 Fabric 模组,使用 Chunky 作为生成后端,自动为玩家预生成周围区块。完全在后台运行,即使在螺旋生成过程中重启也能继续,并且支持单人游戏和专用服务器。
使用 Claude 氛围编程。采用 MIT 许可证。没错,它打磨得非常完善,Bug 也少之又少。
DH 的预生成器只会以世界中心为基准、在固定半径内运行一次。它不会追踪玩家实际前往的位置,无法根据玩家移动调整,也不会优先生成附近地形而非远处地形,更不会在服务器性能吃紧时暂停。启动之后,就没有后续了。
本模组会以玩家的实际位置为中心,沿着不断扩大的螺旋环进行生成。离玩家最近的地形总是优先生成。当玩家距离上次生成中心足够远时,模组会自动启动新的一轮生成,并以玩家的新位置为中心。如果生成过程中服务器 TPS 大幅下降,模组就会通知 Chunky 暂停,等待性能恢复;恢复后便会继续生成。如果你在螺旋生成过程中退出,模组会准确保存当前所在的环,并在你重新加入时从那里继续。Chunky 会自动跳过环内已生成的区块,因此最多只会损失当前环中尚未完成的部分。
此外,每轮生成开始时,模组会短暂扩大再缩小渲染距离,强制 Voxy 重建 LOD。否则,Voxy 不会将新预生成的地形登记为 LOD 数据,除非有其他操作触发重建。
螺旋分批生成 — 每轮生成会按照二次缓入曲线拆分为多个同心环。玩家附近的环间距更小,越往外间距越大,更贴合实际探索方式。Chunky 会自动跳过每个环内已生成的区块,因此重叠的环几乎不会造成额外开销。
移动触发重新居中 — 玩家与上次生成中心的距离超过死区距离后,模组会以玩家的新位置为中心启动新一轮生成。默认死区为生成半径的一半,因此无论你前往何处,前方始终有一片预生成地形作为缓冲。
重新加入后继续当前批次 — 每次保存时,模组都会将环索引、环列表和中心位置写入世界数据文件夹。重新加入并经过加入延迟后,模组会重新启动当前环的生成。Chunky 会自动跳过已完成的部分。
TPS 自动暂停 — 服务器 TPS 低于阈值(默认 15 TPS)时,Chunky 会暂停;TPS 恢复后(默认 18 TPS)则继续生成,避免生成任务加剧性能问题。
Voxy LOD 集成 — 启用后,生成半径和死区会跟随 Voxy 实际的渲染距离设置,而非静态配置值。模组会通过反射实时读取 Voxy 配置;如果反射失败,则改用 JSON 解析。此外,每轮生成开始时都会触发一次 Voxy LOD 重建(扩大并缩小渲染距离),让刚生成的地形无需等待就能显示在 LOD 中。
Chunky API 轮询 — 完成状态检测通过反射调用 Chunky 的实际 ChunkyAPI.isRunning() ,而非依赖日志解析或计时器。Chunky 真正完成后会立即进入下一环。只有连续两次检测结果为未完成时才会推进,以避免新任务启动后短暂窗口期内的误判。
卡顿监视器 — 如果 Chunky 完全没有响应(没有 isRunning()=true 读数)持续 10 分钟,监视器就会重置状态,避免任务永远卡住。它统计的是实际卡顿时长,而非总运行时间,因此持续数小时的正常生成不会触发重置。
每会话进度转发 —已抑制 Chunky 每秒刷屏的日志,改为按可配置的间隔发送简洁的进度摘要。
下界自动缩放 —自动将下界生成半径除以 8,以匹配坐标比例。主世界 250 区块的半径在下界中约为 31 区块。
末地门槛 —只有玩家实际进入过末地后,才会开始预生成。玩家首次进入时,末地传送门会生成末影龙;你肯定不希望它在预生成时于屏幕外出现。
Sodium 设置界面 —所有设置都集中在 Sodium 视频设置的专属页面中,并提供实时提示,显示 Voxy 实际读取到的渲染距离。
服务器与单人游戏 —支持专用服务器和单人游戏的集成服务器。客户端模组(Sodium、Voxy)为可选。
| 依赖项 | 必需 | 备注 |
|---|---|---|
| Fabric Loader | 是 | 0.19.3 及以上 |
| Fabric API | 是 | 任意 1.21.11 版本 |
| Chunky | 是 | 1.4.55 及以上 |
| Sodium | 客户端 | 游戏内设置界面 + LOD 重建周期(专用服务器不需要) |
| Voxy | 可选 | 可让 Voxy 的渲染距离驱动生成半径 |
Chunky-Offline 建议在单人游戏中与 Chunky 一起安装。它能让 Chunky 在世界加载期间持续运行。
如果没有 Voxy,模组会使用配置中的静态 generationRadius 和 triggerDistance 。
将 jar 文件放入你的 mods/ 文件夹。配置文件会在首次启动时生成于 config/chunkypregen.json。如果已安装 Sodium,所有设置都位于 选项 > 视频设置 > Chunky Pregenerator。在游戏内使用 /chunkypregen reload 重新加载配置。
| 设置 | 默认值 | 备注 |
|---|---|---|
| 生成半径 | 250 区块 | 4000 格半径 |
| 死区 | 2000 格 | 250 区块 × 16 的一半 |
| Voxy 集成 | 关闭 | 启用后,Voxy 的渲染距离将驱动生成半径 |
| 跳过创造模式玩家 | 关闭 | 创造模式玩家会计入移动触发条件 |
| 下界自动缩放 | 开启 | 下界半径 = 全局半径 / 8 |
| TPS 自动暂停 | 开启 | TPS 降至 15 时暂停,升至 18 时恢复 |
| 螺旋生成 | 开启 | 二次缓入环形曲线 |
| 末地预生成 | 关闭 | 仅在玩家进入末地后触发 |
| 加入延迟 | 15 秒 | 留出时间,让 Chunky-Offline 和 Sodium 先完成初始化 |
| 进度转发 | 每 5 分钟 | 取代 Chunky 每秒刷屏的日志 |
| 调试模式 | 关闭 |
均需 OP 等级 2。
| 命令 | |
|---|---|
/chunkypregen status |
查看各维度状态、当前环、上次中心位置和实时进度 |
/chunkypregen trigger |
手动为所有已启用的维度启动一组生成任务 |
/chunkypregen trigger <dim> |
为指定维度启动任务 |
/chunkypregen cancel |
取消所有正在运行的 Chunky 任务并重置状态 |
/chunkypregen reset |
清除已保存的上次中心位置 |
/chunkypregen stats |
会话统计:已启动任务数、预估区块数、运行时长 |
/chunkypregen config |
在聊天中输出当前配置 |
/chunkypregen debug |
切换调试日志 |
/chunkypregen reload |
不重启,直接从磁盘重新加载配置 |
/chunkypregen setworld reset |
清除新世界初始化标记,以便再次在首次加入时启动预生成 |
环形半径遵循 radius x ((i+1)/N)^2。环数 N 会根据半径和 generationRingStep自动调整。使用默认步长 25 时,半径为 250 个区块会生成 13 环,半径为 1000 个区块则会生成 20 环。每一环依次生成,只有在 isRunning() 确认当前环已完成后,才会启动下一环。
二次曲线意味着第 1 环覆盖最内侧约 1% 的区域,越外侧的环覆盖范围越大。玩家附近的区域总是最先完成。
常见问题
Nonprofit’s Chunky Pregenerator 支持哪些 Minecraft 版本?
Nonprofit’s Chunky Pregenerator 支持 Minecraft Java 版 1.21.11,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。
Nonprofit’s Chunky Pregenerator 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。
评论
登录后评论和评分