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

GeckoLib

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

1,547
0
前置
实用工具
装饰

基本信息

我的世界Java版本

1.21.3–1.21.5
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)团队

详情信息

许可证 MIT
发布于 6 months ago
更新于 a month ago
简介渲染图更新日志版本百科讨论

全部版本

1
2
19

NeoForge 1.21.5

on 2025 Apr 25
下载

壁虎库v5.0

新内容

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

内部改动

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

API改动

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

漏洞修复

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

Forge 1.21.5

on 2025 Apr 25
下载

壁虎库v5.0

新特性

  • 新增了 ItemInHandGeoLayer(手持物品地理层)
  • 新增了 PerBoneRender(逐骨骼渲染)
  • 新增了 DataTickets#IS_LEFT_HANDED(数据票据#是否为左手)
  • 新增了 DataTickets#IS_CROUCHING(数据票据#是否为蹲下状态)
  • 新增了 GeoRender#adjustPositionForRender(地理渲染#为渲染调整位置)
  • 新增了 DirectionalProjectileRenderer(定向投射物渲染器)
  • 新增了 TextureLayerGeoLayer(纹理层地理层)
  • 新增了 CustomBoneTextureGeoLayer(自定义骨骼纹理地理层)

内部改动

  • 在加载不带后缀的动画或模型文件时,移除了一些不必要的警告
  • 使用旧格式修复了 DefaultedGeoModel 中的Java文档
  • 将 GeoEntityRenderer 的缩放属性处理移到了 scaleModelForRender 中,并将睡眠姿势的平移进行了调整以更好地适应缩放
  • 将 scaleModelForRender 从 preRender 中移出,使其成为独立的调用
  • 优化了 RenderUtil#getTextureDimensions,并使其能够考虑加载后的修改
  • 优化了 BakedGeoModel#getBone

API改动

  • 移除了 GeoRenderer#applyRenderLayersForBone。现在逐骨骼渲染在 #preApplyRenderLayers 中添加。
  • 新增了 GeoRenderLayer#addPerBoneRender(地理渲染层#添加逐骨骼渲染)
  • 更改了 ItemArmorGeoLayer 的工作方式,使其更高效,并支持鞘翅(尽管目前还不是百分之百正确)
  • 更改了 BlockAndItemGeoLayer 的工作方式,使其更高效且更简洁
  • 将 ItemArmorGeoLayer#prepModelPartForRender 更改为 prepHumanoidModelForRender(为人形模型渲染准备模型部件)
  • 将 GeckoLibClient#getArmorModelForItem 更改为返回一个 HumanoidModel(人形模型)而非基础的 Model(模型),因为非人形模型从未被使用过。
  • 在 GeoRenderer#renderFinal 中添加了 packedLight(压缩光)、packedOverlay(压缩覆盖层)和 renderColor(渲染颜色)
  • 从 GeoEntityRenderer#calculateYRot 中移除了 final
  • 移除了 BoneFilterGeoLayer 和 FastBoneFilterGeoLayer

漏洞修复

  • 修复了 GeckoLibAnimatedTexture 在加载纹理失败时崩溃的问题
  • 修复了逐骨骼渲染任务干扰查询值的问题
  • 修复了渲染层中的姿势栈操作干扰骨骼位置获取器的问题
  • 修复了 GeoItemRenderer 和 GeoObjectRenderer 在缩放时定位不正确的问题
  • 修复了 GeoReplacedEntityRenderer 不传播姿势栈操作的问题
  • 修复了 ItemArmorGeoLayer 与使用相同数据票据的其他层发生冲突的问题

Fabric 1.21.5

on 2025 Apr 25
下载

壁虎库v5.0

新特性

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

内部改动

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

API改动

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

漏洞修复

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

NeoForge 1.21.5

on 2025 Apr 25
下载

壁虎库v5.0-alpha2

注意事项

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

漏洞修复

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

内部改动

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

新增内容

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

移除内容

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

Forge 1.21.5

on 2025 Apr 25
下载

壁虎库(GeckoLib)v5.0-alpha2

