Compatibility
Minecraft: Java Edition
1.21.10ā1.21.11
1.21.3ā1.21.8
1.21ā1.21.1
1.20.x
1.19.1ā1.19.4
1.18.2
1.17.1
1.16.5
1.15.2
1.12.2
Platforms
Supported environments
Creators
Details
Licensed MIT
Created 3 years ago
Updated yesterday
Changelog
GeckoLib v5.4
Changes:
Fixes:
- Fixed GeoArmorRenderer not rendering properly
- Fixed GeoArmorRenderer crashing when using renderlayers
- Fixed animations interpolating from previous animations that had already finished
- Fixed animations not transitioning back to base pose when finishing if transition time is present
- Fixed animations not rotating properly when animating bones that are rotated by default
- Fixed bone scaling not applying
API:
- GeoRenderState#addGeckolibData no longer accepts
nullvalues - Re-added
#setTransitionTickstoAnimationController - Added
JsonUtil#jsonToVec3direct helper method - Begun building a new SPI-based .json deserialization pipeline, to allow for safer and more extensible model & animation loading
- By default, GeckoLib will continue to use GSON to deserialize into intermediary unbaked objects
- I am looking at making a GeckoLib addon that uses a faster library (possibly FastJson?) to speed up loading of assets, potentially substantially
- This system is not fully implemented yet, but the majority of the code has been written and reviewed to ensure it meets current Bedrock geometry & animation specs (1.21.0 and 1.8.0 respectively)
- This will in theory allow mod authors to create their own adapters in the event they want to do custom loading or handling, without sacrificing on safety
- By default, GeckoLib will continue to use GSON to deserialize into intermediary unbaked objects
- Removed
GeckoLibClient#getGeoModelForItemas it was unused and unnecessary, useRenderUtil#getGeckoLibItemRendererinstead and get the model as needed GeckoLibServices.Clientwas extracted toGeckoLibClientServices, because java kept failing to compile for seemingly no reason- Created
GeoBone#positionAndRender, which implements the full render operation for a given bone - Added a supplier-based fallback overload for
GeoRenderState#getOrDefaultGeckolibDatafor deferred computation - Added
SerializableDataTicket#enforceValidTicket
Internal:
- Moved GeckoLib's nullability annotations to the JSpecify spec
- You will find a significant increase in nullability notations and null handling in the library, which should help eliminate confusion as to the state of the code
- Cleaned up more Javadocs
- Added a significant amount of additional documentation - specifically in package-info files and parameter type descriptions
- Renamed RawAnimation#additionalTicks to RawAnimation#waitTicks
- Removed
bind_pose_rotationlegacy support from the Bone format - Removed the unused
AnimationVariablesclass - Changed the related-object generic type for
GeoObjectRendererfromEtoOto match the rest of the library - Moved
BoneSnapshots,PerBoneRender, andRenderPassInfoto the renderer base package - Moved the various builtin
GeoRenderLayerclasses to a builtin subpackage - Moved GeckoLib's GSON instance from
KeyFramesAdaptertoGeckoLibResources - Renamed
KeyFramesAdaptertoKeyFrameMarkersAdapter - Cleaned up and standardized nullability throughout the library
- Updated some outdated javadocs from pre-update
Dependencies
Files
Metadata
Release channel
ReleaseVersion number
5.4Loaders
Game versions
1.21.11Downloads
4235Publication date
December 27, 2025 at 9:43 AMPublisher
Tslat
Maintainer



