MC-249136 修复

MC-249136 修复

针对生成沉船埋藏宝藏地图/探险家地图战利品时服务器延迟尖峰的临时修复。

优化

注意

MC-249136 似乎已在较新版本的 Minecraft 中被修复!因此,我决定不再为 1.20.5 及以上版本更新此模组。

如果你在 1.20.5+ 版本中仍然遇到宝藏地图的问题,请创建一个 issue 告知我!

MC-249136 修复

需要 Fabric API 可在 GitLab 获取 可在 Modrinth 获取

此模组为 MC-249136 实现了一个极简的临时修复方案。该 Bug 会在定位沉船战利品中的埋藏宝藏结构时引发严重的服务器卡顿。

为了避免这种卡顿,结构定位被移入一个单独的线程中,该线程不会阻塞服务器主循环。这并不能提升结构定位的性能,但至少可以防止它严重妨碍游戏体验。

一张空白的 Minecraft 埋藏宝藏地图,中央显示“加载中”文字

配置

可通过将 128x128 的 PNG 文件放置到 /config/mc249136/map_loading.png 和 /config/mc249136/map_not_found.png 来自定义地图的“加载中”图像。

出于性能考虑,这些图像中的像素除非完全透明(即 rgba(0,0,0,0)),否则将全部绘制为黑色。Minecraft 的地图调色板计算既困难又昂贵——因此此模组只是简单地执行了一个 if (rgb != 0) 来判断是否绘制图像。

已知问题:

  • 此模组不处理状态持久化,且只会在已加载的地图进入玩家物品栏后更新它们。 这意味着有可能通过破坏箱子、将其以物品实体形式保留、然后重启服务器来阻止宝藏地图加载。