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

NeoForge 1.21.5

自动推荐
下载
举报反馈

更新日志

壁虎库(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事件钩子

文件

geckolib-neoforge-1.21.5-5.0-alpha1.jar(593.12 KiB) 主要

更多信息

资源类型

Minecraft资源

发布版本

Release

版本号

5.0-alpha1

运行环境

NeoForge

游戏版本

1.21.5

下载量

0

发布时间

2025-04-08 13:44:36

版本号

设置
"Minecraft"以及"我的世界"为美国微软公司的商标 本站与微软公司没有从属关系

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

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