nineMinecraft is a joke site.
nineMinecraft is in no way affiliated with Modrinth or 9minecraft. (And frankly, who wants to be affiliated with the latter?)

NeoForge 1.21.11

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 null values
  • Re-added #setTransitionTicks to AnimationController
  • Added JsonUtil#jsonToVec3 direct 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
  • Removed GeckoLibClient#getGeoModelForItem as it was unused and unnecessary, use RenderUtil#getGeckoLibItemRenderer instead and get the model as needed
  • GeckoLibServices.Client was extracted to GeckoLibClientServices, 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#getOrDefaultGeckolibData for 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_rotation legacy support from the Bone format
  • Removed the unused AnimationVariables class
  • Changed the related-object generic type for GeoObjectRenderer from E to O to match the rest of the library
  • Moved BoneSnapshots, PerBoneRender, and RenderPassInfo to the renderer base package
  • Moved the various builtin GeoRenderLayer classes to a builtin subpackage
  • Moved GeckoLib's GSON instance from KeyFramesAdapter to GeckoLibResources
  • Renamed KeyFramesAdapter to KeyFrameMarkersAdapter
  • Cleaned up and standardized nullability throughout the library
  • Updated some outdated javadocs from pre-update

Files

geckolib-neoforge-1.21.11-5.4.jar(745.41 KiB) Primary Download

External resources


Project members

Gecko

Owner

DerToaster98

Contributor

KyoSleep

Contributor

mchorse

Contributor

Tslat

Maintainer

ZigyTheBird

Member


Technical information

License
MIT
Client side
required
Server side
optional
Project ID