注意事项

  • 由于Mojang使得之前的动态渲染器不再实用,仍在研究针对逐骨骼渲染处理的替代解决方案。

漏洞修复

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

内部改动

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

新增内容

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

移除内容

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

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文件。请改用发光遮罩图像(反正这样更容易)

NeoForge 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中对角色变量(Actor Variables)的无效使用添加了一项安全检查
  • 壁虎库(GeckoLib)实体渲染现在自动与NeoForge实体渲染状态(EntityRenderState)修饰符兼容
  • 覆盖了原版对实体名称牌渲染的64格默认硬限制。现在您可以将其扩展至256格
  • 修复了GeoBones的世界空间定位未考虑部分刻线性插值的问题
  • 修复了非生物实体在渲染时未考虑其Y轴旋转的问题
  • 修复了死亡旋转在部分刻上加倍的问题
  • 修复了在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/<模组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刻
  • 将格式版本(FormatVersion)转换为字符串,并将其转换为一个更灵活的系统
  • 为同步单例可动画对象引入了基于身份的查找方式,有望消除类重复冲突
  • 将AnimationState#getData标记为可空,以避免混淆
  • 将EasingType中的easingType参数标记为可空,以避免混淆
  • 清理了EasingType的Javadoc
  • GeoReplacedEntityRenderer现在在尝试将一个实体作为可动画对象插入时会明确报错,以防止内存泄漏
  • 使GeoReplacedEntityRenderer与GeoEntityRenderer更加一致,以确保准确性
  • CustomInstructionKeyframeEvent、SoundKeyframeEvent和ParticleKeyframeEvent都已整合到KeyFrameEvent中
  • CustomInstructionKeyframeHandler、SoundKeyframeHandler和ParticleKeyframeHandler都已整合到KeyframeEventHandler中
  • 将KeyFrameEvent转换为记录(record)类型
  • 将Calculation转换为记录(record)类型
  • 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事件钩子

Forge 1.21.5

on 2025 Apr 08
下载

壁虎库v5.0-alpha1

注意事项

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

常规变更

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

内部变更

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

API变更

  • 所有壁虎库资源现在都存放在/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的Java文档
  • 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.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事件钩子。

Forge 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.2

Fabric:

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

Forge:

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

Forge 1.20.1

on 2025 Apr 04
下载

v4.7.1.1

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

Fabric 1.20.1

on 2025 Apr 04
下载

v4.7.1.1

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

NeoForge 1.21.1

on 2025 Apr 04
下载

v4.7.5.1

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

Forge 1.21.1

on 2025 Apr 04
下载

Fabric 1.21.1

on 2025 Apr 04
下载

v4.7.5.1

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

NeoForge 1.21.1

on 2025 Apr 04
下载

v4.7.5

  • 重新处理无效的动作动画关键帧。顺利处理而非失败。
  • 添加 query.controller_speed Molang查询。
  • 移除GeoModel中针对 getTextureResource 和 getModelResource 的待移除弃用内容。

Forge 1.21.1

on 2025 Apr 04
下载

v4.7.5

  • 重新处理无效的动作动画关键帧。平稳处理而非失败处理
  • 添加 query.controller_speed Molang查询。
  • 移除GeoModel中针对 getTextureResource(获取纹理资源)和 getModelResource(获取模型资源)的待移除弃用内容

Fabric 1.21.1

on 2025 Apr 04
下载

v4.7.5

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

NeoForge 1.21.1

on 2025 Apr 04
下载

v4.7.4.1

  • 修复了一些非标准动画json文件的加载问题
  • 修复了单例可动对象的停止触发动画大多无法正常工作的问题
  • 修复了仅部分发光的动画发光纹理无法正确加载的问题
1
2
19
设置
"Minecraft"以及"我的世界"为美国微软公司的商标 本站与微软公司没有从属关系

本站与Modrinth无从属关系,网站遵循Modrinth网站程序的LGPL协议开源 开源地址

版权所有 © 2019-2024 青岛柒兮网络科技有限公司 | ICP经营许可证: 鲁B2-20210590 | ICP备案: 鲁ICP备2021009459号-12