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
2
22

Fabric 1.21.11

on 2026 Apr 25
下载

GeckoLib v5.4-alpha-1

变更:

NeoForge 1.21.10

on 2026 Apr 25
下载

GeckoLib v5.3-alpha-3

Alpha 3 更新说明:

  • 修复了世界加载时崩溃的问题(#776)
  • 对盔甲渲染和 ItemArmorGeoLayer 进行了更多内部调整
  • 很抱歉地通知大家,下个版本中还会出现更多 API 变更 :(

Alpha 2 更新说明:

  • 修复在较新 Forge 版本上加载时 Forge 崩溃的问题(#773)
  • 修复未渲染完整套装时 GeoArmorRenderer 崩溃的问题(#771)
  • 将 BlockAndItemGeoLayer#renderStackForBone 和 #renderBlockForBone 分别重命名为 #submitItemStackRender 和 #submitBlockRender
  • 将 OBJECT_RENDER_POSE 与 MODEL_RENDER_POSE DataTickets 移至基础 GeoRenderer 类中,子类无需再在覆写方法中处理它们
  • 修复了每个 GeoBone 仅处理一个 PerBoneRenderTask 的问题
  • 新增 GeoBone#transformToBone
  • 将 PerBoneRender 任务拆分至 GeoRenderer#submitPerBoneRenderTasks
  • 移除了多个 GeoRenderer 方法调用中的 skipPerBoneTasks 参数,因其已不再需要
  • 新增 PerBoneRenderTasks 类,用于更清晰地处理日益复杂的逐骨骼渲染任务
  • 限制 GeoArmorLayer 的泛型类型必须为 AvatarRenderState,因为所用模型实际需要该类型
  • 新增 RenderStateUtil

更改内容

  • 移植至 1.21.10
    • 注意:此为 ALPHA 版本,在移除 alpha 标签前可能包含破坏性变更。
    • 大多数 GeoRenderer 不再填充 PACKED_LIGHT DataTicket,因为基础 RenderState 类现在默认已包含 lightCoords
    • 新增 GeoRenderState#getPackedLight
    • GeoRenderer#defaultRender 已重命名为 #submitRenderTasks,以更准确反映其当前功能(此时并未真正执行渲染)
    • GeoRenderer#actuallyRender 已重命名为 #buildRenderTask,以更准确反映其功能
    • GeoLayer#render 已重命名为 #buildRenderTask,以更准确反映其功能
    • 移除了 GeoRenderer#reRender。现在渲染层或渲染器应通过 GeoRenderer#buildRenderTask 提交新的渲染任务。因此,渲染器方法中不再需要检查 isReRender
    • preRender、scaleModelForRender 和 adjustPositionForRender 均已移至预渲染事件检查之后
    • 新增 GeoRenderer#createRenderState
    • 移除了 GeoEntityRenderer#createBaseRenderState —— 请改用 #createRenderState
    • 从默认设置中移除了多个 DataTicket,因其只是对现有原版属性的直接复制,此举旨在消除多重数据来源并提升性能
    • GeckoLib 渲染器中的各类 Matrix4f 变量现已移至 DataTicket
    • 移除了 GeoRenderer#doPostRenderCleanup
    • 在 GeoArmorLayer.RenderData 中添加了关联的 HumanoidModel
    • 新增 RenderModelPositioner
  • 重写了 GeoArmorRenderer —— 现在应该显著更易于使用和理解
  • 修改 DefaultedEntityGeoModel,使其接受可自定义的骨骼名称而非简单的布尔值
  • 为各类 GeoRenderer 添加了 #withRenderLayer 方法,以支持函数式实例化
  • GeoObjectRenderer 现在对其 GeoRenderState 使用泛型,从而支持泛型扩展
  • 直接将 partialTick 传递给 GeoRenderer#addRenderData、GeoRenderLayer#addRenderData、GeoModel#prepareForRenderPass 以及各类 CompileRenderState 事件/钩子(#762)
  • 将 GeoRenderer#adjustPositionForRender 重命名为 #adjustRenderPose,以更准确反映其预期用途
  • ItemArmorGeoLayer.RenderData 现在使用 GeoArmorRenderer.ArmorSegment,而非手动指定槽位和部件获取器
  • 使 GeoRenderEvent 及其各类子事件兼容多加载器(multiloader)
  • 所有平台特定的 GeckoLib 事件现已拆分为各自独立的类,以便更轻松地查找和管理。例如:CompileBlockRenderLayersEvent

新增内容

  • 添加了“无状态”(Stateless)动画实体。这是处理 GeckoLib 动画实体动画的另一种方式。
    • 参见:https://github.com/bernie-g/geckolib/wiki/Stateless-Animatable-Handling-(Geckolib5)
    • 新增:
      • StatelessGeoBlockEntity
      • StatelessGeoEntity
      • StatelessGeoObject
      • StatelessGeoReplacedEntity
      • StatelessGeoSingletonAnimatable
      • StatelessAnimationController
  • 新增 attack.punch 默认动画常量
  • 新增 misc.idle.flying 默认动画常量
  • 新增 move.dive 默认动画常量
  • 新增 DefaultAnimations#triggerOnlyController,用于创建专用于任意触发动画的控制器
  • 新增 RawAnimation#getStageCount
  • 新增 AnimationController#getStateHandler
  • 新增 DefaultAnimations#genericWalkFlyIdleController
  • 为各类 GeckoLib 渲染器添加了构造函数重载,可直接传入物品并使用对象注册的 ID 创建默认实例,便于快速简易处理
    • 例如:new GeoEntityRenderer(ModEntities.MY_ENTITY);
  • 新增 GeoRenderEvent#hasData
  • 新增 RenderUtil#getReplacedEntityRenderer
  • 新增 RenderUtil#getGeckoLibItemRenderer
  • 新增 RenderUtil#getGeckoLibEntityRenderer
  • 新增 RenderUtil#getGeckoLibBlockRenderer
  • 新增 RenderUtil#getGeckoLibArmorRenderer

修复内容

  • 添加双深度基岩关键帧解析,因为我不清楚为何 Blockbench 会导出这种格式
  • 修复多人游戏中其他玩家无法看到全新物品堆栈上触发的动画视觉效果的问题
  • 修复 AnimationController 中部分不正确的 Javadoc
  • 确保在传递给 GeoArmorRenderer 提取前正确提取 EntityRenderState

内部更改

  • 将 GeckoLib 的数据包重新组织到文件夹中
  • 为 Animation.Stage 添加了 StreamCodec 实现
  • 为 RawAnimation 添加了 StreamCodec 实现
  • 为更多内部方法及所有 Mixin 添加了 Javadoc 注释以提升清晰度
  • 改进了 GeoRenderEvent#getRenderData 的 Javadoc
  • 移除了 RenderUtil#getCurrentSystemTick
  • 移除了 RenderUtil#booleanToFloat
  • 移除了 RenderUtil#getGeoModelForEntityType
  • 移除了 RenderUtil#getGeoModelForEntity
  • 移除了 RenderUtil#getGeoModelForItem
  • 移除了 RenderUtil#getGeoModelForBlock
  • 移除了 RenderUtil#getGeoModelForArmor
  • 将 RenderUtil#getCurrentTick 移至 ClientUtil
  • 将 RenderUtil#arrayToVec 移至 JsonUtil
  • 从 GeoRenderProvider#getGeoArmorRenderer 中移除了部分冗余参数
  • 将 ItemArmorGeoLayer#prepHumanoidModelForRender 重命名为 #positionModelPartFromBone

Forge 1.21.10

on 2026 Apr 25
下载

GeckoLib v5.3-alpha-3

Alpha 3 更新说明:

  • 修复了世界加载时崩溃的问题(#776)
  • 对盔甲渲染和 ItemArmorGeoLayer 进行了更多内部调整
  • 很抱歉,下一版本中还会带来更多 API 变更 :(

Alpha 2 更新说明:

  • 修复在较新 Forge 版本上加载时 Forge 崩溃的问题(#773)
  • 修复未渲染完整套装时 GeoArmorRenderer 崩溃的问题(#771)
  • 将 BlockAndItemGeoLayer#renderStackForBone 和 #renderBlockForBone 分别重命名为 #submitItemStackRender 和 #submitBlockRender
  • 将 OBJECT_RENDER_POSE 和 MODEL_RENDER_POSE DataTickets 移至基类 GeoRenderer 中,使子类在覆写时无需再处理它们
  • 修复了每个 GeoBone 仅处理一个 PerBoneRenderTask 的问题
  • 新增 GeoBone#transformToBone
  • 将 PerBoneRender 任务拆分为 GeoRenderer#submitPerBoneRenderTasks
  • 移除了多个 GeoRenderer 方法调用中的 skipPerBoneTasks 参数,因其已不再需要
  • 新增 PerBoneRenderTasks 类,用于更清晰地处理日益复杂的按骨骼渲染任务
  • 限制 GeoArmorLayer 的泛型类型必须为 AvatarRenderState,因为模型实际需要的就是该类型
  • 新增 RenderStateUtil

更改内容

  • 移植至 1.21.10
    • 注意:此为 ALPHA 版本,在移除 alpha 标签前可能会有破坏性变更。
    • 大多数 GeoRenderer 不再填充 PACKED_LIGHT DataTicket,因为基础 RenderState 类现在默认已包含 lightCoords
    • 新增 GeoRenderState#getPackedLight
    • GeoRenderer#defaultRender 已重命名为 #submitRenderTasks,以更准确反映其当前功能(此时并未实际渲染)
    • GeoRenderer#actuallyRender 已重命名为 #buildRenderTask,以更准确反映其功能
    • GeoLayer#render 已重命名为 #buildRenderTask,以更准确反映其功能
    • 移除了 GeoRenderer#reRender。现在,渲染层或渲染器应通过 GeoRenderer#buildRenderTask 提交另一个渲染任务。因此,渲染器方法中不再需要检查 isReRender
    • preRender、scaleModelForRender 和 adjustPositionForRender 均已移至预渲染事件检查之后执行
    • 新增 GeoRenderer#createRenderState
    • 移除了 GeoEntityRenderer#createBaseRenderState —— 请改用 #createRenderState
    • 从默认设置中移除了多个 DataTickets,这些 DataTickets 仅是原版已有属性的直接复制,此举旨在消除多源真相并提升性能
    • GeckoLib 渲染器中的各类 Matrix4f 变量现已移至 DataTickets
    • 移除了 GeoRenderer#doPostRenderCleanup
    • 在 GeoArmorLayer.RenderData 中新增关联的 HumanoidModel
    • 新增 RenderModelPositioner
  • 重写了 GeoArmorRenderer —— 现在应该显著更易于使用和理解
  • 修改 DefaultedEntityGeoModel,使其接受可自定义的骨骼名称,而非简单的布尔值
  • 为各类 GeoRenderer 新增 #withRenderLayer 方法,以支持函数式实例化
  • GeoObjectRenderer 现在对其 GeoRenderState 使用泛型,以支持泛型扩展
  • 将 partialTick 直接传递给 GeoRenderer#addRenderData、GeoRenderLayer#addRenderData、GeoModel#prepareForRenderPass 以及各类 CompileRenderState 事件/钩子(#762)
  • 将 GeoRenderer#adjustPositionForRender 重命名为 #adjustRenderPose,以更准确反映其预期用途
  • ItemArmorGeoLayer.RenderData 现在使用 GeoArmorRenderer.ArmorSegment,而非手动的槽位和部件获取器
  • 使 GeoRenderEvent 及其各类子事件兼容多加载器(multiloader)
  • 所有平台特定的 GeckoLib 事件现已拆分为各自的独立类,以便于查找和管理。例如:CompileBlockRenderLayersEvent

新增内容

  • 新增“无状态”(Stateless)动画实体。这是处理 GeckoLib 动画实体的另一种方式。
    • 参见:https://github.com/bernie-g/geckolib/wiki/Stateless-Animatable-Handling-(Geckolib5)
    • 新增:
      • StatelessGeoBlockEntity
      • StatelessGeoEntity
      • StatelessGeoObject
      • StatelessGeoReplacedEntity
      • StatelessGeoSingletonAnimatable
      • StatelessAnimationController
  • 新增 attack.punch 默认动画常量
  • 新增 misc.idle.flying 默认动画常量
  • 新增 move.dive 默认动画常量
  • 新增 DefaultAnimations#triggerOnlyController,用于创建专用于任意触发动画的控制器
  • 新增 RawAnimation#getStageCount
  • 新增 AnimationController#getStateHandler
  • 新增 DefaultAnimations#genericWalkFlyIdleController
  • 为各类 GeckoLib 渲染器新增构造函数重载,可直接传入物品并使用对象注册的 ID 创建默认实例,便于快速便捷地处理
    • 例如:new GeoEntityRenderer(ModEntities.MY_ENTITY);
  • 新增 GeoRenderEvent#hasData
  • 新增 RenderUtil#getReplacedEntityRenderer
  • 新增 RenderUtil#getGeckoLibItemRenderer
  • 新增 RenderUtil#getGeckoLibEntityRenderer
  • 新增 RenderUtil#getGeckoLibBlockRenderer
  • 新增 RenderUtil#getGeckoLibArmorRenderer

问题修复

  • 添加对双深度基岩关键帧的解析,因为我不清楚为何 Blockbench 会导出这种格式
  • 修复多人游戏中其他玩家无法看到全新物品堆叠上触发的动画视觉效果的问题
  • 修复 AnimationController 中部分错误的 Javadoc
  • 确保在传递给 GeoArmorRenderer 提取前正确提取 EntityRenderState

内部更改

  • 将 GeckoLib 的数据包重新组织到文件夹中
  • 为 Animation.Stage 新增 StreamCodec 实现
  • 为 RawAnimation 新增 StreamCodec 实现
  • 为更多内部方法及所有 Mixin 添加 Javadoc 以提高清晰度
  • 改进了 GeoRenderEvent#getRenderData 的 Javadoc
  • 移除了 RenderUtil#getCurrentSystemTick
  • 移除了 RenderUtil#booleanToFloat
  • 移除了 RenderUtil#getGeoModelForEntityType
  • 移除了 RenderUtil#getGeoModelForEntity
  • 移除了 RenderUtil#getGeoModelForItem
  • 移除了 RenderUtil#getGeoModelForBlock
  • 移除了 RenderUtil#getGeoModelForArmor
  • 将 RenderUtil#getCurrentTick 移至 ClientUtil
  • 将 RenderUtil#arrayToVec 移至 JsonUtil
  • 从 GeoRenderProvider#getGeoArmorRenderer 中移除了部分冗余参数
  • 将 ItemArmorGeoLayer#prepHumanoidModelForRender 重命名为 #positionModelPartFromBone

Forge 1.21.10

on 2026 Apr 25
下载

GeckoLib v5.3-alpha-2

Alpha 2 更新说明:

  • 修复在较新 Forge 版本上加载时崩溃的问题(#773)
  • 修复未渲染完整套装时 GeoArmorRenderer 崩溃的问题(#771)
  • 将 BlockAndItemGeoLayer#renderStackForBone 和 #renderBlockForBone 分别重命名为 #submitItemStackRender 和 #submitBlockRender
  • 将 OBJECT_RENDER_POSE 与 MODEL_RENDER_POSE DataTicket 移至基类 GeoRenderer 中,子类在覆写时无需再手动处理
  • 修复每个 GeoBone 仅处理一个 PerBoneRenderTask 的问题
  • 新增 GeoBone#transformToBone
  • 将 PerBoneRender 任务拆分为 GeoRenderer#submitPerBoneRenderTasks
  • 移除多个 GeoRenderer 方法调用中的 skipPerBoneTasks 参数,因其已不再需要
  • 新增 PerBoneRenderTasks 类,用于更清晰地管理日益复杂的骨骼级渲染任务
  • 将 GeoArmorLayer 的泛型类型限制为必须使用 AvatarRenderState,因为所用模型实际需要该类型
  • 新增 RenderStateUtil

变更内容

  • 移植至 1.21.10
    • 注意:此为 ALPHA 版本,在移除 alpha 标签前可能会有破坏性变更。
    • 大多数 GeoRenderer 不再填充 PACKED_LIGHT DataTicket,因为基础 RenderState 类现在默认包含 lightCoords
    • 新增 GeoRenderState#getPackedLight
    • GeoRenderer#defaultRender 已重命名为 #submitRenderTasks,以更准确反映其当前功能(此时并未实际渲染)
    • GeoRenderer#actuallyRender 已重命名为 #buildRenderTask,以更准确反映其功能
    • GeoLayer#render 已重命名为 #buildRenderTask,以更准确反映其功能
    • 移除了 GeoRenderer#reRender。现在,渲染层或渲染器应通过 GeoRenderer#buildRenderTask 提交新的渲染任务。因此,渲染器方法中不再需要检查 isReRender
    • preRender、scaleModelForRender 和 adjustPositionForRender 现在均移至预渲染事件检查之后执行
    • 新增 GeoRenderer#createRenderState
    • 移除了 GeoEntityRenderer#createBaseRenderState —— 请改用 #createRenderState
    • 从默认设置中移除了多个 DataTicket,因其仅为原版已有属性的直接复制,此举旨在消除多源真相并提升性能
    • GeckoLib 渲染器中的各类 Matrix4f 变量现已移至 DataTicket
    • 移除了 GeoRenderer#doPostRenderCleanup
    • 在 GeoArmorLayer.RenderData 中添加了关联的 HumanoidModel
  • 重写了 GeoArmorRenderer —— 现在应显著更易于使用和理解
  • 修改 DefaultedEntityGeoModel,使其接受可自定义的骨骼名称,而非简单的布尔值
  • 为各类 GeoRenderer 添加了 #withRenderLayer 方法,支持函数式实例化
  • GeoObjectRenderer 现在对其 GeoRenderState 使用泛型,以支持泛型扩展
  • 直接将 partialTick 传递给 GeoRenderer#addRenderData、GeoRenderLayer#addRenderData、GeoModel#prepareForRenderPass 以及各类 CompileRenderState 事件/钩子(#762)
  • 将 GeoRenderer#adjustPositionForRender 重命名为 #adjustRenderPose,以更准确反映其预期用途
  • ItemArmorGeoLayer.RenderData 现在使用 GeoArmorRenderer.ArmorSegment,而非手动插槽和部件获取器
  • 使 GeoRenderEvent 及其各类子事件兼容多加载器(multiloader)
  • 所有平台特定的 GeckoLib 事件现已拆分为独立类,便于查找和管理,例如 CompileBlockRenderLayersEvent

新增内容

  • 新增“无状态”(Stateless)动画实体。这是处理 GeckoLib 动画实体动画的另一种方式。
    • 参见:https://github.com/bernie-g/geckolib/wiki/Stateless-Animatable-Handling-(Geckolib5)
    • 新增:
      • StatelessGeoBlockEntity
      • StatelessGeoEntity
      • StatelessGeoObject
      • StatelessGeoReplacedEntity
      • StatelessGeoSingletonAnimatable
      • StatelessAnimationController
  • 新增 attack.punch 默认动画常量
  • 新增 misc.idle.flying 默认动画常量
  • 新增 move.dive 默认动画常量
  • 新增 DefaultAnimations#triggerOnlyController,用于创建专用于任意触发动画的控制器
  • 新增 RawAnimation#getStageCount
  • 新增 AnimationController#getStateHandler
  • 新增 DefaultAnimations#genericWalkFlyIdleController
  • 为各类 GeckoLib 渲染器新增构造函数重载,可直接传入物品并基于其注册 ID 快速创建默认实例
    • 例如:new GeoEntityRenderer(ModEntities.MY_ENTITY);
  • 新增 GeoRenderEvent#hasData
  • 新增 RenderUtil#getReplacedEntityRenderer
  • 新增 RenderUtil#getGeckoLibItemRenderer
  • 新增 RenderUtil#getGeckoLibEntityRenderer
  • 新增 RenderUtil#getGeckoLibBlockRenderer
  • 新增 RenderUtil#getGeckoLibArmorRenderer

问题修复

  • 添加对双深度基岩关键帧的解析,因为我不清楚为何 Blockbench 会导出这种格式
  • 修复在多人游戏中,其他玩家无法看到全新物品堆栈上触发的动画的问题
  • 修复 AnimationController 中部分错误的 Javadoc
  • 确保在传递给 GeoArmorRenderer 提取前正确提取 EntityRenderState

内部变更

  • 将 GeckoLib 的数据包按文件夹重新组织
  • 为 Animation.Stage 添加 StreamCodec 实现
  • 为 RawAnimation 添加 StreamCodec 实现
  • 为更多内部方法及所有 Mixin 添加 Javadoc 以提高可读性
  • 改进了 GeoRenderEvent#getRenderData 的 Javadoc
  • 移除了 RenderUtil#getCurrentSystemTick
  • 移除了 RenderUtil#booleanToFloat
  • 移除了 RenderUtil#getGeoModelForEntityType
  • 移除了 RenderUtil#getGeoModelForEntity
  • 移除了 RenderUtil#getGeoModelForItem
  • 移除了 RenderUtil#getGeoModelForBlock
  • 移除了 RenderUtil#getGeoModelForArmor
  • 将 RenderUtil#getCurrentTick 移至 ClientUtil
  • 将 RenderUtil#arrayToVec 移至 JsonUtil
  • 从 GeoRenderProvider#getGeoArmorRenderer 中移除了部分冗余参数
  • 将 ItemArmorGeoLayer#prepHumanoidModelForRender 重命名为 #positionModelPartFromBone

NeoForge 1.21.10

on 2026 Apr 25
下载

GeckoLib v5.3-alpha-2

Alpha 2 更新说明:

  • 修复在较新版本 Forge 上加载时崩溃的问题 (#773)
  • 修复未渲染完整套装时 GeoArmorRenderer 崩溃的问题 (#771)
  • BlockAndItemGeoLayer#renderStackForBone 和 #renderBlockForBone 分别重命名为 #submitItemStackRender 和 #submitBlockRender
  • 将 OBJECT_RENDER_POSE 和 MODEL_RENDER_POSE DataTickets 移至基础 GeoRenderer,子类无需在覆盖方法中处理它们
  • 修复每个 GeoBone 仅处理一个 PerBoneRenderTask 的问题
  • 新增 GeoBone#transformToBone
  • 将 PerBoneRender 任务拆分至 GeoRenderer#submitPerBoneRenderTasks
  • 移除多个 GeoRenderer 方法调用中的 skipPerBoneTasks,因其已不再需要
  • 创建 PerBoneRenderTasks 以更清晰地处理日益复杂的逐骨骼渲染任务
  • 限制 GeoArmorLayer 的泛型类型必须为 AvatarRenderState,因为这是其模型实际所需的类型
  • 新增 RenderStateUtil

变更内容

  • 移植至 1.21.10
    • 注意:此为 ALPHA 版本,移除 alpha 标签前可能包含破坏性变更。
    • 大多数 GeoRenderers 不再填充 PACKED_LIGHT DataTicket,因为基础 RenderState 类现已默认包含 lightCoords
    • 新增 GeoRenderState#getPackedLight
    • GeoRenderer#defaultRender 已重命名为 #submitRenderTasks,以更准确反映其当前功能(此时并未实际渲染)
    • GeoRenderer#actuallyRender 已重命名为 #buildRenderTask,以更准确反映其功能
    • GeoLayer#render 已重命名为 #buildRenderTask,以更准确反映其功能
    • 移除 GeoRenderer#reRender。渲染层或渲染器应通过 GeoRenderer#buildRenderTask 提交另一个渲染任务。因此,渲染器方法中不再需要检查 isReRender
    • preRender、scaleModelForRender 和 adjustPositionForRender 均已移至预渲染事件检查之后
    • 新增 GeoRenderer#createRenderState
    • 移除 GeoEntityRenderer#createBaseRenderState —— 请改用 #createRenderState
    • 从默认设置中移除多个 DataTickets(因它们只是现有原版属性的直接复制),以消除多重数据来源并提升性能
    • GeckoLib 渲染器中的多个 Matrix4f 变量已移至 DataTickets
    • 移除 GeoRenderer#doPostRenderCleanup
    • 在 GeoArmorLayer.RenderData 中添加关联的 HumanoidModel
  • 重写 GeoArmorRenderer —— 现在应该显著更易于使用和理解
  • 修改 DefaultedEntityGeoModel,使其接受自定义骨骼名称而非简单的布尔值
  • 在各类 GeoRenderer 中新增 #withRenderLayer,以支持函数式实例化
  • GeoObjectRenderer 现在对其 GeoRenderState 使用泛型,允许泛型扩展
  • 直接将 partialTick 传递给 GeoRenderer#addRenderData、GeoRenderLayer#addRenderData、GeoModel#prepareForRenderPass 以及各类 CompileRenderState 事件/钩子 (#762)
  • 将 GeoRenderer#adjustPositionForRender 重命名为 #adjustRenderPose,以更准确反映其预期用途
  • ItemArmorGeoLayer.RenderData 现在使用 GeoArmorRenderer.ArmorSegment 而非手动插槽和部件获取器
  • 使 GeoRenderEvent 及其各类子事件兼容多加载器
  • 所有平台特定的 GeckoLib 事件现已拆分为独立类,便于查找和管理。例如:CompileBlockRenderLayersEvent

新增内容

  • 新增“无状态”动画对象。这是处理 GeckoLib 动画对象动画的另一种方式。
    • 参见:https://github.com/bernie-g/geckolib/wiki/Stateless-Animatable-Handling-(Geckolib5)
    • 新增:
      • StatelessGeoBlockEntity
      • StatelessGeoEntity
      • StatelessGeoObject
      • StatelessGeoReplacedEntity
      • StatelessGeoSingletonAnimatable
      • StatelessAnimationController
  • 新增 attack.punch 默认动画常量
  • 新增 misc.idle.flying 默认动画常量
  • 新增 move.dive 默认动画常量
  • 新增 DefaultAnimations#triggerOnlyController,用于创建专门处理任意触发动画的控制器
  • 新增 RawAnimation#getStageCount
  • 新增 AnimationController#getStateHandler
  • 新增 DefaultAnimations#genericWalkFlyIdleController
  • 为各类 GeckoLib 渲染器新增构造函数重载,可直接传入物品并使用对象注册 ID 创建默认实例,实现快速便捷处理
    • 例如:new GeoEntityRenderer(ModEntities.MY_ENTITY);
  • 新增 GeoRenderEvent#hasData
  • 新增 RenderUtil#getReplacedEntityRenderer
  • 新增 RenderUtil#getGeckoLibItemRenderer
  • 新增 RenderUtil#getGeckoLibEntityRenderer
  • 新增 RenderUtil#getGeckoLibBlockRenderer
  • 新增 RenderUtil#getGeckoLibArmorRenderer

修复内容

  • 添加双深度基岩关键帧解析,因为我完全不知道为什么 Blockbench 会导出这种格式
  • 修复多人游戏中其他玩家对全新堆叠物品触发的动画无法正确显示的问题
  • 修复 AnimationController 中部分错误的 javadoc
  • 确保在传递给 GeoArmorRenderer 进行提取前正确提取 EntityRenderState

内部变更

  • 将 GeckoLib 数据包重新组织到文件夹中
  • 为 Animation.Stage 新增 StreamCodec 实现
  • 为 RawAnimation 新增 StreamCodec 实现
  • 为更多内部方法及所有 Mixin 添加 javadoc 以提高清晰度
  • 改进 GeoRenderEvent#getRenderData 的 Javadoc
  • 移除 RenderUtil#getCurrentSystemTick
  • 移除 RenderUtil#booleanToFloat
  • 移除 RenderUtil#getGeoModelForEntityType
  • 移除 RenderUtil#getGeoModelForEntity
  • 移除 RenderUtil#getGeoModelForItem
  • 移除 RenderUtil#getGeoModelForBlock
  • 移除 RenderUtil#getGeoModelForArmor
  • 将 RenderUtil#getCurrentTick 移至 ClientUtil
  • 将 RenderUtil#arrayToVec 移至 JsonUtil
  • 从 GeoRenderProvider#getGeoArmorRenderer 中移除部分冗余参数
  • 将 ItemArmorGeoLayer#prepHumanoidModelForRender 重命名为 #positionModelPartFromBone

NeoForge 1.21.10

on 2026 Apr 25
下载

GeckoLib v5.3-alpha-1

更改

  • 移植至 1.21.10

    • 注意:这是一个 ALPHA 版本,在移除 alpha 标签前可能会发生破坏性变更。
    • 大多数 GeoRenderer 不再填充 PACKED_LIGHT DataTicket,因为基础 RenderState 类现在默认已包含 lightCoords
    • 新增 GeoRenderState#getPackedLight
    • GeoRenderer#defaultRender 已重命名为 #submitRenderTasks,以更准确地反映其当前功能(此时实际并未进行渲染)
    • GeoRenderer#actuallyRender 已重命名为 #buildRenderTask,以更准确地反映其功能
    • GeoLayer#render 已重命名为 #buildRenderTask,以更准确地反映其功能
    • GeoRenderer#reRender 已被移除。现在应通过 GeoRenderer#buildRenderTask 提交另一个渲染任务来替代重渲染。因此,在渲染器方法中不再需要检查 isReRender
    • preRender、scaleModelForRender 和 adjustPositionForRender 均已移至预渲染事件检查 之后
    • 新增 GeoRenderer#createRenderState
    • 移除了 GeoEntityRenderer#createBaseRenderState —— 请改用 #createRenderState
    • 在默认设置中移除了多个 DataTicket,这些 DataTicket 只是原版已有属性的明显重复,此举旨在消除多重数据源并提升性能
    • GeckoLib 渲染器中的各类 Matrix4f 变量现已移至 DataTicket
    • 移除了 GeoRenderer#doPostRenderCleanup
    • 将关联的 HumanoidModel 添加到 GeoArmorLayer.RenderData 中
  • 重写了 GeoArmorRenderer —— 现在应该显著更易于使用和理解

  • 修改 DefaultedEntityGeoModel,使其接受可自定义的骨骼名称,而非简单的布尔值

  • 为各类 GeoRenderer 添加了 #withRenderLayer 方法,以支持函数式实例化

  • GeoObjectRenderer 现在对其 GeoRenderState 使用泛型,从而支持泛型扩展

  • 直接将 partialTick 传递给 GeoRenderer#addRenderData、GeoRenderLayer#addRenderData、GeoModel#prepareForRenderPass 以及各类 CompileRenderState 事件/钩子 (#762)

  • 将 GeoRenderer#adjustPositionForRender 重命名为 #adjustRenderPose,以更准确地反映其预期用途

  • ItemArmorGeoLayer.RenderData 现在使用 GeoArmorRenderer.ArmorSegment,而非手动的槽位和部件获取器

  • 使 GeoRenderEvent 及其各类子事件兼容多加载器(multiloader)

  • 所有平台特定的 GeckoLib 事件现已拆分为各自独立的类,以便更轻松地查找和管理。例如:CompileBlockRenderLayersEvent

新增内容

  • 新增“无状态”(Stateless)动画对象。这是处理 GeckoLib 动画对象动画的一种替代方式。

    • 参见:https://github.com/bernie-g/geckolib/wiki/Stateless-Animatable-Handling-(Geckolib5)
    • 新增:
      • StatelessGeoBlockEntity
      • StatelessGeoEntity
      • StatelessGeoObject
      • StatelessGeoReplacedEntity
      • StatelessGeoSingletonAnimatable
      • StatelessAnimationController
  • 新增 attack.punch 默认动画常量

  • 新增 misc.idle.flying 默认动画常量

  • 新增 move.dive 默认动画常量

  • 新增 DefaultAnimations#triggerOnlyController,用于创建专用于任意触发动画的控制器

  • 新增 RawAnimation#getStageCount

  • 新增 AnimationController#getStateHandler

  • 新增 DefaultAnimations#genericWalkFlyIdleController

  • 为各类 GeckoLib 渲染器新增了一个构造函数重载,该构造函数直接接收物品并使用该对象注册的 ID 创建默认实例,便于快速简便地处理

    • 例如:new GeoEntityRenderer(ModEntities.MY_ENTITY);
  • 新增 GeoRenderEvent#hasData

  • 新增 RenderUtil#getReplacedEntityRenderer

  • 新增 RenderUtil#getGeckoLibItemRenderer

  • 新增 RenderUtil#getGeckoLibEntityRenderer

  • 新增 RenderUtil#getGeckoLibBlockRenderer

  • 新增 RenderUtil#getGeckoLibArmorRenderer

错误修复

  • 添加双层深度 bedrock 关键帧解析,因为我不清楚为何 Blockbench 会导出这种格式
  • 修复了在多人游戏中,其他玩家看到全新物品堆栈时触发动画无视觉效果的问题
  • 修复了 AnimationController 中部分不正确的 Javadoc
  • 确保在传递给 GeoArmorRenderer 进行提取前,正确提取 EntityRenderState

内部更改

  • 将 GeckoLib 的数据包重新组织到文件夹中
  • 为 Animation.Stage 添加了 StreamCodec 实现
  • 为 RawAnimation 添加了 StreamCodec 实现
  • 为更多内部方法及所有 Mixin 添加了 Javadoc,以提高清晰度
  • 改进了 GeoRenderEvent#getRenderData 的 Javadoc
  • 移除了 RenderUtil#getCurrentSystemTick
  • 移除了 RenderUtil#booleanToFloat
  • 移除了 RenderUtil#getGeoModelForEntityType
  • 移除了 RenderUtil#getGeoModelForEntity
  • 移除了 RenderUtil#getGeoModelForItem
  • 移除了 RenderUtil#getGeoModelForBlock
  • 移除了 RenderUtil#getGeoModelForArmor
  • 将 RenderUtil#getCurrentTick 移至 ClientUtil
  • 将 RenderUtil#arrayToVec 移至 JsonUtil
  • 从 GeoRenderProvider#getGeoArmorRenderer 中移除了部分冗余参数
  • 将 ItemArmorGeoLayer#prepHumanoidModelForRender 重命名为 #positionModelPartFromBone

Forge 1.21.10

on 2026 Apr 25
下载

GeckoLib v5.3-alpha-1

变更

  • 移植至 1.21.10
    • 注意:此为 ALPHA 版本,移除 alpha 标签前可能发生破坏性变更。
    • 大多数 GeoRenderer 不再填充 PACKED_LIGHT DataTicket,因为基础 RenderState 类现在默认包含 lightCoords
    • 新增 GeoRenderState#getPackedLight
    • GeoRenderer#defaultRender 已重命名为 #submitRenderTasks,以更准确反映其当前功能(调用时实际并未渲染)
    • GeoRenderer#actuallyRender 已重命名为 #buildRenderTask,以更准确反映其功能
    • GeoLayer#render 已重命名为 #buildRenderTask,以更准确反映其功能
    • 移除 GeoRenderer#reRender。渲染层或渲染器应通过 GeoRenderer#buildRenderTask 提交另一个渲染任务。因此,渲染器方法中不再需要检查 isReRender
    • preRender、scaleModelForRender 和 adjustPositionForRender 均已移至预渲染事件检查_之后_
    • 新增 GeoRenderer#createRenderState
    • 移除 GeoEntityRenderer#createBaseRenderState —— 请改用 #createRenderState
    • 从默认设置中移除多个 DataTicket(因其仅为现有原版属性的明显复制品),以消除多重数据源并提升性能
    • GeckoLib 渲染器中的各类 Matrix4f 变量已移至 DataTicket
    • 移除 GeoRenderer#doPostRenderCleanup
    • 在 GeoArmorLayer.RenderData 中添加关联的 HumanoidModel
  • 重写 GeoArmorRenderer —— 现在应该显著更易于使用和理解
  • 将 DefaultedEntityGeoModel 改为接受可自定义骨骼名称,而非单一布尔值
  • 在各类 GeoRenderer 中新增 #withRenderLayer,以支持函数式实例化
  • GeoObjectRenderer 现在对其 GeoRenderState 使用泛型,允许泛型扩展
  • 直接将 partialTick 传递给 GeoRenderer#addRenderData、GeoRenderLayer#addRenderData、GeoModel#prepareForRenderPass 以及各类 CompileRenderState 事件/钩子 (#762)
  • 将 GeoRenderer#adjustPositionForRender 重命名为 #adjustRenderPose,以更准确反映其预期用途
  • ItemArmorGeoLayer.RenderData 现在使用 GeoArmorRenderer.ArmorSegment,而非手动插槽与部件获取器
  • 使 GeoRenderEvent 及其各类子事件兼容 multiloader
  • 所有平台特定的 GeckoLib 事件现已拆分为独立类,以便更轻松地查找和管理。例如:CompileBlockRenderLayersEvent

新增内容

  • 新增“无状态”动画对象。这是处理 GeckoLib 动画对象动画的另一种方式。
    • 参见:https://github.com/bernie-g/geckolib/wiki/Stateless-Animatable-Handling-(Geckolib5)
    • 新增:
      • StatelessGeoBlockEntity
      • StatelessGeoEntity
      • StatelessGeoObject
      • StatelessGeoReplacedEntity
      • StatelessGeoSingletonAnimatable
      • StatelessAnimationController
  • 新增 attack.punch 默认动画常量
  • 新增 misc.idle.flying 默认动画常量
  • 新增 move.dive 默认动画常量
  • 新增 DefaultAnimations#triggerOnlyController,用于创建专门处理任意触发动画的控制器
  • 新增 RawAnimation#getStageCount
  • 新增 AnimationController#getStateHandler
  • 新增 DefaultAnimations#genericWalkFlyIdleController
  • 为各类 GeckoLib 渲染器新增构造函数重载,可直接传入物品并使用对象注册 ID 创建默认实例,实现快速便捷处理
    • 例如:new GeoEntityRenderer(ModEntities.MY_ENTITY);
  • 新增 GeoRenderEvent#hasData
  • 新增 RenderUtil#getReplacedEntityRenderer
  • 新增 RenderUtil#getGeckoLibItemRenderer
  • 新增 RenderUtil#getGeckoLibEntityRenderer
  • 新增 RenderUtil#getGeckoLibBlockRenderer
  • 新增 RenderUtil#getGeckoLibArmorRenderer

修复问题

  • 添加双深度 bedrock 关键帧解析,原因不明(Blockbench 导出如此)
  • 修复多人游戏中全新堆叠物品的触发动画对其他玩家无视觉效果的问题
  • 修复 AnimationController 中部分错误的 javadoc
  • 确保在传递给 GeoArmorRenderer 提取前正确提取 EntityRenderState

内部变更

  • 将 GeckoLib 数据包重组至文件夹中
  • 为 Animation.Stage 新增 StreamCodec 实现
  • 为 RawAnimation 新增 StreamCodec 实现
  • 为更多内部方法及所有 mixin 添加 javadoc 以明确说明
  • 改进 GeoRenderEvent#getRenderData 的 Javadoc
  • 移除 RenderUtil#getCurrentSystemTick
  • 移除 RenderUtil#booleanToFloat
  • 移除 RenderUtil#getGeoModelForEntityType
  • 移除 RenderUtil#getGeoModelForEntity
  • 移除 RenderUtil#getGeoModelForItem
  • 移除 RenderUtil#getGeoModelForBlock
  • 移除 RenderUtil#getGeoModelForArmor
  • 将 RenderUtil#getCurrentTick 移至 ClientUtil
  • 将 RenderUtil#arrayToVec 移至 JsonUtil
  • 从 GeoRenderProvider#getGeoArmorRenderer 中移除部分冗余参数
  • 将 ItemArmorGeoLayer#prepHumanoidModelForRender 重命名为 #positionModelPartFromBone

NeoForge 1.21.1

on 2026 Apr 25
下载

v4.8.1

  • 将 NeoForge 的网络注册设为可选,允许仅在客户端使用 GeckoLib

Forge 1.21.1

on 2026 Apr 25
下载

v4.8.1

  • 使 NeoForge 的网络注册变为可选,允许仅在客户端使用 GeckoLib

NeoForge 1.21.1

on 2026 Apr 25
下载

v4.7.7

  • 正确处理在尝试对动画纹理应用发光遮罩时抛出的异常(Pull #758)
  • 将 DefaultedEntityGeoModel 的头部转向逻辑改为使用可为空的骨骼名称输入,而非简单的布尔值(#753)
  • 修复了某些特定 Bedrock 格式的动画在使用新版 Blockbench 导出时无法解析的问题

Forge 1.21.1

on 2026 Apr 25
下载

v4.7.7

  • 正确处理对带动画的纹理应用发光遮罩(glowmask)时抛出的异常(Pull #758)
  • 修改 DefaultedEntityGeoModel,使其头部转向功能使用可为空的骨骼名称输入,而非简单的布尔值(#753)
  • 修复了某些特定 Bedrock 格式的动画在使用新版 Blockbench 导出时解析失败的问题

NeoForge 1.21.8

on 2026 Apr 25
下载

GeckoLib v5.2.2

问题修复

  • 修复了 AnimationProcessor 中错误信息的一处拼写错误
  • 修复了 GeoModel 中对后备资源位置的错误处理

内部调整

  • 优化了 GeoArmorRenderer 的虚拟 ID 查找逻辑,以提升微性能

Forge 1.21.8

on 2026 Apr 25
下载

GeckoLib v5.2.2

修复的错误

  • 修复了 AnimationProcessor 中错误信息的一个拼写错误
  • 修复了 GeoModel 中对后备位置的错误处理

内部调整

  • 调整了 GeoArmorRenderer 的虚拟 ID 查找逻辑,以提升微性能

NeoForge 1.21.7

on 2026 Apr 25
下载

GeckoLib v5.2.1

移植至 1.21.7

错误修复

  • 临时修复实体物品渲染不可见的问题。可能需要进行破坏性变更才能彻底解决,很快就会有结果

Forge 1.21.7

on 2026 Apr 25
下载

GeckoLib v5.2.1

移植至 1.21.7

错误修复

  • 临时修复 Entity Item 渲染不可见的问题。可能需要进行破坏性更改才能彻底解决,具体情况将很快确认

NeoForge 1.21.6

on 2026 Apr 25
下载

GeckoLib v5.2.0

破坏性变更 - 抱歉!

新增内容

  • GeoItemRenderer 的渲染对象已从 ItemStack 更改为 GeoItemRenderer$RenderData。
    • 这意味着 GeoItemRenderer 现在可以访问一些额外的上下文对象,包括持有该物品的玩家。

问题修复

  • 修复了 GeoItem 在 AnimationTest 阶段无法使用 ItemRenderContext 的问题(#735)

Forge 1.21.6

on 2026 Apr 25
下载

GeckoLib v5.2.0

破坏性变更 - 抱歉!

新增内容

  • GeoItemRenderer 的渲染对象已从 ItemStack 更改为 GeoItemRenderer$RenderData。
    • 这意味着 GeoItemRenderer 现在可以访问一些额外的上下文对象,包括持有该物品的玩家。

问题修复

  • 修复了在 AnimationTest 阶段 GeoItem 无法获取 ItemRenderContext 的问题 (#735)

NeoForge 1.21.1

on 2026 Apr 25
下载

v4.7.6

  • 清理 GeckoLibUtil#getSyncedAnimatable 的 Javadoc 和参数命名
  • 允许手动更改的 GeckoLib 物品堆叠 ID(???)能像普通情况一样同步
  • 修复 GeoArmorRenderer 在未注册为同步动画实体时共享其动画的问题(#730)

Forge 1.21.1

on 2026 Apr 25
下载

v4.7.6

  • 清理 GeckoLibUtil#getSyncedAnimatable 的 Javadoc 和参数命名
  • 允许手动更改的 GeckoLib 堆栈 ID(???)像往常一样同步
  • 修复 GeoArmorRenderer 在未注册为同步动画对象时共享其动画的问题 (#730)

NeoForge 1.21.5

on 2026 Apr 25
下载

GeckoLib v5.1.0

新增内容

  • 新增 AutoGlowingGeoLayer#shouldAddZOffset —— 一个开关,用于提升对特定渲染类型或特殊情况的兼容性
  • 新增 AutoGlowingGeoLayer#getBrightness —— 一个可配置值,用于调整自发光层的亮度

更改内容

  • 在 AutoGlowingGeoLayer#shouldRespectWorldLighting 方法参数中添加了 RenderState
  • 少量代码清理

问题修复

  • 修复 GeoArmorRenderer 不支持 Glowmasks 的问题。此修复需要小幅重写,会造成轻微破坏性变更,敬请谅解。
  • 修复当 GeoArmorRenderer 未注册为可同步的 GeoAnimatable 时,在多个穿戴实例间共享动画的问题(#730)
1
2
22
BBSMC Logo

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

QQ 群:1078515449

资源

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

社区

汉化软件插件数据包

帮助

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

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

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