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

Forge 1.21.5

自动推荐
下载
举报反馈

更新日志

GeckoLib v5.0-alpha1

注意

  • 自 alpha1 起,发光遮罩(glowmasks)和动画纹理暂不可用。此问题将很快修复 :)
  • 此外,我正在研究骨骼级渲染处理的替代方案,因为 Mojang 已使之前的动态渲染器不再实用。
  • 如果你使用了上述任何功能,请等待 5.0 正式版发布,谢谢。

通用变更

  • 更新至 Minecraft 1.21.5
  • 将更新日志转换为 Markdown 格式

内部变更

  • 重写了资源加载系统,以正确支持并行化资源处理,避免对 I/O 造成过大压力
  • 使 GeoArmorRenderer 继承自 HumanoidArmorLayer#setPartVisibility 的骨骼可见性逻辑,以更好地兼容第三方模组
  • 默认将 boneResetTime 设为 5 刻,并在重置刻数为 0 时自动完成重置,避免无法避免的部分刻骨骼重置问题
  • 修复了中键点击同步动画物品时,在使用触发式动画或同步数据时产生冲突的问题(#681)
  • 现在使用动画进行完整旋转的骨骼在重置时将不再反向旋转,从而实现更干净的旋转动画
  • 同步动画物品现在可以相互堆叠
  • 为动画数据添加内存压缩,大型整合包应能减少内存占用
  • 为 Molang 中无效使用 Actor 变量的情况添加安全检查
  • GeckoLib 实体渲染现已自动兼容 NeoForge 的 EntityRenderState 修改器
  • 覆盖了原版对实体命名牌渲染距离 64 格的硬性上限,现在最大可支持 256 格
  • 修复了 GeoBone 的世界空间定位未考虑部分刻线性插值(lerping)的问题
  • 修复了非生物实体渲染时未考虑其 Y 轴旋转的问题
  • 修复了死亡旋转在部分刻(partialTick)下重复叠加的问题
  • 修复了 GeoObjectRenderer 中 BufferSource 未被正确设为非空的问题
  • 修复了 GeoEntityRenderer 在重新渲染时重复应用其他 PoseStack 操作的问题
  • 将大量渲染值的创建逻辑移回原版,以提升与原版及其他模组的兼容性
  • 移除了 AnimationProcessor 中多个冗余的方法参数
  • 将 AnimationController#process 重命名为 AnimationController#startTick
  • 修复了 DefaultAnimations#genericFlyController 在不移动时无法停止的问题
  • 将 AnimationState 的处理提前至渲染之前,以优化 Molang 查询的填充
  • 修复了 AnimationController 的动画速度可能在单次渲染过程中被多次重新计算,导致动画处理不一致的问题
  • 将 Keyframes 重命名为 KeyframeMarkers
  • GeckoLib 现在会预先确定每一渲染帧将使用的 Molang 查询,并预先计算所有相关值并缓存,以支持复杂动画
  • 将 AnimatableManager 及其派生类移至不同包中
  • 将 AnimationController、AnimationProcessor、AnimationState 移至不同包中
  • 将 AutoPlayingSoundKeyframeHandler 移至不同包中
  • 移除了 AnimationPointQueue
  • 将骨骼级渲染层的渲染移至其余渲染完成后执行
  • 修改了 DyeableGeoArmorRenderer 的工作方式,使其更加准确
  • 修复了多个 GeoRenderEvent 类中的 Javadoc 错误

API 变更

  • 所有 GeckoLib 资源现存放于 /assets/geckolib/ 目录下
    • 动画文件存放于 /assets/<modid>/geckolib/animations/
    • 模型文件存放于 /assets/<modid>/geckolib/models/
  • 所有 GeoRenderer 现在基于 GeoRenderState 运行,而非传递 animatable 对象。Mojang 已明确表示这是必须采用的方式 :(
    • 移除了 GeoRenderer#getAnimatable
    • 从 GeoRenderer 的多个方法中移除了若干参数,默认移至 GeoRenderState
    • 移除了 GeoEntityRenderer#isShaking
  • AnimationState 现为内部类,用于在处理过程中携带动画状态。用户应改用 AnimationTest,其功能相同
  • GeoRenderer 扩展类现在接受第二个泛型类型,即渲染状态类型(RenderState 和 GeoRenderState)
  • GeoModel 的模型/动画引用不再需要文件路径前缀或后缀(例如:返回的模型资源无需包含 geo/ 或 .geo.json)
  • DataTicket 现需通过工厂方法创建,以确保身份一致性
  • SerializableDataTicket 不再需要注册,但仍须在模组构造阶段创建
  • GeoRenderer 中所有渲染方法的参数顺序已调整:PoseStack 与 RenderState(原为 Animatable)位置互换
  • Molang 变量现均为作用于当前渲染帧 AnimationState 的函数
  • AnimationController 不再需要传入 animatable 对象
  • 拆分了 AutoGlowingGeoLayer 中的纹理获取与使用逻辑,以便模组按需覆盖纹理
  • 所有 DefaultAnimations 辅助方法现默认使用 0 刻过渡时间,以保证一致性与清晰性
  • 将 FormatVersion 转换为字符串,并改为更灵活的系统
  • 引入基于身份的查找机制用于同步单例 animatable,以期消除类重复导致的冲突
  • 将 AnimationState#getData 标记为可空,避免混淆
  • 将 EasingType 中的 easingType 参数标记为可空,避免混淆
  • 清理了 EasingType 的 Javadoc
  • GeoReplacedEntityRenderer 现在在尝试将实体作为 animatable 插入时会显式崩溃,以防止内存泄漏
  • 使 GeoReplacedEntityRenderer 与 GeoEntityRenderer 更加一致,确保准确性
  • 将 CustomInstructionKeyframeEvent、SoundKeyframeEvent 和 ParticleKeyframeEvent 合并为 KeyFrameEvent
  • 将 CustomInstructionKeyframeHandler、SoundKeyframeHandler 和 ParticleKeyframeHandler 合并为 KeyframeEventHandler
  • 将 KeyFrameEvent 转换为 record 类型
  • 将 Calculation 转换为 record 类型
  • MolangQueries 再次变为环境无关(side-agnostic)
  • GeoRenderer 的多个部分现在额外提供关联对象用于处理(如 ItemStack、替换实体等)
  • 将 prepLivingEntityRenderState 移入 GeoEntityRenderer,以便按需重写
  • 移除了 EntityModelData
  • 移除了 DeferredGeoRenderProvider
  • 移除了 InternalUtil
  • 移除了 FileLoader
  • 移除了 Color,现已完全由 net.minecraft.util.ARGB 取代
  • 从多个 GeoModel 获取方法中移除了 GeoRenderer 参数,因其已不再需要
  • 将 GeoArmorRenderer 中的骨骼变量重命名,以避免与 HumanoidArmorModel 的字段名冲突
  • 将 GeckoLibCache 重命名为 GeckoLibResources
  • 将 AnimatableManager#setData 重命名为 AnimatableManager#setAnimatableData(及其对应的 getter)
  • 将 AutoGlowingTexture#getEmissiveResource 重命名为 #getOrCreateEmissiveTexture,以更清晰表达其用途
  • 将 GeoEntityRenderState 移至 GeoRenderState
  • GeckoLibUtil 中的各种单例注册辅助方法现已移至新的 SyncedSingletonAnimatableCache,相关方法的作用域层级也已缩小,以提高清晰度与安全性
  • 将 GeoRenderLayer#renderForBone 重命名为 #createPerBoneRender,现需返回一个 Runnable 供稍后执行
  • 移除了 DynamicGeoBlockRenderer、DynamicGeoEntityRenderer 和 DynamicGeoItemRenderer。请改用渲染层处理骨骼级逻辑。我将考虑为此创建辅助类或替代方案
  • 改进了各类 GeoRenderEvent 的泛型类型,使其更具实用性

新增内容

  • 为 SingletonGeoAnimatable 添加 stopTriggeredAnimation 方法
  • 添加 triggerArmorAnim 用于触发射甲动画(#433)
  • 添加 query.controller_speed Molang 查询
  • 添加 query.limb_swing Molang 查询
  • 添加 query.limb_swing_amount Molang 查询
  • 为 Bedrock 风格动画 JSON 添加原生 Catmull-Rom(平滑)缓动支持(感谢 Zigy 的初步工作)
  • 动画纹理现已支持发光遮罩(#456)
  • 在 GeoRenderer 中添加便捷方法 #setBonesVisible
  • 添加 AnimationController#isTriggeredAnimation 以检查当前触发的动画
  • 添加 AnimationController#setAnimationState 以在必要时直接设置控制器状态
  • 为每种渲染器类型添加 CompileRenderState 事件钩子

文件

geckolib-forge-1.21.5-5.0-alpha1.jar(772.57 KiB) 主要

更多信息

资源类型

Minecraft资源

发布版本

Release

版本号

5.0-alpha1

运行环境

\n \n \nForge

游戏版本

1.21.5

下载量

0

发布时间

2026-04-25 20:00:32

版本号

BBSMC Logo

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

QQ 群:1078515449

资源

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

社区

汉化软件插件数据包

帮助

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

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

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