Changelog
GeckoLib v5.3-alpha-3
Alpha 3 Notes:
- Fixed a crash on world load (#776)
 - More internal changes around armour rendering and ItemArmorGeoLayer
 - Sorry to say, there's more API changes coming in the next version :(
 
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 - Added 
RenderModelPositioner 
 - 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 
Dependencies
Files
geckolib-fabric-1.21.10-5.3-alpha-3.jar(719.03 KiB) Primary  Download 
Featured versions
See allProject members
Gecko
Owner
DerToaster98
Contributor
KyoSleep
Contributor
mchorse
Contributor
Tslat
Maintainer

ZigyTheBird
Member
Details
 Licensed MIT
 Created 3 years ago
 Updated 5 days ago

