观察者库

ObserverLib 是一个库模组,可用于以极小的性能开销可靠地观察潜在大区域内的方块变化。

资源介绍

ObserverLib 是一个库模组,可用于在可能的大范围内可靠地观察方块变化,且对性能影响极小。 该库是公开可用的,主要专注于在 1.13+ 版本的 Astral Sorcery 中使用。 本质上,此模组允许你 注册 一个 观察者  - 无论它最终观察什么,都取决于具体实现 - 针对特定区域。在该观察区域内发生的世界变化会被传递给观察者。观察者可以自行决定这些变化的含义;它们是否使观察者的状态失效或有效。因此,例如,如果结构现在完整或不完整。 实际调用以检查事物是否有效的方法是查询相关位置的 ChangeSubscriber  ,然后 询问其当前状态是否有效或无效 . 是什么让它比通常反复检查一个大区域更好?如果你想观察的区域大于一个区块怎么办?如果你必须检查的其他区块被卸载了怎么办?为了确保没有任何变化且结构完好无损,模组必须加载该区块并检查方块。如果这导致大量的区块加载和卸载,可能会成为一个问题。ObserverLib 的实现确保你可以放心,传递给 你的 notifyChange 实现  的更改包含所有必要信息,以确保你所观察的任何内容仍然有效或无效。 检查结构是否正确构建的一个示例实现可以在 这里 看到。与其始终检查结构的所有组件,该检查确保跟踪不正确/不匹配的位置,并且仅基于与匹配器预期不符的内容进行操作。 如果你有兴趣在你的项目中使用它,你可以从这里从 Maven 获取:  https://maven.hellfiredev.net/hellfirepvp/observerlib/observerlib/   如需进一步的解释和详情,欢迎在 AstralSorcery 的 Discord 上提问:https://discord.gg/q37VRcT

在鱼乐云资源中心浏览该资源,登录后可一键安装到你的游戏服务器。

返回资源中心