
Geckolib
A 3D animation library for entities, blocks, items, armor, and more!
25.0M
2.2K
Список изменений
GeckoLib v5.3-alpha-2
Alpha 2 Notes:
- Fix Forge crashing on load on newer Forge versions (#773)
- Fix GeoArmorRenderer crashing when not rendering a full set (#771)
BlockAndItemGeoLayer#renderStackForBoneand#renderBlockForBonerenamed to#submitItemStackRenderand#submitBlockRenderrespectively- Moved the
OBJECT_RENDER_POSEandMODEL_RENDER_POSEDataTickets to the baseGeoRenderer, so that subclasses do not need to handle them in overrides - Fixed only handling 1
PerBoneRenderTaskperGeoBone - Added
GeoBone#transformToBone - Split
PerBoneRendertasks out intoGeoRenderer#submitPerBoneRenderTasks - Removed the
skipPerBoneTasksin severalGeoRenderermethod calls as it is no longer needed - Created
PerBoneRenderTasksfor neatly handling per-bone render tasks given their added complexity - Restricted
GeoArmorLayer's generic type to require anAvatarRenderState, as that is the actual type required by the models used - Added
RenderStateUtil
Changes
- Port to 1.21.10
- NOTE: This is an ALPHA build, and may be subject to breaking changes until the alpha tag is removed.
- The PACKED_LIGHT DataTicket is no longer filled for most GeoRenderers, as the base RenderState classes contain
lightCoordsnow by default - Added
GeoRenderState#getPackedLight GeoRenderer#defaultRenderhas been renamed to#submitRenderTasksto better represent its function now that we're not actually rendering at the time of that callGeoRenderer#actuallyRenderhas been renamed to#buildRenderTaskto better represent its functionGeoLayer#renderhas been renamed to#buildRenderTaskto better represent its functionGeoRenderer#reRenderhas been removed. Instead, render layers or renderers should submit another render task viaGeoRenderer#buildRenderTask. Consequently, you no longer need to check forisReRenderin renderer methodspreRender,scaleModelForRender, andadjustPositionForRenderhave all been moved to after the preRender event check- Added
GeoRenderer#createRenderState - Removed
GeoEntityRenderer#createBaseRenderState- Use#createRenderStateinstead - Removed various DataTickets from the default setup, where they're just a blatant clone of existing vanilla properties, to eliminate multiple sources of truth and improve performance
- The various Matrix4f variables in GeckoLib renderers has been moved to DataTickets
- Removed
GeoRenderer#doPostRenderCleanup - Added the associated HumanoidModel to
GeoArmorLayer.RenderData
- Rewrote
GeoArmorRenderer- it should now be significantly easier to use and understand - Change DefaultedEntityGeoModel to take a customisable bone name instead of a flat boolean
- Added
#withRenderLayerto the variousGeoRenderers to allow for a functional instantiation GeoObjectRenderernow uses a generic for itsGeoRenderState, allowing for generic extensibility- Directly pass the partialTick to
GeoRenderer#addRenderData,GeoRenderLayer#addRenderData,GeoModel#prepareForRenderPass, and the variousCompileRenderStateevents/hooks (#762) - Renamed
GeoRenderer#adjustPositionForRenderto#adjustRenderPoseto better reflect its intended usage ItemArmorGeoLayer.RenderDatanow usesGeoArmorRenderer.ArmorSegments instead of manual slots and part getters- Made
GeoRenderEventand its various sub-events multiloader compatible - All platform-specific GeckoLib events are now split into their own individual classes to make it easier to find and manage them. E.G.
CompileBlockRenderLayersEvent
Additions
- Added "Stateless" animatables. These are an alternate way of handling animations for GeckoLib animatables.
- See: https://github.com/bernie-g/geckolib/wiki/Stateless-Animatable-Handling-(Geckolib5)
- Added:
StatelessGeoBlockEntityStatelessGeoEntityStatelessGeoObjectStatelessGeoReplacedEntityStatelessGeoSingletonAnimatableStatelessAnimationController
- Added
attack.punchDefaultAnimation constant - Added
misc.idle.flyingDefaultAnimation constant - Added
move.diveDefaultAnimation constant - Added
DefaultAnimations#triggerOnlyControllerfor creating a controller specifically for arbitrary triggered animations - Added
RawAnimation#getStageCount - Added
AnimationController#getStateHandler - Added
DefaultAnimations#genericWalkFlyIdleController - Added a constructor overload for various GeckoLib renderers that takes the item directly and creates a defaulted instance using the object's registered ID for quick and easy handling
- E.G.
new GeoEntityRenderer(ModEntities.MY_ENTITY);
- E.G.
- Added
GeoRenderEvent#hasData - Added
RenderUtil#getReplacedEntityRenderer - Added
RenderUtil#getGeckoLibItemRenderer - Added
RenderUtil#getGeckoLibEntityRenderer - Added
RenderUtil#getGeckoLibBlockRenderer - Added
RenderUtil#getGeckoLibArmorRenderer
Bug Fixes
- Add double-depth bedrock keyframe parsing because I have no idea why Blockbench is exporting that
- Fixed triggered animations not visually working on brand-new stacks in multiplayer for other players
- Fixed some incorrect javadocs in AnimationController
- Ensure the
EntityRenderStateis properly extracted before passing toGeoArmorRendererfor extraction
Internal Changes
- Reorganised GeckoLib's packets into folders
- Added a StreamCodec implementation for
Animation.Stage - Added a StreamCodec implementation for
RawAnimation - Added javadocs to more internal methods and all of the mixins, for clarity
- Improved the Javadoc on
GeoRenderEvent#getRenderData - Removed
RenderUtil#getCurrentSystemTick - Removed
RenderUtil#booleanToFloat - Removed
RenderUtil#getGeoModelForEntityType - Removed
RenderUtil#getGeoModelForEntity - Removed
RenderUtil#getGeoModelForItem - Removed
RenderUtil#getGeoModelForBlock - Removed
RenderUtil#getGeoModelForArmor - Moved
RenderUtil#getCurrentTicktoClientUtil - Moved
RenderUtil#arrayToVectoJsonUtil - Removed some superfluous parameters from
GeoRenderProvider#getGeoArmorRenderer - Renamed
ItemArmorGeoLayer#prepHumanoidModelForRenderto#positionModelPartFromBone
Файлы
geckolib-forge-1.21.10-5.3-alpha-2.jar(1.28 MiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
5.3-alpha-2
Загрузчики
Forge
Версии игры
1.21.10
Загрузок
1.5K
Дата публикации
1 нед. назад