SmartBrainLib NeoForge 26.2 2.0.0
on 2026 Jun 30更新日志
版本
2.0.0
变更内容
API
- 对整个模组进行了全面清理,使其符合现代模组开发规范
- 新增
SmartBrainBuilder类,并将各类“脑部构建”方法迁移至该类中。SmartBrainOwner默认继承它;而将其独立出来后,你可更轻松地在外部类中实现AI逻辑(仅需极少额外工作) - 新增
BehaviourUtil—— 一个用于处理BehaviorControl相关方法的工具类 - 新增
ExtendedBehaviour#tryExpire方法——允许在切换Activities时优雅终止行为 - 新增
ExtendedSensor#onlyScanIf—— 为传感器添加可选条件:仅当条件满足时才执行扫描 - 用户不再需要手动更新“脑部”状态,SBL 会自动为你完成(除非你在自定义生物类中覆写了
customServerAIStep) - 用户不再需要在实体类中返回
SmartBrainProvider或SmartBrain实例,SBL 将自动创建 - 依据行业新标准,全面采用 Jspecify 的空值性注解。更多信息请参见 [此处][https://jspecify.dev]
- 将
SetRandomFlyingTarget和SetRandomHoverTarget合并为SetRandomFlyTarget - 将
ExtendedBehaviour#doStartCheck重命名为canStart - 将
SBLLoader重命名为SBLPlatform - 将
SBLConstants#LOADER重命名为SBLConstants#PLATFORM - 移除
EntityRetrievalUtil#streamEntities—— 其收益远不及由此引发的理解混乱 - 移除
EntityRetrievalUtil#findEntities—— 该方法原本仅提供“最大实体数量”的短路机制,现已内建于其他方法中 - 移除
BrainUtil#forEachBehaviour - 将
GroupBehaviour#getBehaviours的返回类型由Iterator改为Iterable - 新增
GroupBehaviour#add方法,支持手动向GroupBehaviour中添加单个行为 - 新增
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 - 将
ExtendedBehaviour#runForBetween重命名为#runFor - 将
ExtendedBehaviour#cooldownForBetween重命名为#cooldownFor - 将 SBL 所有与“脑部”相关的类中泛型参数
T统一重命名为BO,以确保类型含义清晰且一致 - 在行为与传感器类中,向上提升所有链式调用方法(返回自身)的多态重载
- 统一规范 SBL 所有与“脑部”相关的类中泛型类型的顺序
- 新增
BreezeSpecificSensor - 更新
ExtendedBehaviour#getMemoryRequirements,改用 Mojang 新增的MemoryCondition接口 - 将
SBLShufflingList重命名为WeightedShuffleableList - 移除
SeekRandomNearbyPosition
内部改进
- 大幅完善
EntityRetrievalUtil中的 JavaDoc 注释 - 依照 Java 25 新标准,将全部 JavaDoc 转换为 Markdown 格式
- 重构模板/示例代码结构
- 为每个包添加
package-info.java声明,以实现更统一、更清晰的 API 使用体验 - 全面重写整个模组的 JavaDoc 文档
- 常规代码清理与优化
- 为模板代码实现预折叠功能,进一步提升代码可读性
SmartBrainLib Forge 26.2 2.0.0
on 2026 Jun 30更新日志
版本
2.0.0
变更内容
API
- 对整个模组进行了全面清理,使其符合现代模组开发规范
- 新增
SmartBrainBuilder类,并将各类“脑”构建方法迁移至其中。SmartBrainOwner默认继承该类;将其独立出来后,你可更轻松地在外部类中实现AI逻辑 - 新增
BehaviourUtil—— 一个用于BehaviorControl相关方法的辅助类 - 新增
ExtendedBehaviour#tryExpire—— 允许在切换Activities时优雅地终止行为 - 新增
ExtendedSensor#onlyScanIf—— 为传感器添加可选扫描条件,仅当条件满足时才执行扫描 - 用户不再需要手动更新“脑”的状态,SBL 会自动为你完成(除非你在实体类中重写了
customServerAIStep) - 用户不再需要在实体类中返回
SmartBrainProvider或SmartBrain实例,SBL 将自动创建 - 依照业界新标准,全面采用 Jspecify 的空值性注解。更多信息请参见 [此处][https://jspecify.dev]
- 将
SetRandomFlyingTarget和SetRandomHoverTarget合并为SetRandomFlyTarget - 将
ExtendedBehaviour#doStartCheck重命名为canStart - 将
SBLLoader重命名为SBLPlatform - 将
SBLConstants#LOADER重命名为SBLConstants#PLATFORM - 移除
EntityRetrievalUtil#streamEntities—— 其带来的收益不足以抵消引发的理解混乱 - 移除
EntityRetrievalUtil#findEntities—— 该方法仅提供“最大实体数量”的短路机制,而该功能现已内建于其他方法中 - 移除
BrainUtil#forEachBehaviour - 将
GroupBehaviour#getBehaviours的返回类型由Iterator改为Iterable - 新增
GroupBehaviour#add,支持手动向GroupBehaviour中添加单个行为 - 新增
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 - 将
ExtendedBehaviour#runForBetween重命名为#runFor - 将
ExtendedBehaviour#cooldownForBetween重命名为#cooldownFor - 将 SBL 所有与“脑”相关类中的泛型参数
T统一重命名为BO,以提升类型含义的一致性与可读性 - 在各类行为与传感器中,向上层传播了自返回方法的多态重载
- 确保 SBL 所有与“脑”相关类中的泛型类型顺序保持一致
- 新增
BreezeSpecificSensor - 更新
ExtendedBehaviour#getMemoryRequirements,改用 Mojang 新增的MemoryCondition接口 - 将
SBLShufflingList重命名为WeightedShuffleableList - 移除
SeekRandomNearbyPosition
内部改进
- 大幅完善
EntityRetrievalUtil中的 JavaDoc 文档 - 依据 Java 25 新标准,将全部 JavaDoc 转换为 Markdown 格式
- 重构模板/示例代码结构
- 为每个包添加
package-info声明,以提升 API 使用的一致性与清晰度 - 全面重写整个模组的 JavaDoc 文档
- 常规代码清理与优化
- 为模板代码实现预折叠代码区块,进一步提升代码可读性
SmartBrainLib NeoForge 26.1.2 2.0.0
on 2026 Jun 30更新日志
版本
2.0.0
变更内容
API
- 对整个模组进行了全面清理,使其符合现代模组开发规范
- 新增
SmartBrainBuilder类,并将各类“脑”构建方法迁移至该类中。SmartBrainOwner默认继承该类;将其独立提取后,你可更轻松地在外部类中实现自定义AI逻辑 - 新增
BehaviourUtil—— 一个用于BehaviorControl相关方法的辅助类 - 新增
ExtendedBehaviour#tryExpire—— 允许在切换Activities时优雅终止行为 - 新增
ExtendedSensor#onlyScanIf—— 为传感器添加可选扫描条件,仅当条件满足时才执行扫描 - 用户不再需要手动更新“脑”的运行逻辑,SBL 会自动为你完成(除非你在实体类中重写了
customServerAIStep) - 用户不再需要在实体类中返回
SmartBrainProvider或SmartBrain实例,SBL 将自动为你创建 - 根据行业新标准,全面采用 Jspecify 的空值性注解。更多信息请参见 [此处][https://jspecify.dev]
- 将
SetRandomFlyingTarget和SetRandomHoverTarget合并为SetRandomFlyTarget - 将
ExtendedBehaviour#doStartCheck重命名为canStart - 将
SBLLoader重命名为SBLPlatform - 将
SBLConstants#LOADER重命名为SBLConstants#PLATFORM - 移除
EntityRetrievalUtil#streamEntities—— 其带来的收益远不及引发的混淆程度 - 移除
EntityRetrievalUtil#findEntities—— 该方法仅提供“最大实体数”短路功能,而该功能现已集成至其他方法中 - 移除
BrainUtil#forEachBehaviour - 将
GroupBehaviour#getBehaviours的返回类型由Iterator改为Iterable - 新增
GroupBehaviour#add,支持手动向GroupBehaviour中添加单个行为 - 新增
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 - 将
ExtendedBehaviour#runForBetween重命名为#runFor - 将
ExtendedBehaviour#cooldownForBetween重命名为#cooldownFor - 将 SBL 所有与“脑”相关类中的泛型参数
T统一重命名为BO,以提升类型含义的一致性与可读性 - 在各类行为与传感器中,为自返回方法补充了多态重载
- 统一规范了 SBL 所有与“脑”相关类中泛型参数的顺序
- 新增
BreezeSpecificSensor - 更新
ExtendedBehaviour#getMemoryRequirements,改用 Mojang 新增的MemoryCondition接口 - 将
SBLShufflingList重命名为WeightedShuffleableList - 移除
SeekRandomNearbyPosition
内部改进
- 大幅完善
EntityRetrievalUtil中的 JavaDoc 注释 - 依据 Java 25 新标准,将全部 JavaDoc 转换为 Markdown 格式
- 重构模板/示例代码结构
- 为每个包添加
package-info声明,以提升 API 使用的一致性与整洁度 - 全面重写整个模组的 JavaDoc 文档
- 常规代码清理与优化
- 为模板代码实现预折叠功能,进一步提升代码可读性
SmartBrainLib Forge 26.1.2 2.0.0
on 2026 Jun 30更新日志
版本
2.0.0
变更内容
API
- 对整个模组进行了全面清理,使其符合现代模组开发规范
- 新增
SmartBrainBuilder类,并将各类“脑”构建方法迁移至其中。SmartBrainOwner默认继承该类;将其抽离后,您可更便捷地在外部类中实现AI逻辑,仅需极少额外工作量 - 新增
BehaviourUtil工具类,用于辅助处理与BehaviorControl相关的方法 - 新增
ExtendedBehaviour#tryExpire方法,支持在切换Activities时优雅终止行为 - 新增
ExtendedSensor#onlyScanIf方法,为传感器添加可选扫描条件:仅当条件满足时才执行扫描 - 用户不再需要手动更新“脑”的状态,SBL 会自动为您完成(除非您在自定义生物类中重写了
customServerAIStep) - 用户不再需要在实体类中返回
SmartBrainProvider或SmartBrain实例,SBL 将自动为您创建 - 依照业界新标准,全面采用 Jspecify 的空值性注解。更多信息请参阅 [此处][https://jspecify.dev]
- 将
SetRandomFlyingTarget与SetRandomHoverTarget合并为SetRandomFlyTarget - 将
ExtendedBehaviour#doStartCheck重命名为canStart - 将
SBLLoader重命名为SBLPlatform - 将
SBLConstants#LOADER重命名为SBLConstants#PLATFORM - 移除
EntityRetrievalUtil#streamEntities—— 其带来的收益远不及引发的混淆程度 - 移除
EntityRetrievalUtil#findEntities—— 该方法仅提供“最大实体数”短路功能,而此功能现已内建于其他方法中 - 移除
BrainUtil#forEachBehaviour - 将
GroupBehaviour#getBehaviours的返回类型由Iterator改为Iterable - 新增
GroupBehaviour#add方法,支持手动向GroupBehaviour中添加单个行为 - 新增
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 - 将
ExtendedBehaviour#runForBetween重命名为#runFor - 将
ExtendedBehaviour#cooldownForBetween重命名为#cooldownFor - 将 SBL 所有与“脑”相关类中的泛型参数
T统一重命名为BO,以提升类型含义的一致性与可读性 - 在行为与传感器类中,为所有返回自身的链式调用方法补充了多态重载
- 统一规范了 SBL 所有与“脑”相关类中的泛型类型顺序
- 新增
BreezeSpecificSensor - 更新
ExtendedBehaviour#getMemoryRequirements方法,改用 Mojang 新增的MemoryCondition接口 - 将
SBLShufflingList重命名为WeightedShuffleableList - 移除
SeekRandomNearbyPosition
内部改进
- 大幅完善
EntityRetrievalUtil中的 JavaDoc 文档 - 依据 Java 25 新标准,将全部 JavaDoc 转换为 Markdown 格式
- 重构模板代码与示例代码结构
- 为每个包新增
package-info.java声明,提升 API 使用的一致性与整洁度 - 全面重写整个模组的 JavaDoc 文档
- 常规代码清理与优化
- 为模板代码实现预折叠功能,进一步提升代码可读性
SmartBrainLib Fabric 26.1.2 2.0.0
on 2026 Jun 30# 更新日志 #### 版本 2.0.0 ## 变更内容 ### API \* 对整个模组进行了全面清理,使其符合现代模组开发规范 \* 新增 `SmartBrainBuilder` 类,并将各类“大脑”构建方法迁移至该类中。`SmartBrainOwner` 默认继承该类;而将其独立提取后,你也可轻松使用外部类来实现自定义 AI,仅需极少额外工作 \* 新增 `BehaviourUtil` —— 一个专用于 `BehaviorControl` 相关方法的工具类 \* 新增 `ExtendedBehaviour#tryExpire` 方法,支持在切换 `Activities` 时优雅地终止行为 \* 新增 `ExtendedSensor#onlyScanIf` 方法,为传感器提供可选条件:仅当条件满足时才执行扫描 \* 用户不再需要手动更新大脑逻辑,SBL 会自动为你完成(除非你在生物类中重写了 `customServerAIStep`) \* 用户不再需要在实体类中返回 `SmartBrainProvider` 或 `SmartBrain` 实例,SBL 将自动为你创建 \* 全面采用 Jspecify 的空值性注解(Nullability annotations),遵循行业新标准。更多信息请参见[此处][https://jspecify.dev] \* 合并 `SetRandomFlyingTarget` 与 `SetRandomHoverTarget`,统一为 `SetRandomFlyTarget` \* 将 `ExtendedBehaviour#doStartCheck` 重命名为 `canStart` \* 将 `SBLLoader` 重命名为 `SBLPlatform` \* 将 `SBLConstants#LOADER` 重命名为 `SBLConstants#PLATFORM` \* 移除 `EntityRetrievalUtil#streamEntities` —— 其带来的收益远不及所引发的混淆 \* 移除 `EntityRetrievalUtil#findEntities` —— 该方法原本仅提供“最大实体数量”的短路机制,该功能现已内建于其他方法中 \* 移除 `BrainUtil#forEachBehaviour` \* 将 `GroupBehaviour#getBehaviours` 的返回类型由 `Iterator` 改为 `Iterable` \* 新增 `GroupBehaviour#add` 方法,支持手动向 `GroupBehaviour` 中添加单个行为 \* 新增 `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` \* 将 `ExtendedBehaviour#runForBetween` 重命名为 `#runFor` \* 将 `ExtendedBehaviour#cooldownForBetween` 重命名为 `#cooldownFor` \* 将 SBL 所有与大脑逻辑相关类中的泛型类型 `T` 统一重命名为 `BO`,以确保类型含义清晰且一致 \* 在各类行为与传感器中,为所有链式调用的自返回方法补充了多态重载 \* 统一规范了 SBL 所有与大脑逻辑相关类中的泛型类型顺序 \* 新增 `BreezeSpecificSensor` \* 更新 `ExtendedBehaviour#getMemoryRequirements`,使其使用 Mojang 新增的 `MemoryCondition` 接口 \* 将 `SBLShufflingList` 重命名为 `WeightedShuffleableList` \* 移除 `SeekRandomNearbyPosition` ### 内部改进 \* 大幅完善 `EntityRetrievalUtil` 中的 JavaDoc 注释 \* 按照 Java 25 的新标准,将全部 JavaDoc 转换为 Markdown 格式 \* 重构模板代码与示例代码结构 \* 为每个包添加 `package-info.java` 声明,提升 API 使用的一致性与整洁度 \* 全面重写整个模组的 JavaDoc 文档 \* 通用代码清理与优化 \* 对模板代码实现预折叠(pre-collapsed)处理,进一步提升代码可读性
SmartBrainLib NeoForge 26.1.2 1.17-alpha-1
on 2026 May 12更新日志
版本
1.17
变更内容
API
- 对整个模组进行了全面清理,使其符合现代模组开发规范
- 新增
SmartBrainBuilder类,并将各类“脑”构建方法迁移至其中。SmartBrainOwner默认继承该类;将其独立出来后,你可轻松使用外部类实现自定义AI逻辑,仅需极少额外工作量 - 新增
BehaviourUtil—— 一个用于BehaviorControl相关方法的辅助类 - 新增
ExtendedBehaviour#tryExpire方法——允许在切换Activities时优雅地终止行为 - 新增
ExtendedSensor#onlyScanIf方法——为传感器添加可选条件,仅当条件满足时才执行扫描 - 用户不再需要手动更新“脑”的状态,SBL 将自动为你完成(除非你在实体类中重写了
customServerAIStep) - 用户不再需要在实体类中返回
SmartBrainProvider或SmartBrain实例,SBL 将自动创建 - 依照行业新标准,全面采用 Jspecify 的空值性注解。更多信息请参见 [此处][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,以提升类型含义的一致性与可读性 - 在各类行为与传感器中,为所有链式调用的自返回方法补充了多态重载
- 统一并规范了 SBL 所有与“脑”相关类中的泛型类型顺序
内部改进
- 大幅完善了
EntityRetrievalUtil中的 JavaDoc 文档 - 依据 Java 25 新标准,将全部 JavaDoc 转换为 Markdown 格式
- 重构了模板代码与示例代码结构
- 为每个包添加了
package-info声明,使 API 使用更一致、更清晰 - 全面重写了整个模组的 JavaDoc 文档
- 常规代码清理与优化
- 为模板代码实现了预折叠功能,进一步提升代码可读性
SmartBrainLib Forge 26.1.2 1.17-alpha-1
on 2026 May 12更新日志
版本
1.17
变更内容
API
- 对整个模组进行了全面清理,使其符合现代模组开发规范
- 新增
SmartBrainBuilder类,并将各类“大脑”构建方法迁移至其中。SmartBrainOwner默认继承该类;如今将其独立出来后,您可更轻松地在外部类中实现自定义AI逻辑 - 新增
BehaviourUtil工具类,用于辅助处理与BehaviorControl相关的方法 - 新增
ExtendedBehaviour#tryExpire方法,支持在切换Activities时优雅地终止行为 - 新增
ExtendedSensor#onlyScanIf方法,允许传感器仅在满足指定条件时执行扫描 - 用户不再需要手动更新“大脑”状态,SBL 会自动为您完成(除非您在实体类中重写了
customServerAIStep) - 用户不再需要在实体类中返回
SmartBrainProvider或SmartBrain实例,SBL 将自动为您创建 - 依照业界新标准,全面采用 Jspecify 的空值性注解。更多信息请参阅 [此处][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,以提升类型含义的一致性与可读性 - 在各类行为与传感器中,向上提升所有链式调用方法的多态重载,确保其均返回自身实例
- 统一规范 SBL 所有与“大脑”相关类中泛型类型的顺序
内部改进
- 大幅完善
EntityRetrievalUtil中的 JavaDoc 文档 - 依照 Java 25 新标准,将全部 JavaDoc 转换为 Markdown 格式
- 重构模板代码与示例代码结构
- 为每个包添加
package-info.java声明,以提供更一致、更清晰的 API 使用体验 - 全面重写整个模组的 JavaDoc 文档
- 整体代码清理与优化
- 为模板代码实现预折叠功能,进一步提升代码可读性
SmartBrainLib Fabric 26.1.2 1.17-alpha-1
on 2026 May 12# 更新日志 #### 版本 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)处理,进一步提升代码可读性



