BBSMC Logo
模组整合包光影资源包软件汉化插件数据包地图
登录
模组插件数据包光影资源包整合包软件汉化地图
登录
设置
GeckoLib
GeckoLib

GeckoLib

GeckoLib 是《我的世界》模组的动画与渲染引擎,支持多种功能,如 3D 关键帧动画、缓动效果等。

前置实用工具装饰
2,0261a year ago
GeckoLib

GeckoLib

GeckoLib 是《我的世界》模组的动画与渲染引擎,支持多种功能,如 3D 关键帧动画、缓动效果等。

2,026
1
前置
实用工具
装饰

基本信息

我的世界Java版本

26.1.2
26.1
1.21.10–1.21.11
1.21.3–1.21.8
1.21–1.21.1
1.20.4–1.20.6
1.20–1.20.2
1.19.1–1.19.4
1.18.2
1.17.1
1.16.5
1.15.2
1.12.2

平台

\n \n \n Fabric
\n \n \n Forge
NeoForge
\n \n \n \n \n \n \n \n \n Quilt

运行环境

客户端和服务端

分类

前置
实用工具
装饰

其他链接

反馈问题 查看源码
Modrinth

搬运团队

BBSMC 官方搬运(1)
BBSMC 官方搬运(1)团队

搬运资源声明

对于可进行 JAR 文件搬运的许可证,我们提供站内下载服务;其他资源会跳转到原帖下载。资源更新可能不及时,建议前往资源内提供的原帖链接下载最新版本。

详情信息

许可证 MIT
发布于 2024-11-28
更新于 2026-04-25
简介渲染图更新日志版本百科反馈讨论

全部版本

1
11
12
13
22

Fabric 26.1.2-5.5.1

on 2026 Apr 12
下载

GeckoLib v5.5.1

变更

API

  • 添加了 CustomBoneTextureGeoLayer#shouldRenderBone,以支持处理自定义隐藏的骨骼

