TooBee优化

TooBee优化

专注于减少堆叠生物计算及怪物消失条件等方面的游戏优化模组

优化

本项目是为TooBee生存服务器制作的公共Minecraft优化模组,涵盖了多种针对特定情景设计的优化方面。

服务器IP:2ob.top

该模组目前处于非常早期的开发阶段,请注意它仅适用于专用服务器。

对新版Minecraft的支持仅在TooBee服务器更新时同步更新,并且不支持旧版Minecraft。

更多详细信息,请阅读本项目GitHub仓库中的README.md。

已完成内容

大多数修改均确保线程安全。

生物堆叠优化

缓存大量同类型生物在单个位置堆叠时某些计算结果。我尝试将该类计算的时间复杂度从O(n^2 * log n)优化至O(n),这意味着由3000只监守者引起的MSPT可以从超过700降至不到15。但请注意,此模组仅限服务器端,客户端使用将无效。 推荐这些生物满足以下条件:

  • 为同一类型;
  • 堆叠在同一维度和方块坐标;
  • 稳定站立在实心方块上;
  • 移动能力有限;
  • 在脚部位置有可攀爬方块,以防止它们挤压。

受影响生物

  • 监守者:通常用于服务器中的伪和平刷怪塔。
  • 猪灵:通常用于以物易物农场。

原理与注意

每游戏刻缓存此类生物的计算结果:一只生物经历完整的计算过程,其结果被缓存,而其他堆叠在同一位置的生物共享该结果。这样一来,堆叠在一个方块中的生物原始行为会有轻微影响,但影响不大,大多数人不会在意,因为几乎没有玩家会与这些成千上万的实体互动。

更合理的消失条件

如果生物拾取了物品,它们将永久存活,除非被杀死。然而,这些生物不计入刷怪上限,导致其数量无限增长,最终造成严重卡顿。当敌对生物(除末影人外)持有以下常见物品且无任何组件时,它们仍会消失:

箭、骨头、棕色蘑菇、深板岩圆石、圆石、泥土、鸡蛋、草方块、沙砾、火药、滴水石锥、红色蘑菇、腐肉、蜘蛛眼、线、火把、小麦种子。

持有以下物品的末影人也会消失:

棕色蘑菇、绯红菌、绯红菌岩、绯红菌索、泥土、草方块、沙砾、红色蘑菇、沙子、诡异菌、诡异菌岩、诡异菌索。