基本信息
我的世界Java版本
平台
运行环境
分类
搬运团队
搬运资源声明
对于可进行 JAR 文件搬运的许可证,我们提供站内下载服务;其他资源会跳转到原帖下载。资源更新可能不及时,建议前往资源内提供的原帖链接下载最新版本。
详情信息
更新日志
GeckoLib v5.3-alpha-1
更改
-
移植至 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提交另一个渲染任务来替代重渲染。因此,在渲染器方法中不再需要检查isReRenderpreRender、scaleModelForRender和adjustPositionForRender均已移至预渲染事件检查 之后- 新增
GeoRenderer#createRenderState - 移除了
GeoEntityRenderer#createBaseRenderState—— 请改用#createRenderState - 在默认设置中移除了多个 DataTicket,这些 DataTicket 只是原版已有属性的明显重复,此举旨在消除多重数据源并提升性能
- GeckoLib 渲染器中的各类 Matrix4f 变量现已移至 DataTicket
- 移除了
GeoRenderer#doPostRenderCleanup - 将关联的 HumanoidModel 添加到
GeoArmorLayer.RenderData中
-
重写了
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
错误修复
- 添加双层深度 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



