BB 预载世界

BB 预载世界

一种粗略的方法来预加载Distant Horizons区块,适用于单人和多人游戏

工具

BB Preload World

现代版本的 Distant Horizons 现在已支持多人游戏中的区块加载,因此如果你使用的是新版本,可能不需要这个模组

这个模组可以在单人游戏或多人游戏中使用,用于为 Distant Horizons 加载区块。

在多人游戏中,DH 只能缓存玩家访问过的区块,这个模组会将玩家切换到旁观者模式并在地图上移动玩家,以便客户端可以缓存这些区块。

额外的好处是,执行此操作时,客户端的小地图模组也会一并加载。

如何使用

该模组必须同时安装在客户端和服务端。

如果在单人游戏中游玩,建议在运行例程时将 DH 设置中的“Enable distant generation”设置为 false。

你还可以将 DH 设置中的“CPU Load”设置为较高的配置(记得之后调回较低的配置!)。

要加载周围区域,玩家可以使用命令 /bb_preload_world_start

要在进程自行完成之前取消它,请使用 /bb_preload_world_stop

(在例程完成之前运行停止命令可能会导致区块缓存损坏)

半径为 30 个区块时,可能需要 30 分钟以上才能完成,半径为 60 个区块时可能需要数小时。

设置

设置通过游戏规则进行管理。

/gamerule bb_preload_radius 30 设置将围绕玩家加载的半径(以区块为单位)。

/gamerule bb_preload_world_start_requires_opp true 将使 /bb_preload_world_start 需要 OP 才能使用。

/gamerule bb_preload_world_stop_requires_opp true 将使 /bb_preload_world_stop 需要 OP 才能使用。

工作原理

当启动预加载例程时,模组的服务端部分会跟踪玩家已经到达哪个区块。

客户端会向服务端发送数据包,说明某个区块已在 LOD 0 - 6 级别被缓存,当服务端收到此数据包后,会将玩家移动到下一个区块。

客户端还会告诉服务端“Queued chunk updates”是否过高,或者队列中或正在处理中是否有任何“Update propagator tasks”。如果其中任一情况为真,例程会暂停,以允许区块完成处理后再继续。

这是因为在我的测试中,如果客户端离开一个已经开始处理但尚未完成的区块,可能会使该区块缓存处于损坏状态。

联系方式

Discord

GitLab

如有问题,优先使用 Discord;如有议题,优先使用 GitLab。