Bug 修复

  • 修复了 query.limb_swing 插值不正确的问题(#834)

NeoForge 26.1-5.5

on 2026 Mar 24
下载

GeckoLib v5.5

  • 移植到 26.1

变更

API

  • 将 GeckoLib 的基础包从 software.bernie.geckolib 重构为 com.geckolib
  • 添加了 GeoLocator - 一种用于定位器的对象实现。它们仅用于监听渲染位置
    • 添加了 BakedGeoModel#getLocator 和 BakedGeoModel#locators
    • 添加了 GeoBone#locators
    • 添加了 RenderPassUtil#addLocatorPositionListener
    • 将 GeoBone#updateBonePositionListeners 提取为 RenderUtil#providePositionsToListeners
  • 修改了 GeckoLib 的资源加载方式,以允许完全自定义的资源格式
    • 提供对 Resource 实例的根级访问。编写一个适配器,即可从你想要的任何格式中读取资源文件!
    • 将 GeckoLibLoader 从 SPI 改为可注册接口
    • 添加了 GeckoLibUtil#addResourceLoader
    • 移除了 GeckoLibUtil#addCustomBakedModelFactory
    • 将 BakedGeoModel 转换为非 record、可扩展的类,以便潜在的第三方适配器使用
    • 将 Animation 转换为非 record、可扩展的类,以便潜在的第三方适配器使用
    • 将 ModelProperties 转换为非 record、可扩展的类,以便潜在的第三方适配器使用
    • 将 MathParser 改回可实例化对象,以支持可扩展实现,并为其添加了去重方案,同时进行了整体清理
    • 改进了 MathParser 的去重方案,进一步降低内存占用
    • 移除了 BakedAnimationsAdapter 和 KeyFrameMarkersAdapter
    • 移除了旧版加载对象:
      • Bone
      • Cube
      • FaceUV
      • LocatorClass
      • LocatorValue
      • MinecraftGeometry
      • Model
      • PolyMesh
      • PolysUnion
      • TextureMesh
      • UVFaces
      • UVUnion
      • BoneStructure
      • GeometryTree
      • 将 ModelProperties 移动到 geckolib.cache.model
      • 将 BakedAnimations 移动到 geckolib.cache.animation
  • 清理了 EasingType
    • 为 EasingType 和 GeckoLibUtil 添加了无参数工厂构造器
    • 添加了 EasingState#interpolate
    • 添加了 EasingState#getFirstEasingArg
    • 添加了 EasingType#modifyKeyframes
    • 将 EasingType#register 改为返回泛型类型,而不是 EasingType
    • 移除了 EasingType#easeIn
    • 移除了 EasingType#lerpWithOverride
    • 移除了 EasingType#fromJson
  • 添加了 BakedAnimationCache#size 和 BakedModelCache#size
  • 为 BakedGeoModel 的 ModelProperties 添加了 .json 资源路径
  • 移除了 GeoReplacedEntity#getReplacingEntityType,因为它已不再使用
  • 将所有 Javadocs 转换为 Markdown 格式
  • 折叠了 BakedGeoModel 和 GeoBone 中的内部实现方法,以优化 API 可见性
  • 移除了基于 TokenType 的 DataTickets 的类参数,并正确为内置 GeckoLib tickets 添加了类型
  • 移除了 MiscUtil#WORLD_TO_MODEL_SIZE
  • 移除了 MiscUtil#MODEL_TO_WORLD_SIZE
  • 添加了 JsonUtil#worldToModelUnits 和 JsonUtil#modelToWorldUnits
  • 从以下类中移除了渲染状态的双类型泛型:
    • DirectionalProjectileRenderer
    • DyeableGeoArmorRenderer
    • GeoArmorRenderer
    • GeoBlockRenderer
    • GeoEntityRenderer
    • GeoReplacedEntityRenderer
  • 将 ModelFormatVersion 移动到 com.geckolib.loading.definition.geometry.object
  • 将 Rotation 重命名为 UvFaceRotation,并移动到 com.geckolib.loading.definition.geometry.object
  • 由于已不再使用,移除了 DefaultedEntityGeoModel 中的 headBone 及其相关构造器
  • 为 DefaultedBlockGeoModel、DefaultedEntityGeoModel 和 DefaultedItemGeoModel 添加了直接对象构造器
  • 移除了 GeckoLibPlatform#getGameDir,因为它已不再使用
  • 移除了 SerializableDataTickets。自 1.21.x 早期版本以来,它们在 GeckoLib 中就已经没有位置了,而且始终存在无法解决的实现问题。
  • 添加了 VanillaModelModifier - 这主要是一个内部实现类,用来弥补原版实现留下的空缺
  • 修复并重新启用了 ItemArmorGeoLayer,并为非 Equippable 物品添加了支持
  • GeoRenderer#performRenderPass 现在在开始渲染通道时支持多个预制 BoneUpdaters
  • 按照 Minecraft 标准,将渲染中的一些 BlockState 和 ItemStack 引用转换为 ItemStackRenderState 和 BlockModelRenderState
    • 原版尚未建立能让这套系统无处不在的完整机制,所以我只是尽可能在能做的地方做了
    • 添加了 RenderUtil#createRenderStateForItem
    • 添加了 RenderUtil#createRenderStateForBlock
  • 添加了 DataTickets#create,作为创建 DataTickets 的快捷/辅助方法
  • 将 DataTicket.GLOW_COLOUR 更改为 DataTicket.OUTLINE_COLOR
  • 将 DataTicket.BLOCK_FACING 移动到 GeoBlockRenderer.DIRECTION_FACING
  • 将 DataTicket.ITEM 移动到 GeoItemRenderer.CURRENT_ITEM
  • 将 DataTicket.EQUIPMENT_SLOT 移动到 GeoArmorRenderer.CURRENT_SLOT
  • 将 DataTicket.IS_GECKOLIB_WEARER 移动到 GeoArmorRenderer.IS_GECKOLIB_WEARER
  • 将 DataTicket.HUMANOID_MODEL 移动到 GeoArmorRenderer.BASE_MODEL
  • 在 GeoBlockRenderer 的构造器中添加了 BlockEntityRendererProvider.Context

其他

  • 将 1.16.0 和 1.19.30 添加到已知的几何模型定义中
  • 提升了资源加载性能
  • 为 BlockEntityRenderState -> GeoRenderState 添加了接口注入
  • GeckoLib 在无法找到模型时将不再崩溃;取而代之的是渲染一个缺失材质的立方体

Bug 修复

  • 修复了 RenderUtil#transformToBone 以反向顺序运行的问题
  • 修复了 AnimationController 使用了错误 InternalApi 注解的问题
  • 修复了顶层骨骼不总是向 BonePositionListeners 提供正确位置的问题
  • 修复了 GeckoLib 模型骨骼在嵌套于父骨骼下时不按正确顺序渲染的问题
  • 修复了 GeckoLib 模型加载未正确遵循 mirror 和 inflate 值的问题
  • 减少了 0 深度立方体背面的 z-fighting。别再把你的立方体做成 0 厚度了!

Fabric 26.1-5.5

on 2026 Mar 24
下载

GeckoLib v5.5

  • 移植到 26.1

变更

API

  • 将 GeckoLib 的基础包从 software.bernie.geckolib 重构为 com.geckolib
  • 添加了 GeoLocator —— 用于定位器的对象实现。它们仅用于监听渲染位置
    • 添加了 BakedGeoModel#getLocator 和 BakedGeoModel#locators
    • 添加了 GeoBone#locators
    • 添加了 RenderPassUtil#addLocatorPositionListener
    • 将 GeoBone#updateBonePositionListeners 提取为 RenderUtil#providePositionsToListeners
  • 修改了 GeckoLib 的资源加载方式,以支持完全自定义的资源格式
    • 提供对 Resource 实例的根级访问。你可以编写一个适配器,从任意你想要的格式中读取资源文件!
    • 将 GeckoLibLoader 从 SPI 改为可注册接口
    • 添加了 GeckoLibUtil#addResourceLoader
    • 移除了 GeckoLibUtil#addCustomBakedModelFactory
    • 将 BakedGeoModel 转换为非 record、可继承的类,以支持潜在的第三方适配器
    • 将 Animation 转换为非 record、可继承的类,以支持潜在的第三方适配器
    • 将 ModelProperties 转换为非 record、可继承的类,以支持潜在的第三方适配器
    • 将 MathParser 改回可实例化对象,以支持可扩展实现,并为其添加了去重方案,同时进行了整体清理
    • 改进了 MathParser 的去重方案,进一步降低了内存占用
    • 移除了 BakedAnimationsAdapter 和 KeyFrameMarkersAdapter
    • 移除了旧版加载对象:
      • Bone
      • Cube
      • FaceUV
      • LocatorClass
      • LocatorValue
      • MinecraftGeometry
      • Model
      • PolyMesh
      • PolysUnion
      • TextureMesh
      • UVFaces
      • UVUnion
      • BoneStructure
      • GeometryTree
      • 将 ModelProperties 移动到 geckolib.cache.model
      • 将 BakedAnimations 移动到 geckolib.cache.animation
  • 清理了 EasingType
    • 为 EasingType 和 GeckoLibUtil 添加了无参数工厂构造方法
    • 添加了 EasingState#interpolate
    • 添加了 EasingState#getFirstEasingArg
    • 添加了 EasingType#modifyKeyframes
    • 将 EasingType#register 的返回类型改为泛型,而不是 EasingType
    • 移除了 EasingType#easeIn
    • 移除了 EasingType#lerpWithOverride
    • 移除了 EasingType#fromJson
  • 添加了 BakedAnimationCache#size 和 BakedModelCache#size
  • 为 BakedGeoModel 的 ModelProperties 添加了 .json 资源路径
  • 移除了 GeoReplacedEntity#getReplacingEntityType,因为它已不再使用
  • 将所有 Javadocs 转换为 Markdown 格式
  • 为了 API 可见性,折叠了 BakedGeoModel 和 GeoBone 中的内部实现方法
  • 移除了基于 TokenType 的 DataTickets 的类参数,并为 GeckoLib 内置 tickets 正确添加了类型
  • 移除了 MiscUtil#WORLD_TO_MODEL_SIZE
  • 移除了 MiscUtil#MODEL_TO_WORLD_SIZE
  • 添加了 JsonUtil#worldToModelUnits 和 JsonUtil#modelToWorldUnits
  • 从以下类中移除了渲染状态的双类型泛型:
    • DirectionalProjectileRenderer
    • DyeableGeoArmorRenderer
    • GeoArmorRenderer
    • GeoBlockRenderer
    • GeoEntityRenderer
    • GeoReplacedEntityRenderer
  • 将 ModelFormatVersion 移动到 com.geckolib.loading.definition.geometry.object
  • 将 Rotation 重命名为 UvFaceRotation,并移动到 com.geckolib.loading.definition.geometry.object
  • 由于已不再使用,移除了 DefaultedEntityGeoModel 中的 headBone 及其相关构造器
  • 为 DefaultedBlockGeoModel、DefaultedEntityGeoModel 和 DefaultedItemGeoModel 添加了直接对象构造器
  • 移除了 GeckoLibPlatform#getGameDir,因为它已不再使用
  • 移除了 SerializableDataTickets。自 1.21.x 早期版本以来,它们在 GeckoLib 中就已经没有合适的位置,而且始终存在无法解决的实现问题。
  • 添加了 VanillaModelModifier —— 这主要是一个内部实现类,用于弥补原版实现留下的空缺
  • 修复并重新启用了 ItemArmorGeoLayer,并添加了对非 Equippable 物品的支持
  • GeoRenderer#performRenderPass 现在在开始渲染通道时支持多个预制 BoneUpdaters
  • 根据 Minecraft 标准,将渲染中的部分 BlockState 和 ItemStack 引用转换为 ItemStackRenderState 和 BlockModelRenderState
    • 原版目前还没有把这些系统全面铺开,所以我只能先在能做的地方进行处理
    • 添加了 RenderUtil#createRenderStateForItem
    • 添加了 RenderUtil#createRenderStateForBlock
  • 添加了 DataTickets#create,作为创建 DataTickets 的快捷/辅助方法
  • 将 DataTicket.GLOW_COLOUR 改为 DataTicket.OUTLINE_COLOR
  • 将 DataTicket.BLOCK_FACING 移动到 GeoBlockRenderer.DIRECTION_FACING
  • 将 DataTicket.ITEM 移动到 GeoItemRenderer.CURRENT_ITEM
  • 将 DataTicket.EQUIPMENT_SLOT 移动到 GeoArmorRenderer.CURRENT_SLOT
  • 将 DataTicket.IS_GECKOLIB_WEARER 移动到 GeoArmorRenderer.IS_GECKOLIB_WEARER
  • 将 DataTicket.HUMANOID_MODEL 移动到 GeoArmorRenderer.BASE_MODEL
  • 在 GeoBlockRenderer 的构造器中添加了 BlockEntityRendererProvider.Context

其他

  • 将 1.16.0 和 1.19.30 添加到已知几何模型定义中
  • 提升了资源加载性能
  • 为 BlockEntityRenderState -> GeoRenderState 添加了接口注入
  • 当无法找到模型时,GeckoLib 将不再崩溃;取而代之的是渲染一个缺失材质的立方体

Bug 修复

  • 修复了 RenderUtil#transformToBone 以反向顺序运行的问题
  • 修复了 AnimationController 使用了错误的 InternalApi 注解的问题
  • 修复了顶级骨骼并不总是能向 BonePositionListeners 提供正确位置的问题
  • 修复了 GeckoLib 模型骨骼在嵌套于父骨骼下时未按正确顺序渲染的问题
  • 修复了 GeckoLib 模型加载未正确遵循 mirror 和 inflate 值的问题
  • 减少了 0 深度立方体背面的 z-fighting。别再把你的立方体做成 0 厚度了!

NeoForge 1.21.11-5.4.5

on 2026 Mar 03
下载

GeckoLib v5.4.5

错误修复

  • 修复了动画在结束时有时会过渡到自身的问题
  • 修复了 CustomBoneTextureGeoLayer 未在正确位置渲染的问题
  • 修复了 MathParser 未能正确解析组内负数的问题

Forge 1.21.11-5.4.5

on 2026 Mar 03
下载

GeckoLib v5.4.5

修复的错误

  • 修复了动画在结束时有时会过渡到自身的问题
  • 修复了 CustomBoneTextureGeoLayer 未在正确位置渲染的问题
  • 修复了 MathParser 未能正确解析组内负数的问题

Fabric 1.21.11-5.4.5

on 2026 Mar 03
下载

GeckoLib v5.4.5

修复的错误

  • 修复了动画在结束时有时会过渡到自身的问题
  • 修复了 CustomBoneTextureGeoLayer 渲染位置不正确的问题
  • 修复了 MathParser 无法正确解析组内负数的问题

NeoForge 1.21.11-5.4.4

on 2026 Feb 27
下载

GeckoLib v5.4.4

更改

API

  • 新增 RenderPassInfo#getPreRenderMatrixPose 与 RenderPassInfo#getModelRenderMatrixPose,用于捕获完整的 PoseStack 姿态,而不仅限于矩阵姿态本身
  • 新增 OverridingDataTicket —— 一种 DataTicket 实现,优先使用已存在的 RenderState 字段值,再应用自身逻辑
    • 此机制可捕获那些在渲染器提取后、由原版或其他模组修改的 RenderState 字段值(修复 #818)

错误修复

  • 修复循环动画有时导致实体消失的问题
  • 修复 GeckoLib 在关键帧键为空字符串时无法加载动画的问题
  • 修复 RenderUtil#transformToBone 对 PoseStack 执行反向操作的问题(#819)
  • 修复 RenderUtil#transformToBone 未考虑回退至支点位置的问题(#822)
  • 修复 MathParser 有时错误解析数学表达式的问题(#820)
  • 修复未注册为同步动画实体的 GeoItem 有时发生 ID 冲突的问题
  • 修复在极特定情况下某些动画偶尔重复播放最后几帧的问题

Forge 1.21.11-5.4.4

on 2026 Feb 27
下载

GeckoLib v5.4.4

更改

API

  • 新增 RenderPassInfo#getPreRenderMatrixPose 与 RenderPassInfo#getModelRenderMatrixPose,用于捕获完整的 PoseStack 姿态,而不仅限于矩阵姿态本身
  • 新增 OverridingDataTicket —— 一种 DataTicket 实现,优先使用已存在的 RenderState 字段值,再应用自身逻辑
    • 此机制可捕获那些在渲染器提取后被原版或其他模组修改的 RenderState 字段值(修复 #818)

问题修复

  • 修复了循环动画有时导致实体消失的问题
  • 修复了 GeckoLib 在关键帧键为空字符串时无法加载动画的问题
  • 修复了 RenderUtil#transformToBone 对 PoseStack 的操作顺序颠倒的问题(#819)
  • 修复了 RenderUtil#transformToBone 未考虑回退至支点位置的问题(#822)
  • 修复了 MathParser 有时错误解析数学表达式的问题(#820)
  • 修复了未注册为同步可动画物品的 GeoItem 有时发生 ID 冲突的问题
  • 修复了在极特定情况下某些动画偶尔重复播放最后几帧的问题

Fabric 1.21.11-5.4.4

on 2026 Feb 27
下载

GeckoLib v5.4.4

更改

API

  • 新增 RenderPassInfo#getPreRenderMatrixPose 与 RenderPassInfo#getModelRenderMatrixPose,用于捕获完整的 PoseStack 姿态,而不仅限于矩阵姿态本身
  • 新增 OverridingDataTicket —— 一种 DataTicket 实现,优先使用已存在的 RenderState 字段值,再应用自身逻辑
    • 此机制可捕获那些在渲染器提取后、由原版或其他模组修改的 RenderState 字段值(修复 #818)

Bug 修复

  • 修复循环动画有时导致实体消失的问题
  • 修复 GeckoLib 在关键帧键为空字符串时无法加载动画的问题
  • 修复 RenderUtil#transformToBone 对 PoseStack 执行反向操作的问题(#819)
  • 修复 RenderUtil#transformToBone 未考虑回退至支点位置的问题(#822)
  • 修复 MathParser 有时错误解析数学表达式的问题(#820)
  • 修复未注册为同步动画实体的 GeoItem 有时发生 ID 冲突的问题
  • 修复某些动画在极特定情况下偶尔重复播放最后几帧的问题

NeoForge 1.21.11-5.4.3

on 2026 Jan 28
下载

GeckoLib v5.4.3

新增内容

  • 新增 RenderUtil#prepMatrixForBoneAndUpdateListeners
  • 新增 RenderUtil#addPosToMatrix

错误修复

  • 修复骨骼位置监听器未能获取正确位置的问题

Forge 1.21.11-5.4.3

on 2026 Jan 28
下载

GeckoLib v5.4.3

新增内容

  • 新增 RenderUtil#prepMatrixForBoneAndUpdateListeners
  • 新增 RenderUtil#addPosToMatrix

错误修复

  • 修复骨骼位置监听器未获取正确位置的问题

Fabric 1.21.11-5.4.3

on 2026 Jan 28
下载

GeckoLib 5.4.3 版

新增内容

  • 新增 RenderUtil#prepMatrixForBoneAndUpdateListeners
  • 新增 RenderUtil#addPosToMatrix

错误修复

  • 修复骨骼位置监听器未能获取正确位置的问题

NeoForge 1.21.11-5.4.2

on 2026 Jan 11
下载

GeckoLib v5.4.2

新增内容

  • 添加了基于骨骼名称的 RenderPassInfo#addBonePositionListener 等效功能
  • 为 Common、NeoForge 和 Fabric 添加了传递性接口注入
  • 为 DataTickets 添加了类的 TypeToken 替代方案,以支持泛型类型的 DataTickets

错误修复

  • 修复了导致动画的第一个关键帧被完全跳过的问题 (#807, #805)
  • 修复了“保持在最后一帧”循环类型无法正常工作的问题 (#806)

Forge 1.21.11-5.4.2

on 2026 Jan 11
下载

GeckoLib v5.4.2

新增内容

  • 添加了基于骨骼名称的 RenderPassInfo#addBonePositionListener 等效功能
  • 为 Common、NeoForge 和 Fabric 添加了传递性接口注入
  • 为 DataTickets 添加了 TypeToken 替代类,以支持泛型类型的 DataTickets

错误修复

  • 修复了导致动画的第一个关键帧被完全跳过的错误 (#807, #805)
  • 修复了“保持在最后一帧”的循环类型无法正常工作的问题 (#806)

Fabric 1.21.11-5.4.2

on 2026 Jan 11
下载

GeckoLib v5.4.2

新增

  • 添加了基于骨骼名称的 RenderPassInfo#addBonePositionListener 等效功能
  • 为 Common、[Neo] 和 Fabric 添加了传递性接口注入
  • 为 DataTickets 添加了类的 TypeToken 替代方案,以支持泛型类型的 DataTickets

Bug 修复

  • 修复了导致动画的第一个关键帧被完全跳过的问题 (#807, #805)
  • 修复了“保持在最后一帧”循环类型不生效的问题 (#806)

NeoForge 1.21.11

on 2026 Jan 01
下载

GeckoLib v5.4.1

更新内容:

  • 清理了一些过时的提示信息
  • 为 RenderPassInfo#addBoneUpdater 中的 DeferredCache 错误添加了更多上下文信息

错误修复:

  • 修复了 AnimationController 有时认为时间倒流的问题(感谢 Mojang?)
  • 修复了 AnimationController 在处理触发动画时使用了游戏刻而非秒数的问题
  • 修复了关键帧标记未被正确触发(或有时完全不触发)的问题
  • 修复了代码中循环类型设置未被遵守的问题

Forge 1.21.11

on 2026 Jan 01
下载

GeckoLib v5.4.1

更新内容:

  • 清理了一些过时的提示信息
  • 为 RenderPassInfo#addBoneUpdater 中的 DeferredCache 错误添加了更多上下文信息

修复内容:

  • 修复了 AnimationController 有时认为时间倒流的问题(感谢 Mojang?)
  • 修复了 AnimationController 在处理触发动画时以游戏刻而非秒为单位的问题
  • 修复了关键帧标记未被正确触发(或有时根本不触发)的问题
  • 修复了代码中设置的循环类型未被遵守的问题

Fabric 1.21.11

on 2026 Jan 01
下载

GeckoLib v5.4.1

更新内容:

  • 清理了一些过时的提示信息
  • 为来自 RenderPassInfo#addBoneUpdater 的 DeferredCache 错误添加了更多上下文信息

问题修复:

  • 修复了 AnimationController 有时认为时间倒流的问题(感谢 Mojang?)
  • 修复了 AnimationController 在处理触发动画时使用的是游戏刻而非秒数的问题
  • 修复了关键帧标记未被正确触发(或有时根本不触发)的问题
  • 修复了代码中设置的循环类型未被遵守的问题

NeoForge 1.21.11

on 2025 Dec 29
下载

GeckoLib v5.4

变更:

修复:

  • 修复 GeoArmorRenderer 渲染异常的问题
  • 修复在使用渲染层时 GeoArmorRenderer 崩溃的问题
  • 修复动画在已完成的前一个动画基础上继续插值的问题
  • 修复当过渡时间存在时,动画结束未能正确返回基础姿态的问题
  • 修复骨骼默认旋转时动画旋转不正确的问题
  • 修复骨骼缩放未生效的问题

API:

  • GeoRenderState#addGeckolibData 不再接受 null 值
  • 重新添加 #setTransitionTicks 到 AnimationController
  • 添加 JsonUtil#jsonToVec3 直接辅助方法
  • 开始构建基于 SPI 的 .json 反序列化管道,以实现更安全、更可扩展的模型与动画加载
    • 默认情况下,GeckoLib 将继续使用 GSON 反序列化为中间的未烘焙对象
      • 我正考虑开发一个 GeckoLib 附加组件,使用更快的库(可能是 FastJson?)来加速资源加载,可能大幅提升性能
    • 此系统尚未完全实现,但大部分代码已编写并审查完毕,确保其符合当前 Bedrock 几何体与动画规范(分别为 1.21.0 和 1.8.0)
    • 理论上这将允许模组作者创建自己的适配器,用于自定义加载或处理,同时不牺牲安全性
  • 移除 GeckoLibClient#getGeoModelForItem,因其未被使用且多余,请改用 RenderUtil#getGeckoLibItemRenderer 并按需获取模型
  • 将 GeckoLibServices.Client 提取为 GeckoLibClientServices,因为 Java 编译时常无故失败
  • 创建 GeoBone#positionAndRender,用于实现指定骨骼的完整渲染操作
  • 为 GeoRenderState#getOrDefaultGeckolibData 添加基于 supplier 的备用重载,支持延迟计算
  • 添加 SerializableDataTicket#enforceValidTicket

内部:

  • 将 GeckoLib 的空值注解迁移至 JSpecify 规范
    • 您会发现库中空值标注和空值处理显著增加,有助于消除对代码状态的困惑
  • 进一步清理 Javadoc
  • 新增大量文档,特别是 package-info 文件和参数类型描述
  • 将 RawAnimation#additionalTicks 重命名为 RawAnimation#waitTicks
  • 从骨骼格式中移除 bind_pose_rotation 旧版支持
  • 移除未使用的 AnimationVariables 类
  • 将 GeoObjectRenderer 的关联对象泛型类型从 E 更改为 O,以与其他部分保持一致
  • 将 BoneSnapshots、PerBoneRender 和 RenderPassInfo 移至渲染器基础包
  • 将各种内置的 GeoRenderLayer 类移至 builtin 子包
  • 将 GeckoLib 的 GSON 实例从 KeyFramesAdapter 移至 GeckoLibResources
  • 将 KeyFramesAdapter 重命名为 KeyFrameMarkersAdapter
  • 在整个库中清理并标准化空值处理
  • 更新部分更新前遗留的过时 Javadoc

Forge 1.21.11

on 2025 Dec 29
下载

GeckoLib v5.4

变更:

修复:

  • 修复了 GeoArmorRenderer 无法正确渲染的问题
  • 修复了在使用 renderlayers 时 GeoArmorRenderer 崩溃的问题
  • 修复了动画在已完成的前一个动画基础上继续插值的问题
  • 修复了当动画结束且存在过渡时间时,未能正确返回基础姿态的问题
  • 修复了默认旋转的骨骼在动画过程中旋转不正确的问题
  • 修复了骨骼缩放未生效的问题

API:

  • GeoRenderState#addGeckolibData 不再接受 null 值
  • 重新添加了 AnimationController 中的 #setTransitionTicks 方法
  • 添加了 JsonUtil#jsonToVec3 直接辅助方法
  • 开始构建基于 SPI 的 .json 反序列化管道,以实现更安全、更可扩展的模型和动画加载
    • 默认情况下,GeckoLib 将继续使用 GSON 反序列化为中间的未烘焙对象
      • 我正在考虑开发一个 GeckoLib 附加组件,使用更快的库(可能是 FastJson?)来加速资源加载,可能大幅提升性能
    • 该系统尚未完全实现,但大部分代码已经编写并审查完毕,确保其符合当前 Bedrock 几何与动画规范(分别为 1.21.0 和 1.8.0)
    • 理论上这将允许模组作者创建自己的适配器,用于自定义加载或处理,同时不牺牲安全性
  • 移除了未使用且不必要的 GeckoLibClient#getGeoModelForItem,请改用 RenderUtil#getGeckoLibItemRenderer 并按需获取模型
  • 将 GeckoLibServices.Client 提取为 GeckoLibClientServices,因为 Java 在编译时无故失败
  • 创建了 GeoBone#positionAndRender,实现了对指定骨骼的完整渲染操作
  • 为 GeoRenderState#getOrDefaultGeckolibData 添加了基于 Supplier 的备用重载,支持延迟计算
  • 添加了 SerializableDataTicket#enforceValidTicket

内部:

  • 将 GeckoLib 的空值注解迁移至 JSpecify 规范
    • 您会发现库中显著增加了空值注解和空值处理,有助于消除对代码状态的困惑
  • 进一步清理了 Javadoc
  • 添加了大量额外文档——特别是 package-info 文件和参数类型描述
  • 将 RawAnimation#additionalTicks 重命名为 RawAnimation#waitTicks
  • 从 Bone 格式中移除了 bind_pose_rotation 的旧版支持
  • 移除了未使用的 AnimationVariables 类
  • 将 GeoObjectRenderer 中相关对象的泛型类型从 E 更改为 O,以与其他部分保持一致
  • 将 BoneSnapshots、PerBoneRender 和 RenderPassInfo 移至渲染器基础包
  • 将各种内置的 GeoRenderLayer 类移至 builtin 子包
  • 将 GeckoLib 的 GSON 实例从 KeyFramesAdapter 移至 GeckoLibResources
  • 将 KeyFramesAdapter 重命名为 KeyFrameMarkersAdapter
  • 在整个库中清理并标准化了空值处理
  • 更新了一些更新前遗留的过时 Javadoc
1
11
12
13
22
BBSMC Logo

中国最活跃的 Minecraft 中文资源社区

QQ 群:1078515449

资源

模组整合包光影资源包地图

社区

汉化软件插件数据包

帮助

服务条款隐私政策社区规则开源代码
设置

"Minecraft"以及"我的世界"为美国微软公司的商标,本站与微软公司没有从属关系。 本站与 Modrinth 无从属关系,网站遵循 LGPL 协议开源。

© 2019-2026 青岛柒兮网络科技有限公司 | 鲁B2-20210590 | 鲁ICP备2021009459号-12 | 公安备案 鲁公网安备37021002001586号