NeoForge 1.21.1
on 2026 Apr 25v4.6
- 修复 GeckoLib 破坏 Iris/Oculus 中 PBR 兼容性的问题
- 将 Fabric 加载器依赖项移至独立字段,避免 GeckoLib 强制玩家始终使用最新版 Fabric
- 为 Molang 查询添加 'q.' 别名
- 修复复合 Molang 语句未被解析的问题
- 修复三元表达式未被正确编译的问题
- 在 GeckoLibUtil#addDataTicket 上添加说明性的 Javadoc 注释,明确其调用时机
- 改进复杂 Molang 语句解析时对函数与变量识别的误判规避机制
- 进一步优化通用 Molang 解析逻辑,提升稳定性与性能
- 针对 1.21 版本中破坏性问题,进一步完善 BufferBuilder 的临时修复方案,覆盖更多边缘情况
- 将默认 Molang 查询迁移至“实体(actor)”系统
所有默认查询不再需要在每次渲染时更新,仅需更新当前实体即可。
此举整体提升了性能,并使查询数量增加时仍保持 O(1) 时间复杂度 - 修复
query.actor_count返回值不正确的问题 - 修复
query.is_in_water_or_rain返回值不正确的问题 - 修复
query.is_on_fire未应用于非生物实体的问题 - 修复
query.yaw_speed未应用于非生物实体的问题 - 修复
query.yaw_speed返回值不正确的问题 - 新增
query.block_stateMolang 查询 - 新增
query.blockingMolang 查询 - 新增
query.body_x_rotationMolang 查询 - 新增
query.body_y_rotationMolang 查询 - 新增
query.can_climbMolang 查询 - 新增
query.can_flyMolang 查询 - 新增
query.can_swimMolang 查询 - 新增
query.can_walkMolang 查询 - 新增
query.cardinal_facing_2dMolang 查询 - 新增
query.cardinal_facingMolang 查询 - 新增
query.cardinal_player_facingMolang 查询 - 新增
query.dayMolang 查询 - 新增
query.death_ticksMolang 查询 - 新增
query.equipment_countMolang 查询 - 新增
query.frame_alphaMolang 查询 - 新增
query.get_actor_info_idMolang 查询 - 新增
query.has_capeMolang 查询 - 新增
query.has_collisionMolang 查询 - 新增
query.has_gravityMolang 查询 - 新增
query.has_head_gearMolang 查询 - 新增
query.has_ownerMolang 查询 - 新增
query.has_player_riderMolang 查询 - 新增
query.has_riderMolang 查询 - 新增
query.head_x_rotationMolang 查询 - 新增
query.head_y_rotationMolang 查询 - 新增
query.hurt_timeMolang 查询 - 新增
query.invulnerable_ticksMolang 查询 - 新增
query.is_aliveMolang 查询 - 新增
query.is_angryMolang 查询 - 新增
query.is_babyMolang 查询 - 新增
query.is_breathingMolang 查询 - 新增
query.is_enchantedMolang 查询 - 新增
query.is_fire_immuneMolang 查询 - 新增
query.is_first_personMolang 查询 - 新增
query.is_in_contact_with_waterMolang 查询 - 新增
query.is_in_lavaMolang 查询 - 新增
query.is_invisibleMolang 查询 - 新增
query.is_leashedMolang 查询 - 新增
query.is_movingMolang 查询 - 新增
query.is_poweredMolang 查询 - 新增
query.is_ridingMolang 查询 - 新增
query.is_saddledMolang 查询 - 新增
query.is_silentMolang 查询 - 新增
query.is_sleepingMolang 查询 - 新增
query.is_sneakingMolang 查询 - 新增
query.is_sprintingMolang 查询 - 新增
query.is_stackableMolang 查询 - 新增
query.is_swimmingMolang 查询 - 新增
query.is_using_itemMolang 查询 - 新增
query.is_wall_climbingMolang 查询 - 新增
query.item_max_use_durationMolang 查询 - 新增
query.main_hand_item_max_durationMolang 查询 - 新增
query.main_hand_item_use_durationMolang 查询 - 新增
query.max_durabilityMolang 查询 - 新增
query.moon_brightnessMolang 查询 - 新增
query.movement_directionMolang 查询 - 新增
query.player_levelMolang 查询 - 新增
query.remaining_durabilityMolang 查询 - 新增
query.rider_body_x_rotationMolang 查询 - 新增
query.rider_body_x_rotationMolang 查询(重复项) - 新增
query.rider_head_x_rotationMolang 查询 - 新增
query.rider_head_y_rotationMolang 查询 - 新增
query.scaleMolang 查询 - 新增
query.sleep_rotationMolang 查询 - 新增
query.time_stampMolang 查询 - 新增
query.vertical_speedMolang 查询 - 移除内部对 RenderUtil#booleanToFloat 的使用,以支持编译期优化
- 多项代码库的小幅清理
Forge 1.21.1
on 2026 Apr 25v4.6
- 修复 GeckoLib 破坏 Iris/Oculus 中 PBR 兼容性的问题
- 将 Fabric 加载器依赖项移至独立字段,避免 GeckoLib 强制玩家始终使用最新版 Fabric
- 为 Molang 查询添加 'q.' 别名
- 修复复合 Molang 语句未被解析的问题
- 修复三元表达式未被正确编译的问题
- 在 GeckoLibUtil#addDataTicket 上添加说明性 Javadoc 注释,明确其调用时机
- 改进复杂 Molang 语句解析时对函数与变量识别的误判规避机制
- 进一步优化通用 Molang 解析逻辑,提升稳定性与性能
- 针对 1.21 版本中 BufferBuilder 的破坏性问题,进一步完善临时修复方案以覆盖更多边缘情况
- 将默认 Molang 查询迁移至“实体(actor)”系统
所有默认查询不再需要在每次渲染时更新,而是仅更新当前实体。
此举应能整体提升性能,并使查询数量增加时保持 O(1) 时间复杂度 - 修复
query.actor_count返回值不正确的问题 - 修复
query.is_in_water_or_rain返回值不正确的问题 - 修复
query.is_on_fire未对非生物实体生效的问题 - 修复
query.yaw_speed未对非生物实体生效的问题 - 修复
query.yaw_speed返回值不正确的问题 - 新增
query.block_stateMolang 查询 - 新增
query.blockingMolang 查询 - 新增
query.body_x_rotationMolang 查询 - 新增
query.body_y_rotationMolang 查询 - 新增
query.can_climbMolang 查询 - 新增
query.can_flyMolang 查询 - 新增
query.can_swimMolang 查询 - 新增
query.can_walkMolang 查询 - 新增
query.cardinal_facing_2dMolang 查询 - 新增
query.cardinal_facingMolang 查询 - 新增
query.cardinal_player_facingMolang 查询 - 新增
query.dayMolang 查询 - 新增
query.death_ticksMolang 查询 - 新增
query.equipment_countMolang 查询 - 新增
query.frame_alphaMolang 查询 - 新增
query.get_actor_info_idMolang 查询 - 新增
query.has_capeMolang 查询 - 新增
query.has_collisionMolang 查询 - 新增
query.has_gravityMolang 查询 - 新增
query.has_head_gearMolang 查询 - 新增
query.has_ownerMolang 查询 - 新增
query.has_player_riderMolang 查询 - 新增
query.has_riderMolang 查询 - 新增
query.head_x_rotationMolang 查询 - 新增
query.head_y_rotationMolang 查询 - 新增
query.hurt_timeMolang 查询 - 新增
query.invulnerable_ticksMolang 查询 - 新增
query.is_aliveMolang 查询 - 新增
query.is_angryMolang 查询 - 新增
query.is_babyMolang 查询 - 新增
query.is_breathingMolang 查询 - 新增
query.is_enchantedMolang 查询 - 新增
query.is_fire_immuneMolang 查询 - 新增
query.is_first_personMolang 查询 - 新增
query.is_in_contact_with_waterMolang 查询 - 新增
query.is_in_lavaMolang 查询 - 新增
query.is_invisibleMolang 查询 - 新增
query.is_leashedMolang 查询 - 新增
query.is_movingMolang 查询 - 新增
query.is_poweredMolang 查询 - 新增
query.is_ridingMolang 查询 - 新增
query.is_saddledMolang 查询 - 新增
query.is_silentMolang 查询 - 新增
query.is_sleepingMolang 查询 - 新增
query.is_sneakingMolang 查询 - 新增
query.is_sprintingMolang 查询 - 新增
query.is_stackableMolang 查询 - 新增
query.is_swimmingMolang 查询 - 新增
query.is_using_itemMolang 查询 - 新增
query.is_wall_climbingMolang 查询 - 新增
query.item_max_use_durationMolang 查询 - 新增
query.main_hand_item_max_durationMolang 查询 - 新增
query.main_hand_item_use_durationMolang 查询 - 新增
query.max_durabilityMolang 查询 - 新增
query.moon_brightnessMolang 查询 - 新增
query.movement_directionMolang 查询 - 新增
query.player_levelMolang 查询 - 新增
query.remaining_durabilityMolang 查询 - 新增
query.rider_body_x_rotationMolang 查询 - 新增
query.rider_body_x_rotationMolang 查询(重复项) - 新增
query.rider_head_x_rotationMolang 查询 - 新增
query.rider_head_y_rotationMolang 查询 - 新增
query.scaleMolang 查询 - 新增
query.sleep_rotationMolang 查询 - 新增
query.time_stampMolang 查询 - 新增
query.vertical_speedMolang 查询 - 移除内部对 RenderUtil#booleanToFloat 的使用,以支持编译期优化
- 多项代码库的小幅清理与优化
NeoForge 1.21
on 2026 Apr 25Forge 1.21
on 2026 Apr 25v4.5.8
- 为 AutoGlowingGeoLayer 添加对隐形、部分隐形和发光实体的支持
- 在渲染时增加对无效缓冲区状态的额外检查。这仍是一个临时修复,待我在下一个破坏性版本中重写底层 API
- 在旁观者模式下渲染隐形实体时,考虑半透明渲染
- 使 AutoGlowingGeoLayer 在渲染时考虑叠加层着色
NeoForge 1.21
on 2026 Apr 25v4.5.7
- 重写后对 Molang 解析的额外修复。关闭 #598
- 修复 Fabric 中数据包未在两侧注册的问题。关闭 #597
- 对渲染中缓冲区构建错误的额外修复。关闭 #592
- 放宽 DefaultedEntityGeoModel.turnsHead 的访问修饰符,以便子类使用
Forge 1.21
on 2026 Apr 25v4.5.7
- 重写后对Molang解析的额外修复。关闭 #598
- 修复Fabric端两侧数据包未注册的问题。关闭 #597
- 渲染中缓冲区构建错误的额外修复。关闭 #592
- 为子类使用弱化DefaultedEntityGeoModel.turnsHead的访问修饰符
NeoForge 1.20.1
on 2026 Apr 25v4.4.7
- 修复 4.4.6 版本中动画文件解析的回归问题
- 在 GeoItem 中为 SingleteonGeoAnimatable#registerSyncedAnimatable 添加辅助重载方法
- 将 DynamicGeoEntityRenderer 中的 javax 注解替换为 jetbrains
Forge 1.20.1
on 2026 Apr 25v4.4.7
- 修复了 4.4.6 版本中动画文件解析的回归问题
- 在 GeoItem 中为 SingleteonGeoAnimatable#registerSyncedAnimatable 添加了一个辅助重载方法
- 将 DynamicGeoEntityRenderer 中的 javax 注解替换为 jetbrains 注解
NeoForge 1.21
on 2026 Apr 25v4.5.6
- 修复了 4.5.5 版本中动画文件解析的回归问题
- 在 GeoItem 中为 SingleteonGeoAnimatable#registerSyncedAnimatable 添加了一个辅助重载方法
- 修复了因 1.21 版本中缓冲区处理方式变更导致的罕见崩溃 #592
- 移除了动态渲染器上旧的可空注解
- 添加了对实体 scale 属性的原生兼容性,并更新了 GeoEntityRenderer#applyRotations
- 移除了 MathParser 中已弃用且未使用的函数
Forge 1.21
on 2026 Apr 25v4.5.6
- 修复 4.5.5 版本中动画文件解析的回归问题
- 在 GeoItem 中为 SingleteonGeoAnimatable#registerSyncedAnimatable 添加辅助重载方法
- 修复因 1.21 版本缓冲区处理变更导致的罕见崩溃 #592
- 移除动态渲染器上旧的可空注解
- 增加对实体缩放属性的原生兼容性,并更新了 GeoEntityRenderer#applyRotations
- 移除 MathParser 中已弃用的无用方法
NeoForge 1.21
on 2026 Apr 25v4.5.4.1
- 修复 Forge 上的网络连接错误
Forge 1.21
on 2026 Apr 25v4.5.4.1
- 修复 Forge 上的网络错误
Forge 1.20.6
on 2026 Apr 25v4.5.4
- 为格式异常的基岩版动画 JSON 添加额外处理
- 修复启动过程中有时发生的 ConcurrentModificationException 异常
- 为无效模型添加合理性检查,防止其错误地将自身设为父级
NeoForge 1.20.6
on 2026 Apr 25v4.5.4
- 为格式异常的基岩版动画 JSON 添加了额外的处理逻辑
- 修复了启动过程中偶尔发生的 ConcurrentModificationException 异常
- 为无效模型添加了合理性检查,防止模型意外地将自身设为父级
NeoForge 1.20.1
on 2026 Apr 25v4.4.6
- 为模型文件解析添加了一些额外的错误处理
- 为动画文件解析添加了一些额外的错误处理
- 添加了对无效模型的合理性检查,防止模型意外地将自身设为父级
- 增加了对边缘情况 Bedrock 动画文件的额外处理
Forge 1.20.1
on 2026 Apr 25v4.4.6
- 为模型文件解析添加了一些额外的错误处理
- 为动画文件解析添加了一些额外的错误处理
- 添加了对无效模型的合理性检查,这些模型不知何故将自身设为父级
- 增加了对边缘情况的基岩版动画文件的额外处理
NeoForge 1.20.1
on 2026 Apr 25v4.4.5
- 移除 GeoModel#handleAnimations 的 final 修饰符并添加内部注解
- 将 GUI 光照提取为独立方法以便于在 GeoItemRenderer 中重写,并移至 VertexConsumer 初始化之前 #584
- 修复部分不一致的代码格式
- 优化模型加载的性能与日志记录(大致关联 #573)
- 添加默认死亡动画 (#569)
- 使用 GeoRenderer#getModel 替代直接字段访问,以支持子类重写
- 修复因在同一帧内交换烘焙几何模型与动画而导致的崩溃
Forge 1.20.1
on 2026 Apr 25v4.4.5
- 移除 GeoModel#handleAnimations 的 final 修饰符,并添加 internal 注解
- 将 GUI 光照逻辑提取为独立方法,便于在 GeoItemRenderer 中重写,并将其移至 VertexConsumer 初始化之前 #584
- 修复部分不一致的代码格式
- 改进模型加载时的性能与日志记录(与 #573 大致相关)
- 为死亡状态添加默认动画 (#569)
- 使用 GeoRenderer#getModel 替代直接字段访问,以支持子类重写
- 修复因在同一帧内交换已烘焙的 geomodel 与动画而导致的崩溃问题
NeoForge 1.20.6
on 2026 Apr 25v4.5.3
- 将 GeoItemRenderer 中的光照设置移至缓冲区 VertexConsumer 设置之前,以便自定义处理器能够正确应用上下文 #584
- 将 GeoItemRenderer 中的光照设置移至独立方法 #setupLightingForGuiRender,便于操作
- 移除 GeoModel#handleAnimations 的
final修饰符,改用 APIStatus.Internal 注解以允许重写。除非明确必要,用户仍应避免重写此方法 - 渲染完成后移除渲染器中未使用的缓存动画实例,以避免内存泄漏
NeoForge 1.20.6
on 2026 Apr 25v4.5.2
- 修复了某些动画文件解析时导致的崩溃问题 #582
- 修复了 Molang 表达式数学解析器中运算符优先级处理错误的问题 #579
- 加载动画解析失败时将不再导致游戏崩溃
- GeckoLib 的日志条目将使用正确的名称,而非 "GeckolibLogger"



