来自洞穴补丁

来自洞穴补丁

非官方服务器性能与内存泄漏补丁,适用于“从洞穴(From The Caves)”模组。

性能

注意: 这是一个非官方补丁。From The Caves 的所有功劳归其原作者所有。此模组是临时性的,当 From The Caves 模组更新并修复这些问题后,本模组将停止维护。

来自洞穴的补丁 是 From The Caves 模组的非官方性能和错误修复补丁。

此模组不会添加或删除内容,仅修复问题以使模组运行得更好。

所有修复均可通过配置文件(config/fromthecavespatch-common.toml)进行开关。

内存泄漏修复

From The Caves 使用许多静态集合来跟踪其程序中的每个玩家和每个实体状态。问题是,当玩家退出或实体被移除时,这些集合中的大多数从未被清理。

  • SpawnUpsideDownCrossInVillageProcedure
  • AngerSystemProcedure
  • RightClickWCrossProcedure / RightClickWICrossProcedure
  • CrossCompassBehaviorProcedure
  • DeepDarknessDragProcedure
  • FlamingoHauntedProcedure
  • StepsAmbushProcedure
  • ArmorStandEventsProcedure, WindowEventsProcedure, LightEventsProcedure, NoteBlockEventsProcedure, ItemFrameEventsProcedure, ChestEventsProcedure, TrapdoorEventsProcedure
  • AnimalFearManagerProcedure
  • CemeteryMarkerFlickerProcedure / TorchFlickerNearMobProcedure

性能修复

村庄结构搜索(区块加载)

SpawnUpsideDownCrossInVillageProcedure 和 SpawnChestWithCrossInVillageProcedureProcedure 都会在每个玩家刻(tick)调用 ServerLevel.findNearestMapStructure() 来寻找附近的村庄。此方法可能触发大半径范围内的区块加载,导致卡顿。此补丁将调用重定向为仅搜索已加载的区块。可以通过配置恢复原始的搜索行为。

音频捕获重试限制

当玩家没有可用的麦克风(或音频捕获因任何原因失败)时,From The Caves 会在每个客户端刻调用 AudioCapture.startCapture()。这内部会调用 AudioSystem.getMixerInfo(),从而触发 Java 的服务加载器并扫描音频设备。此补丁将捕获未运行时的重试频率限制为每 10 秒(200 刻)一次,但在捕获正常工作时没有影响。可以通过配置禁用。

墓地标记区块强制加载

CemeteryMarkerBlockEntity.onLoad() 原本会在每次标记自身的区块加载时调用 ServerLevel.forceChunk() 来强制加载每个墓地标记周围的 17 个区块。此补丁取消了强制加载,同时仍允许标记正确注册到墓地系统。

可选修复

移除附身猪生成(默认禁用)

有一个奇怪的问题会导致大量猪生成。 From The Caves 将“附身猪”实体添加到了每个生物群系的生成列表中。启用此配置选项会将附身猪从所有生物群系生成列表中移除。原版猪的生成不受影响。

“保护驯服的猫”默认值 = True。

ALL_FLEE 事件会为驯服的猫添加一个逃离玩家的目标。它们会跑得很远,以至于它们的区块被卸载,并且它们再也不会回来。

配置

1.1.0:新增了“事件”配置类别。能够禁用任何恐怖事件。

  • patchEnabled --> 禁用/启用补丁
  • onlyLoadedChunks --> 将村庄结构搜索限制为仅已加载的区块
  • reduceAudioSystemCalls --> 将音频捕获重试频率限制为每 10 秒一次
  • removePossessedPigSpawn --> 将 FTC 的附身猪从所有生物群系生成列表中移除

兼容性

需要安装 From The Caves。此模组直接修补它,没有它则无法运行。

此模组仅在 Forge 1.20.1 上的 From The Caves 0.6.926 版本上测试过。

mininotprime 的 From The Caves: https://www.curseforge.com/minecraft/mc-mods/from-the-caves

如果您对此模组有任何建议或问题,请发表评论!