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

GeckoLib

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

前置实用工具装饰
1,9151a year ago
GeckoLib

GeckoLib

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

1,915
1
前置
实用工具
装饰

基本信息

我的世界Java版本

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-03-03
简介渲染图更新日志版本百科反馈讨论

全部版本

1
2
3
11

Fabric 1.21.10

on 2025 Nov 05
下载

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 现在均在 preRender 事件检查之后执行
    • 新增 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 及其各类子事件支持多加载器环境
  • 所有平台特定的 GeckoLib 事件现已拆分为独立类,便于查找和管理。例如:CompileBlockRenderLayersEvent

新增功能

  • 新增“无状态”可动画对象(Stateless Animatables)。这是处理 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

Bug 修复

  • 添加对双层 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

Fabric 1.21.10

on 2025 Oct 13
下载

GeckoLib v5.3-alpha-1

变更内容

  • 移植至 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

新增功能

  • 新增“无状态”可动画对象(Stateless Animatables)。这是处理 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

Bug 修复

  • 添加对双深度 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

Fabric 1.21.1

on 2025 Oct 08
下载

v4.8.1

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

Fabric 1.21.1

on 2025 Aug 24
下载

v4.7.7

  • 在尝试为动画纹理添加辉光遮罩时正确处理异常(拉取请求 #758)
  • 将 DefaultedEntityGeoModel 更改为使用可空的骨骼名称输入来进行头部转动,而不是使用扁平的布尔值(#753)
  • 修复了一些特定的基岩格式动画在 Blockbench 的较新版本中导出时无法解析的问题

Fabric 1.21.8

on 2025 Aug 08
下载

GeckoLib v5.2.2

Bug 修复

  • 修复了 AnimationProcessor 中错误消息中的拼写错误
  • 修复了 GeoModel 中回退位置的错误处理

内部

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

Fabric 1.21.7

on 2025 Jul 04
下载

GeckoLib v5.2.1

移植到 1.21.7

错误修复

  • 临时修复物品实体渲染不可见的问题。可能需要进行一次破坏性更改才能正确修复,很快就会找到答案

Fabric 1.21.6

on 2025 Jun 27
下载

GeckoLib v5.2.0

重大变更 - 抱歉!

添加内容

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

错误修复

  • 修复了在 AnimationTest 阶段 GeoItems 没有 ItemRenderContext 可用的问题(#735)

Fabric 1.21.1

on 2025 Jun 16
下载

v4.7.6

  • 清理GeckoLibUtil#getSyncedAnimatable的Java文档及参数命名
  • 允许手动更改的GeckoLib堆叠ID(???)像正常情况那样进行同步
  • 修复GeoArmorRenderer在未注册为同步可动画化对象时共享其动画的问题(#730)

Fabric 1.21.5

on 2025 Jun 16
下载

壁虎库v5.1.0

新增内容

  • 新增了AutoGlowingGeoLayer#shouldAddZOffset——一个用于为特定渲染类型或特殊情况添加更好兼容性的切换开关
  • 新增了AutoGlowingGeoLayer#getBrightness——一个可配置的值,用于调整发光层的亮度

更改内容

  • 在AutoGlowingGeoLayer#shouldRespectWorldLighting的方法参数中添加了渲染状态
  • 进行了少量代码清理

漏洞修复

  • 修复了GeoArmorRenderer不支持发光遮罩的问题。需要进行小幅重写。稍有变动。抱歉。
  • 修复了GeoArmorRenderer在未注册为可同步的GeoAnimatable时,已穿戴实例之间共享动画的问题(#730)

Fabric 1.21.4

on 2025 Jun 15
下载

v4.8.5

  • 修复了stopTriggeredSingletonAnim实际上会启动一个触发动画而非停止它的问题

Fabric 1.21.5

on 2025 Jun 15
下载

壁虎库v5.0.2

漏洞修复

  • 修复“stopTriggeredSingletonAnim”实际上启动了一个触发动画而非停止它的问题

Fabric 1.20.1

on 2025 Jun 15
下载

v4.7.1.3

Fabric:

  • 更新MixinItemRenderer以提高第三方模组兼容性

Fabric 1.21.5

on 2025 Jun 15
下载

壁虎库v5.0.1

漏洞修复

  • 修复了自动发光地理层渲染出黑色和紫色模型的问题

Fabric 1.21.5

on 2025 Apr 25
下载

壁虎库v5.0

新特性

  • 新增了手中物品地理层
  • 新增了逐骨骼渲染
  • 新增了数据票据#是否为左手
  • 新增了数据票据#是否蹲下
  • 新增了地理渲染#调整渲染位置
  • 新增了定向投射物渲染器
  • 新增了纹理层地理层
  • 新增了自定义骨骼纹理地理层

内部改动

  • 在加载不带后缀的动画或模型文件时,移除了一些不必要的警告
  • 使用旧格式修复了默认地理模型中的Java文档
  • 将地理实体渲染器的缩放属性处理移至为渲染缩放模型中,并移动了睡眠姿势的平移以更好地适应缩放
  • 将为渲染缩放模型从预渲染中移出,使其成为独立调用
  • 优化了渲染工具#获取纹理尺寸,使其能够考虑加载后的修改
  • 优化了烘焙地理模型#获取骨骼

API改动

  • 移除了地理渲染器#为骨骼应用渲染层。现在在#预应用渲染层中添加逐骨骼渲染。
  • 新增了地理渲染层#添加逐骨骼渲染
  • 更改了物品护甲地理层的工作方式,使其更高效,并支持鞘翅(尽管目前还不是百分百正确)
  • 更改了方块与物品地理层的工作方式,使其更高效且更简洁
  • 将物品护甲地理层#为渲染准备模型部件更改为为渲染准备人形模型
  • 将壁虎库客户端#获取物品的护甲模型改为返回一个人形模型而非基础模型,因为非人形模型从未被使用过
  • 在地理渲染器#最终渲染中添加了压缩光、压缩覆盖和渲染颜色
  • 从地理实体渲染器#计算Y轴旋转中移除了final关键字
  • 移除了骨骼过滤地理层和快速骨骼过滤地理层

漏洞修复

  • 修复了壁虎库动画纹理在加载纹理失败时崩溃的问题
  • 修复了逐骨骼渲染任务干扰查询值的问题
  • 修复了渲染层中的姿态栈操作干扰骨骼位置获取器的问题
  • 修复了地理物品渲染器和地理对象渲染器在缩放时定位不正确的问题
  • 修复了地理替换实体渲染器不传播姿态栈操作的问题
  • 修复了物品护甲地理层与使用相同数据票据的其他层发生冲突的问题

Fabric 1.21.5

on 2025 Apr 25
下载

壁虎库v5.0-alpha2

注意事项

  • 由于Mojang已经使得之前的动态渲染器不实用了,所以仍在研究针对每块骨骼渲染处理的替代解决方案。

漏洞修复

  • 修复了GeoObjectRenderer不存储压缩光的问题(#712)
  • 修复了GeoEntityRenderer不允许通用可扩展渲染状态的问题
  • 修复了AutoGlowingGeoLayer中一些不正确的Java文档注释
  • 修复了GeoArmorRenderer不考虑发光或隐形数据标签的问题
  • 重新加载纹理会导致发光和动画纹理出现奇怪的问题

内部改动

  • AutoGlowingGeoLayer不再移除基础纹理的部分区域,从而允许选择性的动态发射率
  • AutoGlowingGeoLayer不再禁用光影兼容性
  • 动画纹理和发光遮罩不再相互依赖。你可以在动画纹理上设置非动画的发光遮罩等等。

新增内容

  • 添加了RenderUtil#getEmissiveResource辅助方法
  • AutoGlowingGeoLayer现在有一个shouldRespectWorldLighting方法,允许你在绝对发射率和与世界光照协同遮荫的发射率之间进行选择

移除内容

  • 壁虎库的发光纹理不再支持创建mcmeta文件。请改用发光遮罩图像(反正这样更容易)

Fabric 1.21.5

on 2025 Apr 08
下载

壁虎库(GeckoLib)v5.0-alpha1

注意事项

  • 截至alpha1版本,发光遮罩和动画纹理尚无法正常使用。这一问题很快就会解决哦 :)
  • 此外,由于Mojang使得之前的动态渲染器不再实用,我正在研究针对逐骨骼渲染处理的替代解决方案。
  • 如果您使用了这些功能中的任何一项,请等到5.0正式版发布后再使用,谢谢。

常规变更

  • 已更新至《我的世界》1.21.5版本
  • 已将更新日志转换为Markdown格式

内部变更

  • 重写了资源加载系统,以便在不影响输入输出(I/O)的情况下正确处理并行化的资源。
  • 让GeoArmorRenderer从HumanoidArmorLayer#setPartVisibility继承骨骼可见性,以便更好地与第三方模组协同工作。
  • 将默认的boneResetTime设置为5刻,并在刻时间为0时自动完成重置。这可避免不可避免的部分刻骨骼重置。
  • 修复了在同步可动画物品上中键点击时,若使用触发动画或同步数据会导致冲突的问题(#681)。
  • 现在,使用动画进行完整旋转的骨骼在重置时不应再反向旋转,从而使旋转动画更加流畅。
  • 同步可动画物品之间不再相互阻止堆叠。
  • 为动画数据添加了内存压缩。较大的模组包应能减少内存使用量。
  • 为在Molang中无效使用角色变量添加了一项安全检查。
  • 壁虎库(GeckoLib)实体渲染现在自动与新Forge(NeoForge)实体渲染状态修饰符兼容。
  • 覆盖了原版对实体名牌渲染的64格默认硬限制。现在您可以将其扩展至256格。
  • 修复了GeoBones上的世界空间定位未考虑部分刻线性插值的问题。
  • 修复了非生物实体在渲染时未考虑其Y轴旋转的问题。
  • 修复了死亡旋转在部分刻加倍的问题。
  • 修复了在GeoObjectRenderer中BufferSource未正确设置为非空的问题。
  • 修复了GeoEntityRenderer在重新渲染时重新应用其他PoseStack操作的问题。
  • 将大量渲染值创建工作移回原版,以便更好地与原版及其他模组兼容。
  • 在整个AnimationProcessor中删除了一些多余的方法参数。
  • 将AnimationController#process重命名为AnimationController#startTick。
  • 修复了DefaultAnimations#genericFlyController在不移动时不停下来的问题。
  • 将动画状态移至渲染之前,以便优化Molang查询填充。
  • 修复了AnimationController的动画速度可能在每次渲染过程中多次重新计算,导致动画处理不一致的问题。
  • 将Keyframes重命名为KeyframeMarkers。
  • 壁虎库(GeckoLib)现在会预先确定在任何给定渲染帧中将使用哪些Molang查询,并预先计算所有相关值并进行缓存。这使得复杂动画成为可能。
  • 将AnimatableManager及其所有派生类移至不同的包。
  • 将AnimationController、AnimationProcessor、AnimationState移至不同的包。
  • 将AutoPlayingSoundKeyframeHandler移至不同的包。
  • 删除了AnimationPointQueue。
  • 将逐骨骼渲染层渲染移至其余渲染完成之后。
  • 更改了DyeableGeoArmorRenderer的工作方式,使其更加准确。
  • 修复了各种GeoRenderEvent类中的一些Javadoc错误。

API变更

  • 所有壁虎库(GeckoLib)资源现在都放在/assets/geckolib/中
    • 动画放在/assets/<模组ID>/geckolib/animations/中
    • 模型放在/assets/<模组ID>/geckolib/models/中
  • 所有GeoRenderers现在都基于GeoRenderStates运行,而不是传递可动画对象。Mojang已经明确表示我们必须这样做 :(
    • 删除了GeoRenderer#getAnimatable。
    • 从GeoRenderer的方法中删除了各种参数,默认将它们移至GeoRenderState。
    • 删除了GeoEntityRenderer#isShaking。
  • AnimationState现在是一个内部类,用于在处理过程中携带动画状态。用户现在应使用AnimationTest。它们在功能上是相同的。
  • GeoRenderers扩展现在接受第二种泛型类型;即渲染状态类型(以及GeoRenderState)。
  • GeoModel模型/动画引用不再需要文件路径前缀或后缀(即,您在返回的模型资源中无需包含geo/或.geo.json)。
  • DataTicket现在需要通过工厂方法创建,以确保标识一致性。
  • SerializableDataTicket不再需要注册,但在模组构造期间仍必须创建。
  • GeoRenderer中的所有渲染方法在参数中将PoseStack和渲染状态(之前是可动画对象)的位置进行了交换。
  • Molang变量现在都是针对当前渲染过程中的AnimationState进行操作的函数。
  • AnimationController不再需要传递可动画对象给它。
  • 在AutoGlowingGeoLayer中拆分了纹理检索和使用,以便模组可以根据需要覆盖纹理。
  • 所有DefaultAnimations助手现在为了一致性和清晰性,默认过渡时间为0刻。
  • 将格式版本转换为字符串,并将其转换为一个更灵活的系统。
  • 为同步单例可动画对象引入了基于标识的查找,希望能消除类重复冲突。
  • 将AnimationState#getData标记为可空,以避免混淆。
  • 将EasingType中的easingType参数标记为可空,以避免混淆。
  • 清理了EasingType的Javadoc。
  • GeoReplacedEntityRenderer现在在尝试将一个实体作为可动画对象插入时会明确报错,以防止内存泄漏。
  • 使GeoReplacedEntityRenderer与GeoEntityRenderer更加一致,以确保准确性。
  • CustomInstructionKeyframeEvent、SoundKeyframeEvent和ParticleKeyframeEvent都已合并到KeyFrameEvent中。
  • CustomInstructionKeyframeHandler、SoundKeyframeHandler和ParticleKeyframeHandler都已合并到KeyframeEventHandler中。
  • 将KeyFrameEvent转换为记录类型。
  • 将Calculation转换为记录类型。
  • MolangQueries再次与边无关。
  • GeoRenderers的各个部分还额外提供了一个相关对象用于处理(物品堆、被替换的实体等)。
  • 将prepLivingEntityRenderState移至GeoEntityRenderer中,以便在需要时可以被重写。
  • 删除了EntityModelData。
  • 删除了DeferredGeoRenderProvider。
  • 删除了InternalUtil。
  • 删除了FileLoader。
  • 删除了Color。它已完全被net.minecraft.util.ARGB所取代。
  • 从各种GeoModel获取器中删除了GeoRenderer参数,因为它已不再需要。
  • 重命名了GeoArmorRenderer中的骨骼变量,以防止与HumanoidArmorModel的字段名冲突。
  • 重命名了GeckoLibCache为GeckoLibResources。
  • 重命名了AnimatableManager#setData为AnimatableManager#setAnimatableData(及其相关的获取器)。
  • 为重命名AutoGlowingTexture#getEmissiveResource为#getOrCreateEmissiveTexture,以提高清晰度。
  • 将GeoEntityRenderState移至GeoRenderState。
  • GeckoLibUtil中的各种单例注册助手已移至新的SyncedSingletonAnimatableCache,相关方法的层级范围已缩小,以提高清晰度和安全性。
  • 重命名了GeoRenderLayer#renderForBone为#createPerBoneRender,现在要求您将操作作为一个可运行对象返回,以便稍后运行。
  • 删除了DynamicGeoBlockRenderer、DynamicGeoEntityRenderer和DynamicGeoItemRenderer。请使用渲染层来进行针对骨骼的特定处理。我将考虑为此创建一个辅助类或其他替代选项。
  • 改进了各种GeoRenderEvent的泛型类型,使其更有用。

新内容

  • 为SingletonGeoAnimatable添加了stopTriggeredAnimation方法。
  • 添加了triggerArmorAnim用于触发盔甲动画(#433)。
  • 添加了query.controller_speed Molang查询。
  • 添加了query.limb_swing Molang查询。
  • 添加了query.limb_swing_amount Molang查询。
  • 为基岩版风格的动画JSON添加了对卡特穆尔-罗姆(平滑)缓动的原生支持(感谢Zigy的前期工作)。
  • 动画纹理现在支持发光遮罩(#456)。
  • 在GeoRenderer中添加了#setBonesVisible辅助方法,以便于使用。
  • 添加了AnimationController#isTriggeredAnimation用于检查当前触发的动画。
  • 添加了AnimationController#setAnimationState,如有必要可直接设置控制器的状态。
  • 为每种渲染器类型添加了CompileRenderState事件钩子。

Fabric 1.20.1

on 2025 Apr 04
下载

v4.7.1.2

Fabric:

  • 将重定向混合(Mixin)移至包裹操作(WrapOperations),以防止与其他模组发生冲突

Forge:

  • 将物品堆叠(itemstacks)的可堆叠性更改回退到4.7.1版本时的状态,因为Forge没有混合扩展(MixinExtras),添加它会偶尔导致冲突解决方面的问题

Fabric 1.20.1

on 2025 Apr 04
下载

v4.7.1.1

  • 修复一些导致卡顿/问题的错误的堆栈比较(#689)

Fabric 1.21.1

on 2025 Apr 04
下载

v4.7.5.1

  • 从样条曲线插值中移除帧外推

Fabric 1.21.1

on 2025 Apr 04
下载

v4.7.5

  • 重新处理无效的动作动画关键帧。优雅地处理成功情况而非失败情况
  • 添加 query.controller_speed 莫朗查询。
  • 移除地理模型中针对 getTextureResource 和 getModelResource 的待移除废弃内容
1
2
3
11
BBSMC Logo

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

QQ 群:1078515449

资源

模组整合包光影资源包

社区

汉化软件插件

帮助

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

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

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