基本信息
我的世界Java版本
平台
分类

其他链接
搬运团队
搬运资源声明
对于可进行 JAR 文件搬运的许可证,我们提供站内下载服务;其他资源会跳转到原帖下载。资源更新可能不及时,建议前往资源内提供的原帖链接下载最新版本。
详情信息
更新日志
# 更新日志 #### 版本 1.17 ## 变更 ### API * 对整个模组进行了全面清理,使其符合现代模组开发规范 * 新增 `SmartBrainBuilder` 类,并将各类“大脑构建”方法提取至该类中。`SmartBrainOwner` 默认继承该类;而将其提取出来后,你亦可轻松地在外部类中实现自定义 AI 行为 * 新增 `BehaviourUtil` —— 一个专用于 `BehaviorControl` 相关方法的辅助工具类 * 新增 `ExtendedBehaviour#tryExpire` 方法,允许行为在切换 `Activities`(活动)时优雅终止 * 新增 `ExtendedSensor#onlyScanIf` 方法,为传感器提供可选条件判断:仅当条件满足时才执行扫描 * 用户不再需要手动更新“大脑”状态,SBL 将自动为你完成(除非你在生物实体中重写了 `customServerAIStep` 方法) * 用户不再需要在实体类中返回 `SmartBrainProvider` 或 `SmartBrain` 实例,SBL 将自动创建 * 全面采用 Jspecify 的空值性注解(Nullability annotations),遵循行业新标准。更多信息请参阅 [此处][https://jspecify.dev] * 将 `SBLLoader` 重命名为 `SBLPlatform` * 将 `SBLConstants#LOADER` 重命名为 `SBLConstants#PLATFORM` * 移除 `EntityRetrievalUtil#streamEntities` —— 其带来的收益远不及所引发的混淆 * 移除 `EntityRetrievalUtil#findEntities` —— 此方法原本仅提供“最大实体数量”的短路机制,该功能现已整合进其他方法中 * 移除 `BrainUtil#forEachBehaviour` * 将 `GroupBehaviour#getBehaviours` 的返回类型由 `Iterator` 改为 `Iterable` * 新增 `BrainBehaviourPredicate#isChildOfBehaviour` 辅助方法 * 将 `net.tslat.smartbrainlib.object` 包重命名为 `net.tslat.smartbrainlib.library.object` * 将 `BrainBehaviourConsumer`、`BrainBehaviourPredicate`、`ToFloatBiFunction` 与 `TriPredicate` 移至 `net.tslat.smartbrainlib.library.interfaces` 包 * 使 `ExtendedTargetingConditions` 继承 `BiPredicate` * 将 `FreePositionTracker` 重命名为 `ExactPositionTracker` * 将 `MemoryTest#hasNoMemories` 重命名为 `MemoryTest#noMemories` * 将 `MemoryTest#builder(int)` 重命名为 `MemoryTest#sized(int)` * 将 `BrainActivityGroup` 重命名为 `ActivityBuilder` * 将 `EntityFilteringSensor` 重命名为 `NearestVisibleEntityFilteredSensor` * 将 SBL 所有与“大脑”相关类中的泛型 `T` 统一重命名为 `BO`,以提升类型含义的一致性与清晰度 * 在各类行为与传感器中,向上提升(bubbled up)了所有具备自返回特性的多态重载方法 * 统一并规范了 SBL 所有与“大脑”相关类中的泛型类型顺序 ### 内部改进 * 大幅完善 `EntityRetrievalUtil` 中的 JavaDoc 文档 * 按照 Java 25 的新标准,将全部 JavaDoc 转换为 Markdown 格式 * 重构示例代码与模板代码结构 * 为每个包添加 `package-info.java` 声明,以实现更一致、更清晰的 API 使用体验 * 全面重写整个模组的 JavaDoc 文档 * 进行通用代码清理与优化 * 对模板代码实现预折叠(pre-collapsed)处理,进一步提升代码可读性


