基本信息
我的世界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
平台
Fabric
运行环境
分类
搬运团队
搬运资源声明
对于可进行 JAR 文件搬运的许可证,我们提供站内下载服务;其他资源会跳转到原帖下载。资源更新可能不及时,建议前往资源内提供的原帖链接下载最新版本。
详情信息
许可证 MIT
发布于 2024-11-28
更新于 2026-04-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_POSEDataTickets 移至基础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)
- 新增:
StatelessGeoBlockEntityStatelessGeoEntityStatelessGeoObjectStatelessGeoReplacedEntityStatelessGeoSingletonAnimatableStatelessAnimationController
- 新增
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



