A 3D animation library for entities, blocks, items, armor, and more!
GeckoLib provides detailed documentation in the form of a wiki. We spent many hours writing the wiki, so please read it!
If you have questions or need help getting up and running with questions, join our discord!
Pull requests are welcome. For significant changes, please open an issue first to discuss what you would like to change.
Need a server to play with friends? Don't know how to setup one? Just rent an already configured server from BisectHosting!
Click on the picture above, select plan(at least 4GB), and use my code gecko to get 25% off your first month and enjoy playing with your friends!
Required
Optional
Условия использования, изменения и распространения этого товара.
01.07.2026 · Modrinth
v4.9.2
Скриншоты и изображения из оригинальной страницы Modrinth.

Опубликованные версии и оригинальные файлы Modrinth.
01.07.2026 · 348 923 загрузки
v4.9.2
01.07.2026 · 19 867 загрузки
v4.9.2
01.07.2026 · 387 952 загрузки
v4.9.2
27.06.2026 · 9 874 загрузки
ItemArmorGeoLayer. This one should be the last one27.06.2026 · 6 048 загрузки
ItemArmorGeoLayer. This one should be the last one27.06.2026 · 93 656 загрузки
ItemArmorGeoLayer. This one should be the last one27.06.2026 · 4 265 загрузки
ItemArmorGeoLayer (#843)27.06.2026 · 3 329 загрузки
ItemArmorGeoLayer (#843)27.06.2026 · 46 751 загрузки
ItemArmorGeoLayer (#843)23.06.2026 · 98 449 загрузки
v4.9.1
23.06.2026 · 5 144 загрузки
v4.9.1
23.06.2026 · 40 426 загрузки
v4.9.1
22.06.2026 · 923 загрузки
v4.9
AttachedAnimatableRenderLayer and a handful of subclasses to make rendering GeckoLib objects on vanilla models (such as players) a lot easier22.06.2026 · 24 965 загрузки
v4.9
AttachedAnimatableRenderLayer and a handful of subclasses to make rendering GeckoLib objects on vanilla models (such as players) a lot easier22.06.2026 · 17 989 загрузки
v4.9
AttachedAnimatableRenderLayer and a handful of subclasses to make rendering GeckoLib objects on vanilla models (such as players) a lot easier20.06.2026 · 1 004 431 загрузки
v4.8.4
20.06.2026 · 306 024 загрузки
v4.8.4
20.06.2026 · 1 743 загрузки
& GeoRenderState dual-type generic from everywhere. I thought I'd already done it, but apparently not. I can't build forge without this breaking change, sorry19.06.2026 · 2 561 загрузки
& GeoRenderState dual-type generic from everywhere. I thought I'd already done it, but apparently not. I can't build forge without this breaking change, sorry19.06.2026 · 21 964 загрузки
& GeoRenderState dual-type generic from everywhere. I thought I'd already done it, but apparently not. I can't build forge without this breaking change, sorry17.06.2026 · 1 606 загрузки
Direct port to 26.2
17.06.2026 · 8 463 загрузки
Direct port to 26.2
12.04.2026 · 24 998 загрузки
CustomBoneTextureGeoLayer#shouldRenderBone to allow for handling of custom-hidden bonesquery.limb_swing not interpolating correctly (#834)12.04.2026 · 168 083 загрузки
CustomBoneTextureGeoLayer#shouldRenderBone to allow for handling of custom-hidden bonesquery.limb_swing not interpolating correctly (#834)24.03.2026 · 5 714 загрузки
software.bernie.geckolib to com.geckolibGeoLocator - A object implementation for locators. They are only used for listening to render positionsBakedGeoModel#getLocator and BakedGeoModel#locatorsGeoBone#locatorsRenderPassUtil#addLocatorPositionListenerGeoBone#updateBonePositionListeners to RenderUtil#providePositionsToListenersResource instances. Write an adapter to read resource files from any format you want!GeckoLibLoader from an SPI to a registerable interfaceGeckoLibUtil#addResourceLoaderGeckoLibUtil#addCustomBakedModelFactoryBakedGeoModel to a non-record, extendable class, for potential third-party adaptersAnimation to a non-record, extendable class, for potential third-party adaptersModelProperties to a non-record, extendable class, for potential third-party adaptersMathParser back to an instantiable object to allow for extensible implementations, added a deduplication schema to it, and performed a general cleanupMathParser, further reducing memory consumptionBakedAnimationsAdapter and KeyFrameMarkersAdapterBoneCubeFaceUVLocatorClassLocatorValueMinecraftGeometryModelPolyMeshPolysUnionTextureMeshUVFacesUVUnionBoneStructureGeometryTreeModelProperties to geckolib.cache.modelBakedAnimations to geckolib.cache.animationEasingTypeEasingType and in GeckoLibUtilEasingState#interpolateEasingState#getFirstEasingArgEasingType#modifyKeyframesEasingType#register to return a generic type instead of EasingTypeEasingType#easeInEasingType#lerpWithOverrideEasingType#fromJsonBakedAnimationCache#size and BakedModelCache#size.json resource path to BakedGeoModel's ModelPropertiesGeoReplacedEntity#getReplacingEntityType as it was no longer usedBakedGeoModel and GeoBone for API visibilityDataTickets, and properly typed the builtin GeckoLib ticketsMiscUtil#WORLD_TO_MODEL_SIZEMiscUtil#MODEL_TO_WORLD_SIZEJsonUtil#worldToModelUnits and JsonUtil#modelToWorldUnitsDirectionalProjectileRendererDyeableGeoArmorRendererGeoArmorRendererGeoBlockRendererGeoEntityRendererGeoReplacedEntityRendererModelFormatVersion to com.geckolib.loading.definition.geometry.objectRotation to UvFaceRotation and moved to com.geckolib.loading.definition.geometry.objectheadBone and its associated constructor in DefaultedEntityGeoModel since it's no longer usedDefaultedBlockGeoModel, DefaultedEntityGeoModel, and DefaultedItemGeoModelGeckoLibPlatform#getGameDir as it is no longer usedSerializableDataTickets. They haven't had a place in GeckoLib since early 1.21.x versions, and they've always had unresolvable implementation issues.VanillaModelModifier - This is mostly an internal implementation class to bridge a gap that vanilla's implementation left usItemArmorGeoLayer, added support for non-Equippable items GeoRenderer#performRenderPass now supports multiple pre-made BoneUpdaters when starting a render passBlockState and ItemStack references in rendering to ItemStackRenderState and BlockModelRenderState per Minecraft standardsRenderUtil#createRenderStateForItemRenderUtil#createRenderStateForBlockDataTickets#create as a shortcut/helper method for creating DataTicketsDataTicket.GLOW_COLOUR to DataTicket.OUTLINE_COLORDataTicket.BLOCK_FACING to GeoBlockRenderer.DIRECTION_FACINGDataTicket.ITEM to GeoItemRenderer.CURRENT_ITEMDataTicket.EQUIPMENT_SLOT to GeoArmorRenderer.CURRENT_SLOTDataTicket.IS_GECKOLIB_WEARER to GeoArmorRenderer.IS_GECKOLIB_WEARERDataTicket.HUMANOID_MODEL to GeoArmorRenderer.BASE_MODELBlockEntityRendererProvider.Context to the constructor of GeoBlockRenderer1.16.0 and 1.19.30 to the known geometry model definitionsBlockEntityRenderState -> GeoRenderStateRenderUtil#transformToBone running in reverse orderAnimationController having the wrong InternalApi annotationsBonePositionListeners mirror and inflate values properly24.03.2026 · 59 286 загрузки
software.bernie.geckolib to com.geckolibGeoLocator - A object implementation for locators. They are only used for listening to render positionsBakedGeoModel#getLocator and BakedGeoModel#locatorsGeoBone#locatorsRenderPassUtil#addLocatorPositionListenerGeoBone#updateBonePositionListeners to RenderUtil#providePositionsToListenersResource instances. Write an adapter to read resource files from any format you want!GeckoLibLoader from an SPI to a registerable interfaceGeckoLibUtil#addResourceLoaderGeckoLibUtil#addCustomBakedModelFactoryBakedGeoModel to a non-record, extendable class, for potential third-party adaptersAnimation to a non-record, extendable class, for potential third-party adaptersModelProperties to a non-record, extendable class, for potential third-party adaptersMathParser back to an instantiable object to allow for extensible implementations, added a deduplication schema to it, and performed a general cleanupMathParser, further reducing memory consumptionBakedAnimationsAdapter and KeyFrameMarkersAdapterBoneCubeFaceUVLocatorClassLocatorValueMinecraftGeometryModelPolyMeshPolysUnionTextureMeshUVFacesUVUnionBoneStructureGeometryTreeModelProperties to geckolib.cache.modelBakedAnimations to geckolib.cache.animationEasingTypeEasingType and in GeckoLibUtilEasingState#interpolateEasingState#getFirstEasingArgEasingType#modifyKeyframesEasingType#register to return a generic type instead of EasingTypeEasingType#easeInEasingType#lerpWithOverrideEasingType#fromJsonBakedAnimationCache#size and BakedModelCache#size.json resource path to BakedGeoModel's ModelPropertiesGeoReplacedEntity#getReplacingEntityType as it was no longer usedBakedGeoModel and GeoBone for API visibilityDataTickets, and properly typed the builtin GeckoLib ticketsMiscUtil#WORLD_TO_MODEL_SIZEMiscUtil#MODEL_TO_WORLD_SIZEJsonUtil#worldToModelUnits and JsonUtil#modelToWorldUnitsDirectionalProjectileRendererDyeableGeoArmorRendererGeoArmorRendererGeoBlockRendererGeoEntityRendererGeoReplacedEntityRendererModelFormatVersion to com.geckolib.loading.definition.geometry.objectRotation to UvFaceRotation and moved to com.geckolib.loading.definition.geometry.objectheadBone and its associated constructor in DefaultedEntityGeoModel since it's no longer usedDefaultedBlockGeoModel, DefaultedEntityGeoModel, and DefaultedItemGeoModelGeckoLibPlatform#getGameDir as it is no longer usedSerializableDataTickets. They haven't had a place in GeckoLib since early 1.21.x versions, and they've always had unresolvable implementation issues.VanillaModelModifier - This is mostly an internal implementation class to bridge a gap that vanilla's implementation left usItemArmorGeoLayer, added support for non-Equippable items GeoRenderer#performRenderPass now supports multiple pre-made BoneUpdaters when starting a render passBlockState and ItemStack references in rendering to ItemStackRenderState and BlockModelRenderState per Minecraft standardsRenderUtil#createRenderStateForItemRenderUtil#createRenderStateForBlockDataTickets#create as a shortcut/helper method for creating DataTicketsDataTicket.GLOW_COLOUR to DataTicket.OUTLINE_COLORDataTicket.BLOCK_FACING to GeoBlockRenderer.DIRECTION_FACINGDataTicket.ITEM to GeoItemRenderer.CURRENT_ITEMDataTicket.EQUIPMENT_SLOT to GeoArmorRenderer.CURRENT_SLOTDataTicket.IS_GECKOLIB_WEARER to GeoArmorRenderer.IS_GECKOLIB_WEARERDataTicket.HUMANOID_MODEL to GeoArmorRenderer.BASE_MODELBlockEntityRendererProvider.Context to the constructor of GeoBlockRenderer1.16.0 and 1.19.30 to the known geometry model definitionsBlockEntityRenderState -> GeoRenderStateRenderUtil#transformToBone running in reverse orderAnimationController having the wrong InternalApi annotationsBonePositionListeners mirror and inflate values properly03.03.2026 · 1 226 509 загрузки
v4.8.4
03.03.2026 · 45 029 загрузки
v4.8.4
03.03.2026 · 1 536 046 загрузки
v4.8.4
03.03.2026 · 36 139 загрузки
03.03.2026 · 23 894 загрузки
03.03.2026 · 492 816 загрузки
27.02.2026 · 2 608 загрузки
RenderPassInfo#getPreRenderMatrixPose and RenderPassInfo#getModelRenderMatrixPose, capturing the entire PoseStack pose instead of just the matrix pose itselfOverridingDataTicket - A DataTicket implementation that defers to an existing RenderState field first before applying itself.RenderUtil#transformToBone manipulating the PoseStack in reverse (#819)RenderUtil#transformToBone not accounting for back-translating to the pivot point (#822)MathParser sometimes parsing mathmematical expressions incorrectly (#820)GeoItems sometimes having their id collide if not registered as a synced animatable27.02.2026 · 1 793 загрузки
RenderPassInfo#getPreRenderMatrixPose and RenderPassInfo#getModelRenderMatrixPose, capturing the entire PoseStack pose instead of just the matrix pose itselfOverridingDataTicket - A DataTicket implementation that defers to an existing RenderState field first before applying itself.RenderUtil#transformToBone manipulating the PoseStack in reverse (#819)RenderUtil#transformToBone not accounting for back-translating to the pivot point (#822)MathParser sometimes parsing mathmematical expressions incorrectly (#820)GeoItems sometimes having their id collide if not registered as a synced animatable27.02.2026 · 25 135 загрузки
RenderPassInfo#getPreRenderMatrixPose and RenderPassInfo#getModelRenderMatrixPose, capturing the entire PoseStack pose instead of just the matrix pose itselfOverridingDataTicket - A DataTicket implementation that defers to an existing RenderState field first before applying itself.RenderUtil#transformToBone manipulating the PoseStack in reverse (#819)RenderUtil#transformToBone not accounting for back-translating to the pivot point (#822)MathParser sometimes parsing mathmematical expressions incorrectly (#820)GeoItems sometimes having their id collide if not registered as a synced animatable31.01.2026 · 3 381 394 загрузки
v4.8.3
math.pi is and breaking animations (??? How has no-one told me about this until now)31.01.2026 · 933 680 загрузки
v4.8.3
math.pi is and breaking animations (??? How has no-one told me about this until now)28.01.2026 · 12 553 загрузки
RenderUtil#prepMatrixForBoneAndUpdateListenersRenderUtil#addPosToMatrix28.01.2026 · 9 637 загрузки
RenderUtil#prepMatrixForBoneAndUpdateListenersRenderUtil#addPosToMatrix28.01.2026 · 109 396 загрузки
RenderUtil#prepMatrixForBoneAndUpdateListenersRenderUtil#addPosToMatrix11.01.2026 · 9 808 загрузки
RenderPassInfo#addBonePositionListenerTypeToken alternative to classes for DataTickets, to allow for generic-typed DataTickets11.01.2026 · 5 948 загрузки
RenderPassInfo#addBonePositionListenerTypeToken alternative to classes for DataTickets, to allow for generic-typed DataTickets11.01.2026 · 100 035 загрузки
RenderPassInfo#addBonePositionListenerTypeToken alternative to classes for DataTickets, to allow for generic-typed DataTickets04.01.2026 · 401 426 загрузки
v4.8.3
04.01.2026 · 16 085 загрузки
v4.8.3
04.01.2026 · 1 351 825 загрузки
v4.8.3
01.01.2026 · 2 975 загрузки
RenderPassInfo#addBoneUpdaterAnimationController sometimes thinking time has gone backwards (thanks Mojang?)AnimationController handling triggered animations in ticks instead of seconds01.01.2026 · 2 246 загрузки
RenderPassInfo#addBoneUpdaterAnimationController sometimes thinking time has gone backwards (thanks Mojang?)AnimationController handling triggered animations in ticks instead of seconds01.01.2026 · 120 741 загрузки
RenderPassInfo#addBoneUpdaterAnimationController sometimes thinking time has gone backwards (thanks Mojang?)AnimationController handling triggered animations in ticks instead of seconds27.12.2025 · 2 175 загрузки
null values#setTransitionTicks to AnimationControllerJsonUtil#jsonToVec3 direct helper methodGeckoLibClient#getGeoModelForItem as it was unused and unnecessary, use RenderUtil#getGeckoLibItemRenderer instead and get the model as neededGeckoLibServices.Client was extracted to GeckoLibClientServices, because java kept failing to compile for seemingly no reasonGeoBone#positionAndRender, which implements the full render operation for a given boneGeoRenderState#getOrDefaultGeckolibData for deferred computationSerializableDataTicket#enforceValidTicketbind_pose_rotation legacy support from the Bone formatAnimationVariables classGeoObjectRenderer from E to O to match the rest of the libraryBoneSnapshots, PerBoneRender, and RenderPassInfo to the renderer base packageGeoRenderLayer classes to a builtin subpackageKeyFramesAdapter to GeckoLibResourcesKeyFramesAdapter to KeyFrameMarkersAdapter27.12.2025 · 1 367 загрузки
null values#setTransitionTicks to AnimationControllerJsonUtil#jsonToVec3 direct helper methodGeckoLibClient#getGeoModelForItem as it was unused and unnecessary, use RenderUtil#getGeckoLibItemRenderer instead and get the model as neededGeckoLibServices.Client was extracted to GeckoLibClientServices, because java kept failing to compile for seemingly no reasonGeoBone#positionAndRender, which implements the full render operation for a given boneGeoRenderState#getOrDefaultGeckolibData for deferred computationSerializableDataTicket#enforceValidTicketbind_pose_rotation legacy support from the Bone formatAnimationVariables classGeoObjectRenderer from E to O to match the rest of the libraryBoneSnapshots, PerBoneRender, and RenderPassInfo to the renderer base packageGeoRenderLayer classes to a builtin subpackageKeyFramesAdapter to GeckoLibResourcesKeyFramesAdapter to KeyFrameMarkersAdapter27.12.2025 · 23 648 загрузки
null values#setTransitionTicks to AnimationControllerJsonUtil#jsonToVec3 direct helper methodGeckoLibClient#getGeoModelForItem as it was unused and unnecessary, use RenderUtil#getGeckoLibItemRenderer instead and get the model as neededGeckoLibServices.Client was extracted to GeckoLibClientServices, because java kept failing to compile for seemingly no reasonGeoBone#positionAndRender, which implements the full render operation for a given boneGeoRenderState#getOrDefaultGeckolibData for deferred computationSerializableDataTicket#enforceValidTicketbind_pose_rotation legacy support from the Bone formatAnimationVariables classGeoObjectRenderer from E to O to match the rest of the libraryBoneSnapshots, PerBoneRender, and RenderPassInfo to the renderer base packageGeoRenderLayer classes to a builtin subpackageKeyFramesAdapter to GeckoLibResourcesKeyFramesAdapter to KeyFrameMarkersAdapter10.12.2025 · 44 271 загрузки
10.12.2025 · 2 582 загрузки
29.10.2025 · 21 037 загрузки
BlockAndItemGeoLayer#renderStackForBone and #renderBlockForBone renamed to #submitItemStackRender and #submitBlockRender respectivelyOBJECT_RENDER_POSE and MODEL_RENDER_POSE DataTickets to the base GeoRenderer, so that subclasses do not need to handle them in overridesPerBoneRenderTask per GeoBoneGeoBone#transformToBonePerBoneRender tasks out into GeoRenderer#submitPerBoneRenderTasksskipPerBoneTasks in several GeoRenderer method calls as it is no longer neededPerBoneRenderTasks for neatly handling per-bone render tasks given their added complexityGeoArmorLayer's generic type to require an AvatarRenderState, as that is the actual type required by the models usedRenderStateUtillightCoords now by defaultGeoRenderState#getPackedLightGeoRenderer#defaultRender has been renamed to #submitRenderTasks to better represent its function now that we're not actually rendering at the time of that callGeoRenderer#actuallyRender has been renamed to #buildRenderTask to better represent its functionGeoLayer#render has been renamed to #buildRenderTask to better represent its functionGeoRenderer#reRender has been removed. Instead, render layers or renderers should submit another render task via GeoRenderer#buildRenderTask. Consequently, you no longer need to check for isReRender in renderer methodspreRender, scaleModelForRender, and adjustPositionForRender have all been moved to after the preRender event checkGeoRenderer#createRenderStateGeoEntityRenderer#createBaseRenderState - Use #createRenderState instead GeoRenderer#doPostRenderCleanupGeoArmorLayer.RenderDataRenderModelPositionerGeoArmorRenderer - it should now be significantly easier to use and understand#withRenderLayer to the various GeoRenderers to allow for a functional instantiationGeoObjectRenderer now uses a generic for its GeoRenderState, allowing for generic extensibilityGeoRenderer#addRenderData, GeoRenderLayer#addRenderData, GeoModel#prepareForRenderPass, and the various CompileRenderState events/hooks (#762)GeoRenderer#adjustPositionForRender to #adjustRenderPose to better reflect its intended usageItemArmorGeoLayer.RenderData now uses GeoArmorRenderer.ArmorSegments instead of manual slots and part gettersGeoRenderEvent and its various sub-events multiloader compatibleCompileBlockRenderLayersEventStatelessGeoBlockEntityStatelessGeoEntityStatelessGeoObjectStatelessGeoReplacedEntityStatelessGeoSingletonAnimatableStatelessAnimationControllerattack.punch DefaultAnimation constantmisc.idle.flying DefaultAnimation constantmove.dive DefaultAnimation constantDefaultAnimations#triggerOnlyController for creating a controller specifically for arbitrary triggered animationsRawAnimation#getStageCountAnimationController#getStateHandlerDefaultAnimations#genericWalkFlyIdleControllernew GeoEntityRenderer(ModEntities.MY_ENTITY);GeoRenderEvent#hasDataRenderUtil#getReplacedEntityRendererRenderUtil#getGeckoLibItemRendererRenderUtil#getGeckoLibEntityRendererRenderUtil#getGeckoLibBlockRendererRenderUtil#getGeckoLibArmorRendererEntityRenderState is properly extracted before passing to GeoArmorRenderer for extractionAnimation.StageRawAnimationGeoRenderEvent#getRenderDataRenderUtil#getCurrentSystemTickRenderUtil#booleanToFloatRenderUtil#getGeoModelForEntityTypeRenderUtil#getGeoModelForEntityRenderUtil#getGeoModelForItemRenderUtil#getGeoModelForBlockRenderUtil#getGeoModelForArmorRenderUtil#getCurrentTick to ClientUtilRenderUtil#arrayToVec to JsonUtilGeoRenderProvider#getGeoArmorRendererItemArmorGeoLayer#prepHumanoidModelForRender to #positionModelPartFromBone29.10.2025 · 21 457 загрузки
BlockAndItemGeoLayer#renderStackForBone and #renderBlockForBone renamed to #submitItemStackRender and #submitBlockRender respectivelyOBJECT_RENDER_POSE and MODEL_RENDER_POSE DataTickets to the base GeoRenderer, so that subclasses do not need to handle them in overridesPerBoneRenderTask per GeoBoneGeoBone#transformToBonePerBoneRender tasks out into GeoRenderer#submitPerBoneRenderTasksskipPerBoneTasks in several GeoRenderer method calls as it is no longer neededPerBoneRenderTasks for neatly handling per-bone render tasks given their added complexityGeoArmorLayer's generic type to require an AvatarRenderState, as that is the actual type required by the models usedRenderStateUtillightCoords now by defaultGeoRenderState#getPackedLightGeoRenderer#defaultRender has been renamed to #submitRenderTasks to better represent its function now that we're not actually rendering at the time of that callGeoRenderer#actuallyRender has been renamed to #buildRenderTask to better represent its functionGeoLayer#render has been renamed to #buildRenderTask to better represent its functionGeoRenderer#reRender has been removed. Instead, render layers or renderers should submit another render task via GeoRenderer#buildRenderTask. Consequently, you no longer need to check for isReRender in renderer methodspreRender, scaleModelForRender, and adjustPositionForRender have all been moved to after the preRender event checkGeoRenderer#createRenderStateGeoEntityRenderer#createBaseRenderState - Use #createRenderState instead GeoRenderer#doPostRenderCleanupGeoArmorLayer.RenderDataRenderModelPositionerGeoArmorRenderer - it should now be significantly easier to use and understand#withRenderLayer to the various GeoRenderers to allow for a functional instantiationGeoObjectRenderer now uses a generic for its GeoRenderState, allowing for generic extensibilityGeoRenderer#addRenderData, GeoRenderLayer#addRenderData, GeoModel#prepareForRenderPass, and the various CompileRenderState events/hooks (#762)GeoRenderer#adjustPositionForRender to #adjustRenderPose to better reflect its intended usageItemArmorGeoLayer.RenderData now uses GeoArmorRenderer.ArmorSegments instead of manual slots and part gettersGeoRenderEvent and its various sub-events multiloader compatibleCompileBlockRenderLayersEventStatelessGeoBlockEntityStatelessGeoEntityStatelessGeoObjectStatelessGeoReplacedEntityStatelessGeoSingletonAnimatableStatelessAnimationControllerattack.punch DefaultAnimation constantmisc.idle.flying DefaultAnimation constantmove.dive DefaultAnimation constantDefaultAnimations#triggerOnlyController for creating a controller specifically for arbitrary triggered animationsRawAnimation#getStageCountAnimationController#getStateHandlerDefaultAnimations#genericWalkFlyIdleControllernew GeoEntityRenderer(ModEntities.MY_ENTITY);GeoRenderEvent#hasDataRenderUtil#getReplacedEntityRendererRenderUtil#getGeckoLibItemRendererRenderUtil#getGeckoLibEntityRendererRenderUtil#getGeckoLibBlockRendererRenderUtil#getGeckoLibArmorRendererEntityRenderState is properly extracted before passing to GeoArmorRenderer for extractionAnimation.StageRawAnimationGeoRenderEvent#getRenderDataRenderUtil#getCurrentSystemTickRenderUtil#booleanToFloatRenderUtil#getGeoModelForEntityTypeRenderUtil#getGeoModelForEntityRenderUtil#getGeoModelForItemRenderUtil#getGeoModelForBlockRenderUtil#getGeoModelForArmorRenderUtil#getCurrentTick to ClientUtilRenderUtil#arrayToVec to JsonUtilGeoRenderProvider#getGeoArmorRendererItemArmorGeoLayer#prepHumanoidModelForRender to #positionModelPartFromBone29.10.2025 · 197 139 загрузки
BlockAndItemGeoLayer#renderStackForBone and #renderBlockForBone renamed to #submitItemStackRender and #submitBlockRender respectivelyOBJECT_RENDER_POSE and MODEL_RENDER_POSE DataTickets to the base GeoRenderer, so that subclasses do not need to handle them in overridesPerBoneRenderTask per GeoBoneGeoBone#transformToBonePerBoneRender tasks out into GeoRenderer#submitPerBoneRenderTasksskipPerBoneTasks in several GeoRenderer method calls as it is no longer neededPerBoneRenderTasks for neatly handling per-bone render tasks given their added complexityGeoArmorLayer's generic type to require an AvatarRenderState, as that is the actual type required by the models usedRenderStateUtillightCoords now by defaultGeoRenderState#getPackedLightGeoRenderer#defaultRender has been renamed to #submitRenderTasks to better represent its function now that we're not actually rendering at the time of that callGeoRenderer#actuallyRender has been renamed to #buildRenderTask to better represent its functionGeoLayer#render has been renamed to #buildRenderTask to better represent its functionGeoRenderer#reRender has been removed. Instead, render layers or renderers should submit another render task via GeoRenderer#buildRenderTask. Consequently, you no longer need to check for isReRender in renderer methodspreRender, scaleModelForRender, and adjustPositionForRender have all been moved to after the preRender event checkGeoRenderer#createRenderStateGeoEntityRenderer#createBaseRenderState - Use #createRenderState instead GeoRenderer#doPostRenderCleanupGeoArmorLayer.RenderDataRenderModelPositionerGeoArmorRenderer - it should now be significantly easier to use and understand#withRenderLayer to the various GeoRenderers to allow for a functional instantiationGeoObjectRenderer now uses a generic for its GeoRenderState, allowing for generic extensibilityGeoRenderer#addRenderData, GeoRenderLayer#addRenderData, GeoModel#prepareForRenderPass, and the various CompileRenderState events/hooks (#762)GeoRenderer#adjustPositionForRender to #adjustRenderPose to better reflect its intended usageItemArmorGeoLayer.RenderData now uses GeoArmorRenderer.ArmorSegments instead of manual slots and part gettersGeoRenderEvent and its various sub-events multiloader compatibleCompileBlockRenderLayersEventStatelessGeoBlockEntityStatelessGeoEntityStatelessGeoObjectStatelessGeoReplacedEntityStatelessGeoSingletonAnimatableStatelessAnimationControllerattack.punch DefaultAnimation constantmisc.idle.flying DefaultAnimation constantmove.dive DefaultAnimation constantDefaultAnimations#triggerOnlyController for creating a controller specifically for arbitrary triggered animationsRawAnimation#getStageCountAnimationController#getStateHandlerDefaultAnimations#genericWalkFlyIdleControllernew GeoEntityRenderer(ModEntities.MY_ENTITY);GeoRenderEvent#hasDataRenderUtil#getReplacedEntityRendererRenderUtil#getGeckoLibItemRendererRenderUtil#getGeckoLibEntityRendererRenderUtil#getGeckoLibBlockRendererRenderUtil#getGeckoLibArmorRendererEntityRenderState is properly extracted before passing to GeoArmorRenderer for extractionAnimation.StageRawAnimationGeoRenderEvent#getRenderDataRenderUtil#getCurrentSystemTickRenderUtil#booleanToFloatRenderUtil#getGeoModelForEntityTypeRenderUtil#getGeoModelForEntityRenderUtil#getGeoModelForItemRenderUtil#getGeoModelForBlockRenderUtil#getGeoModelForArmorRenderUtil#getCurrentTick to ClientUtilRenderUtil#arrayToVec to JsonUtilGeoRenderProvider#getGeoArmorRendererItemArmorGeoLayer#prepHumanoidModelForRender to #positionModelPartFromBone22.10.2025 · 1 872 загрузки
BlockAndItemGeoLayer#renderStackForBone and #renderBlockForBone renamed to #submitItemStackRender and #submitBlockRender respectivelyOBJECT_RENDER_POSE and MODEL_RENDER_POSE DataTickets to the base GeoRenderer, so that subclasses do not need to handle them in overridesPerBoneRenderTask per GeoBoneGeoBone#transformToBonePerBoneRender tasks out into GeoRenderer#submitPerBoneRenderTasksskipPerBoneTasks in several GeoRenderer method calls as it is no longer neededPerBoneRenderTasks for neatly handling per-bone render tasks given their added complexityGeoArmorLayer's generic type to require an AvatarRenderState, as that is the actual type required by the models usedRenderStateUtillightCoords now by defaultGeoRenderState#getPackedLightGeoRenderer#defaultRender has been renamed to #submitRenderTasks to better represent its function now that we're not actually rendering at the time of that callGeoRenderer#actuallyRender has been renamed to #buildRenderTask to better represent its functionGeoLayer#render has been renamed to #buildRenderTask to better represent its functionGeoRenderer#reRender has been removed. Instead, render layers or renderers should submit another render task via GeoRenderer#buildRenderTask. Consequently, you no longer need to check for isReRender in renderer methodspreRender, scaleModelForRender, and adjustPositionForRender have all been moved to after the preRender event checkGeoRenderer#createRenderStateGeoEntityRenderer#createBaseRenderState - Use #createRenderState instead GeoRenderer#doPostRenderCleanupGeoArmorLayer.RenderDataGeoArmorRenderer - it should now be significantly easier to use and understand#withRenderLayer to the various GeoRenderers to allow for a functional instantiationGeoObjectRenderer now uses a generic for its GeoRenderState, allowing for generic extensibilityGeoRenderer#addRenderData, GeoRenderLayer#addRenderData, GeoModel#prepareForRenderPass, and the various CompileRenderState events/hooks (#762)GeoRenderer#adjustPositionForRender to #adjustRenderPose to better reflect its intended usageItemArmorGeoLayer.RenderData now uses GeoArmorRenderer.ArmorSegments instead of manual slots and part gettersGeoRenderEvent and its various sub-events multiloader compatibleCompileBlockRenderLayersEventStatelessGeoBlockEntityStatelessGeoEntityStatelessGeoObjectStatelessGeoReplacedEntityStatelessGeoSingletonAnimatableStatelessAnimationControllerattack.punch DefaultAnimation constantmisc.idle.flying DefaultAnimation constantmove.dive DefaultAnimation constantDefaultAnimations#triggerOnlyController for creating a controller specifically for arbitrary triggered animationsRawAnimation#getStageCountAnimationController#getStateHandlerDefaultAnimations#genericWalkFlyIdleControllernew GeoEntityRenderer(ModEntities.MY_ENTITY);GeoRenderEvent#hasDataRenderUtil#getReplacedEntityRendererRenderUtil#getGeckoLibItemRendererRenderUtil#getGeckoLibEntityRendererRenderUtil#getGeckoLibBlockRendererRenderUtil#getGeckoLibArmorRendererEntityRenderState is properly extracted before passing to GeoArmorRenderer for extractionAnimation.StageRawAnimationGeoRenderEvent#getRenderDataRenderUtil#getCurrentSystemTickRenderUtil#booleanToFloatRenderUtil#getGeoModelForEntityTypeRenderUtil#getGeoModelForEntityRenderUtil#getGeoModelForItemRenderUtil#getGeoModelForBlockRenderUtil#getGeoModelForArmorRenderUtil#getCurrentTick to ClientUtilRenderUtil#arrayToVec to JsonUtilGeoRenderProvider#getGeoArmorRendererItemArmorGeoLayer#prepHumanoidModelForRender to #positionModelPartFromBone22.10.2025 · 1 291 загрузки
BlockAndItemGeoLayer#renderStackForBone and #renderBlockForBone renamed to #submitItemStackRender and #submitBlockRender respectivelyOBJECT_RENDER_POSE and MODEL_RENDER_POSE DataTickets to the base GeoRenderer, so that subclasses do not need to handle them in overridesPerBoneRenderTask per GeoBoneGeoBone#transformToBonePerBoneRender tasks out into GeoRenderer#submitPerBoneRenderTasksskipPerBoneTasks in several GeoRenderer method calls as it is no longer neededPerBoneRenderTasks for neatly handling per-bone render tasks given their added complexityGeoArmorLayer's generic type to require an AvatarRenderState, as that is the actual type required by the models usedRenderStateUtillightCoords now by defaultGeoRenderState#getPackedLightGeoRenderer#defaultRender has been renamed to #submitRenderTasks to better represent its function now that we're not actually rendering at the time of that callGeoRenderer#actuallyRender has been renamed to #buildRenderTask to better represent its functionGeoLayer#render has been renamed to #buildRenderTask to better represent its functionGeoRenderer#reRender has been removed. Instead, render layers or renderers should submit another render task via GeoRenderer#buildRenderTask. Consequently, you no longer need to check for isReRender in renderer methodspreRender, scaleModelForRender, and adjustPositionForRender have all been moved to after the preRender event checkGeoRenderer#createRenderStateGeoEntityRenderer#createBaseRenderState - Use #createRenderState instead GeoRenderer#doPostRenderCleanupGeoArmorLayer.RenderDataGeoArmorRenderer - it should now be significantly easier to use and understand#withRenderLayer to the various GeoRenderers to allow for a functional instantiationGeoObjectRenderer now uses a generic for its GeoRenderState, allowing for generic extensibilityGeoRenderer#addRenderData, GeoRenderLayer#addRenderData, GeoModel#prepareForRenderPass, and the various CompileRenderState events/hooks (#762)GeoRenderer#adjustPositionForRender to #adjustRenderPose to better reflect its intended usageItemArmorGeoLayer.RenderData now uses GeoArmorRenderer.ArmorSegments instead of manual slots and part gettersGeoRenderEvent and its various sub-events multiloader compatibleCompileBlockRenderLayersEventStatelessGeoBlockEntityStatelessGeoEntityStatelessGeoObjectStatelessGeoReplacedEntityStatelessGeoSingletonAnimatableStatelessAnimationControllerattack.punch DefaultAnimation constantmisc.idle.flying DefaultAnimation constantmove.dive DefaultAnimation constantDefaultAnimations#triggerOnlyController for creating a controller specifically for arbitrary triggered animationsRawAnimation#getStageCountAnimationController#getStateHandlerDefaultAnimations#genericWalkFlyIdleControllernew GeoEntityRenderer(ModEntities.MY_ENTITY);GeoRenderEvent#hasDataRenderUtil#getReplacedEntityRendererRenderUtil#getGeckoLibItemRendererRenderUtil#getGeckoLibEntityRendererRenderUtil#getGeckoLibBlockRendererRenderUtil#getGeckoLibArmorRendererEntityRenderState is properly extracted before passing to GeoArmorRenderer for extractionAnimation.StageRawAnimationGeoRenderEvent#getRenderDataRenderUtil#getCurrentSystemTickRenderUtil#booleanToFloatRenderUtil#getGeoModelForEntityTypeRenderUtil#getGeoModelForEntityRenderUtil#getGeoModelForItemRenderUtil#getGeoModelForBlockRenderUtil#getGeoModelForArmorRenderUtil#getCurrentTick to ClientUtilRenderUtil#arrayToVec to JsonUtilGeoRenderProvider#getGeoArmorRendererItemArmorGeoLayer#prepHumanoidModelForRender to #positionModelPartFromBone22.10.2025 · 7 676 загрузки
BlockAndItemGeoLayer#renderStackForBone and #renderBlockForBone renamed to #submitItemStackRender and #submitBlockRender respectivelyOBJECT_RENDER_POSE and MODEL_RENDER_POSE DataTickets to the base GeoRenderer, so that subclasses do not need to handle them in overridesPerBoneRenderTask per GeoBoneGeoBone#transformToBonePerBoneRender tasks out into GeoRenderer#submitPerBoneRenderTasksskipPerBoneTasks in several GeoRenderer method calls as it is no longer neededPerBoneRenderTasks for neatly handling per-bone render tasks given their added complexityGeoArmorLayer's generic type to require an AvatarRenderState, as that is the actual type required by the models usedRenderStateUtillightCoords now by defaultGeoRenderState#getPackedLightGeoRenderer#defaultRender has been renamed to #submitRenderTasks to better represent its function now that we're not actually rendering at the time of that callGeoRenderer#actuallyRender has been renamed to #buildRenderTask to better represent its functionGeoLayer#render has been renamed to #buildRenderTask to better represent its functionGeoRenderer#reRender has been removed. Instead, render layers or renderers should submit another render task via GeoRenderer#buildRenderTask. Consequently, you no longer need to check for isReRender in renderer methodspreRender, scaleModelForRender, and adjustPositionForRender have all been moved to after the preRender event checkGeoRenderer#createRenderStateGeoEntityRenderer#createBaseRenderState - Use #createRenderState instead GeoRenderer#doPostRenderCleanupGeoArmorLayer.RenderDataGeoArmorRenderer - it should now be significantly easier to use and understand#withRenderLayer to the various GeoRenderers to allow for a functional instantiationGeoObjectRenderer now uses a generic for its GeoRenderState, allowing for generic extensibilityGeoRenderer#addRenderData, GeoRenderLayer#addRenderData, GeoModel#prepareForRenderPass, and the various CompileRenderState events/hooks (#762)GeoRenderer#adjustPositionForRender to #adjustRenderPose to better reflect its intended usageItemArmorGeoLayer.RenderData now uses GeoArmorRenderer.ArmorSegments instead of manual slots and part gettersGeoRenderEvent and its various sub-events multiloader compatibleCompileBlockRenderLayersEventStatelessGeoBlockEntityStatelessGeoEntityStatelessGeoObjectStatelessGeoReplacedEntityStatelessGeoSingletonAnimatableStatelessAnimationControllerattack.punch DefaultAnimation constantmisc.idle.flying DefaultAnimation constantmove.dive DefaultAnimation constantDefaultAnimations#triggerOnlyController for creating a controller specifically for arbitrary triggered animationsRawAnimation#getStageCountAnimationController#getStateHandlerDefaultAnimations#genericWalkFlyIdleControllernew GeoEntityRenderer(ModEntities.MY_ENTITY);GeoRenderEvent#hasDataRenderUtil#getReplacedEntityRendererRenderUtil#getGeckoLibItemRendererRenderUtil#getGeckoLibEntityRendererRenderUtil#getGeckoLibBlockRendererRenderUtil#getGeckoLibArmorRendererEntityRenderState is properly extracted before passing to GeoArmorRenderer for extractionAnimation.StageRawAnimationGeoRenderEvent#getRenderDataRenderUtil#getCurrentSystemTickRenderUtil#booleanToFloatRenderUtil#getGeoModelForEntityTypeRenderUtil#getGeoModelForEntityRenderUtil#getGeoModelForItemRenderUtil#getGeoModelForBlockRenderUtil#getGeoModelForArmorRenderUtil#getCurrentTick to ClientUtilRenderUtil#arrayToVec to JsonUtilGeoRenderProvider#getGeoArmorRendererItemArmorGeoLayer#prepHumanoidModelForRender to #positionModelPartFromBone12.10.2025 · 2 236 загрузки
lightCoords now by defaultGeoRenderState#getPackedLightGeoRenderer#defaultRender has been renamed to #submitRenderTasks to better represent its function now that we're not actually rendering at the time of that callGeoRenderer#actuallyRender has been renamed to #buildRenderTask to better represent its functionGeoLayer#render has been renamed to #buildRenderTask to better represent its functionGeoRenderer#reRender has been removed. Instead, render layers or renderers should submit another render task via GeoRenderer#buildRenderTask. Consequently, you no longer need to check for isReRender in renderer methodspreRender, scaleModelForRender, and adjustPositionForRender have all been moved to after the preRender event checkGeoRenderer#createRenderStateGeoEntityRenderer#createBaseRenderState - Use #createRenderState instead GeoRenderer#doPostRenderCleanupGeoArmorLayer.RenderDataGeoArmorRenderer - it should now be significantly easier to use and understand#withRenderLayer to the various GeoRenderers to allow for a functional instantiationGeoObjectRenderer now uses a generic for its GeoRenderState, allowing for generic extensibilityGeoRenderer#addRenderData, GeoRenderLayer#addRenderData, GeoModel#prepareForRenderPass, and the various CompileRenderState events/hooks (#762)GeoRenderer#adjustPositionForRender to #adjustRenderPose to better reflect its intended usageItemArmorGeoLayer.RenderData now uses GeoArmorRenderer.ArmorSegments instead of manual slots and part gettersGeoRenderEvent and its various sub-events multiloader compatibleCompileBlockRenderLayersEventStatelessGeoBlockEntityStatelessGeoEntityStatelessGeoObjectStatelessGeoReplacedEntityStatelessGeoSingletonAnimatableStatelessAnimationControllerattack.punch DefaultAnimation constantmisc.idle.flying DefaultAnimation constantmove.dive DefaultAnimation constantDefaultAnimations#triggerOnlyController for creating a controller specifically for arbitrary triggered animationsRawAnimation#getStageCountAnimationController#getStateHandlerDefaultAnimations#genericWalkFlyIdleControllernew GeoEntityRenderer(ModEntities.MY_ENTITY);GeoRenderEvent#hasDataRenderUtil#getReplacedEntityRendererRenderUtil#getGeckoLibItemRendererRenderUtil#getGeckoLibEntityRendererRenderUtil#getGeckoLibBlockRendererRenderUtil#getGeckoLibArmorRendererEntityRenderState is properly extracted before passing to GeoArmorRenderer for extractionAnimation.StageRawAnimationGeoRenderEvent#getRenderDataRenderUtil#getCurrentSystemTickRenderUtil#booleanToFloatRenderUtil#getGeoModelForEntityTypeRenderUtil#getGeoModelForEntityRenderUtil#getGeoModelForItemRenderUtil#getGeoModelForBlockRenderUtil#getGeoModelForArmorRenderUtil#getCurrentTick to ClientUtilRenderUtil#arrayToVec to JsonUtilGeoRenderProvider#getGeoArmorRendererItemArmorGeoLayer#prepHumanoidModelForRender to #positionModelPartFromBone12.10.2025 · 1 931 загрузки
lightCoords now by defaultGeoRenderState#getPackedLightGeoRenderer#defaultRender has been renamed to #submitRenderTasks to better represent its function now that we're not actually rendering at the time of that callGeoRenderer#actuallyRender has been renamed to #buildRenderTask to better represent its functionGeoLayer#render has been renamed to #buildRenderTask to better represent its functionGeoRenderer#reRender has been removed. Instead, render layers or renderers should submit another render task via GeoRenderer#buildRenderTask. Consequently, you no longer need to check for isReRender in renderer methodspreRender, scaleModelForRender, and adjustPositionForRender have all been moved to after the preRender event checkGeoRenderer#createRenderStateGeoEntityRenderer#createBaseRenderState - Use #createRenderState instead GeoRenderer#doPostRenderCleanupGeoArmorLayer.RenderDataGeoArmorRenderer - it should now be significantly easier to use and understand#withRenderLayer to the various GeoRenderers to allow for a functional instantiationGeoObjectRenderer now uses a generic for its GeoRenderState, allowing for generic extensibilityGeoRenderer#addRenderData, GeoRenderLayer#addRenderData, GeoModel#prepareForRenderPass, and the various CompileRenderState events/hooks (#762)GeoRenderer#adjustPositionForRender to #adjustRenderPose to better reflect its intended usageItemArmorGeoLayer.RenderData now uses GeoArmorRenderer.ArmorSegments instead of manual slots and part gettersGeoRenderEvent and its various sub-events multiloader compatibleCompileBlockRenderLayersEventStatelessGeoBlockEntityStatelessGeoEntityStatelessGeoObjectStatelessGeoReplacedEntityStatelessGeoSingletonAnimatableStatelessAnimationControllerattack.punch DefaultAnimation constantmisc.idle.flying DefaultAnimation constantmove.dive DefaultAnimation constantDefaultAnimations#triggerOnlyController for creating a controller specifically for arbitrary triggered animationsRawAnimation#getStageCountAnimationController#getStateHandlerDefaultAnimations#genericWalkFlyIdleControllernew GeoEntityRenderer(ModEntities.MY_ENTITY);GeoRenderEvent#hasDataRenderUtil#getReplacedEntityRendererRenderUtil#getGeckoLibItemRendererRenderUtil#getGeckoLibEntityRendererRenderUtil#getGeckoLibBlockRendererRenderUtil#getGeckoLibArmorRendererEntityRenderState is properly extracted before passing to GeoArmorRenderer for extractionAnimation.StageRawAnimationGeoRenderEvent#getRenderDataRenderUtil#getCurrentSystemTickRenderUtil#booleanToFloatRenderUtil#getGeoModelForEntityTypeRenderUtil#getGeoModelForEntityRenderUtil#getGeoModelForItemRenderUtil#getGeoModelForBlockRenderUtil#getGeoModelForArmorRenderUtil#getCurrentTick to ClientUtilRenderUtil#arrayToVec to JsonUtilGeoRenderProvider#getGeoArmorRendererItemArmorGeoLayer#prepHumanoidModelForRender to #positionModelPartFromBone12.10.2025 · 44 042 загрузки
lightCoords now by defaultGeoRenderState#getPackedLightGeoRenderer#defaultRender has been renamed to #submitRenderTasks to better represent its function now that we're not actually rendering at the time of that callGeoRenderer#actuallyRender has been renamed to #buildRenderTask to better represent its functionGeoLayer#render has been renamed to #buildRenderTask to better represent its functionGeoRenderer#reRender has been removed. Instead, render layers or renderers should submit another render task via GeoRenderer#buildRenderTask. Consequently, you no longer need to check for isReRender in renderer methodspreRender, scaleModelForRender, and adjustPositionForRender have all been moved to after the preRender event checkGeoRenderer#createRenderStateGeoEntityRenderer#createBaseRenderState - Use #createRenderState instead GeoRenderer#doPostRenderCleanupGeoArmorLayer.RenderDataGeoArmorRenderer - it should now be significantly easier to use and understand#withRenderLayer to the various GeoRenderers to allow for a functional instantiationGeoObjectRenderer now uses a generic for its GeoRenderState, allowing for generic extensibilityGeoRenderer#addRenderData, GeoRenderLayer#addRenderData, GeoModel#prepareForRenderPass, and the various CompileRenderState events/hooks (#762)GeoRenderer#adjustPositionForRender to #adjustRenderPose to better reflect its intended usageItemArmorGeoLayer.RenderData now uses GeoArmorRenderer.ArmorSegments instead of manual slots and part gettersGeoRenderEvent and its various sub-events multiloader compatibleCompileBlockRenderLayersEventStatelessGeoBlockEntityStatelessGeoEntityStatelessGeoObjectStatelessGeoReplacedEntityStatelessGeoSingletonAnimatableStatelessAnimationControllerattack.punch DefaultAnimation constantmisc.idle.flying DefaultAnimation constantmove.dive DefaultAnimation constantDefaultAnimations#triggerOnlyController for creating a controller specifically for arbitrary triggered animationsRawAnimation#getStageCountAnimationController#getStateHandlerDefaultAnimations#genericWalkFlyIdleControllernew GeoEntityRenderer(ModEntities.MY_ENTITY);GeoRenderEvent#hasDataRenderUtil#getReplacedEntityRendererRenderUtil#getGeckoLibItemRendererRenderUtil#getGeckoLibEntityRendererRenderUtil#getGeckoLibBlockRendererRenderUtil#getGeckoLibArmorRendererEntityRenderState is properly extracted before passing to GeoArmorRenderer for extractionAnimation.StageRawAnimationGeoRenderEvent#getRenderDataRenderUtil#getCurrentSystemTickRenderUtil#booleanToFloatRenderUtil#getGeoModelForEntityTypeRenderUtil#getGeoModelForEntityRenderUtil#getGeoModelForItemRenderUtil#getGeoModelForBlockRenderUtil#getGeoModelForArmorRenderUtil#getCurrentTick to ClientUtilRenderUtil#arrayToVec to JsonUtilGeoRenderProvider#getGeoArmorRendererItemArmorGeoLayer#prepHumanoidModelForRender to #positionModelPartFromBone23.09.2025 · 6 190 461 загрузки
v4.8.2
23.09.2025 · 1 768 593 загрузки
v4.8.2
22.09.2025 · 811 909 загрузки
v4.8.2
22.09.2025 · 20 338 загрузки
v4.8.2
22.09.2025 · 1 976 769 загрузки
v4.8.2
22.09.2025 · 29 520 загрузки
v4.8.1
22.09.2025 · 9 518 загрузки
v4.8
StatelessGeoBlockEntityStatelessGeoEntityStatelessGeoObjectStatelessGeoReplacedEntityStatelessGeoSingletonAnimatableStatelessAnimationControllerNetworkUtil, adding some network helpers for writing/reading RawAnimationsRawAnimation#getStageCountAnimationController#getStateHandlerDefaultAnimations#triggerOnlyController for creating a controller specifically for arbitrary triggered animationsDefaultAnimations#genericWalkFlyIdleControllerattack.punch DefaultAnimation constantmisc.idle.flying DefaultAnimation constantmove.dive DefaultAnimation constantnew GeoEntityRenderer(ModEntities.MY_ENTITY);21.09.2025 · 109 089 загрузки
v4.8
StatelessGeoBlockEntityStatelessGeoEntityStatelessGeoObjectStatelessGeoReplacedEntityStatelessGeoSingletonAnimatableStatelessAnimationControllerNetworkUtil, adding some network helpers for writing/reading RawAnimationsRawAnimation#getStageCountAnimationController#getStateHandlerDefaultAnimations#triggerOnlyController for creating a controller specifically for arbitrary triggered animationsDefaultAnimations#genericWalkFlyIdleControllerattack.punch DefaultAnimation constantmisc.idle.flying DefaultAnimation constantmove.dive DefaultAnimation constantnew GeoEntityRenderer(ModEntities.MY_ENTITY);21.09.2025 · 198 875 загрузки
v4.8
StatelessGeoBlockEntityStatelessGeoEntityStatelessGeoObjectStatelessGeoReplacedEntityStatelessGeoSingletonAnimatableStatelessAnimationControllerNetworkUtil, adding some network helpers for writing/reading RawAnimationsRawAnimation#getStageCountAnimationController#getStateHandlerDefaultAnimations#triggerOnlyController for creating a controller specifically for arbitrary triggered animationsDefaultAnimations#genericWalkFlyIdleControllerattack.punch DefaultAnimation constantmisc.idle.flying DefaultAnimation constantmove.dive DefaultAnimation constantnew GeoEntityRenderer(ModEntities.MY_ENTITY);20.09.2025 · 15 282 загрузки
v4.8.1
20.09.2025 · 926 загрузки
v4.8.1
20.09.2025 · 12 908 загрузки
v4.8.1
18.09.2025 · 6 563 загрузки
v4.8
StatelessGeoBlockEntityStatelessGeoEntityStatelessGeoObjectStatelessGeoReplacedEntityStatelessGeoSingletonAnimatableStatelessAnimationControllerattack.punch DefaultAnimation constantmisc.idle.flying DefaultAnimation constantmove.dive DefaultAnimation constantDefaultAnimations#triggerOnlyController for creating a controller specifically for arbitrary triggered animationsAnimation.StageRawAnimationRawAnimation#getStageCountAnimationController#getStateHandlerDefaultAnimations#genericWalkFlyIdleControllernew GeoEntityRenderer(ModEntities.MY_ENTITY);18.09.2025 · 434 загрузки
v4.8
StatelessGeoBlockEntityStatelessGeoEntityStatelessGeoObjectStatelessGeoReplacedEntityStatelessGeoSingletonAnimatableStatelessAnimationControllerattack.punch DefaultAnimation constantmisc.idle.flying DefaultAnimation constantmove.dive DefaultAnimation constantDefaultAnimations#triggerOnlyController for creating a controller specifically for arbitrary triggered animationsAnimation.StageRawAnimationRawAnimation#getStageCountAnimationController#getStateHandlerDefaultAnimations#genericWalkFlyIdleControllernew GeoEntityRenderer(ModEntities.MY_ENTITY);18.09.2025 · 8 381 загрузки
v4.8
StatelessGeoBlockEntityStatelessGeoEntityStatelessGeoObjectStatelessGeoReplacedEntityStatelessGeoSingletonAnimatableStatelessAnimationControllerattack.punch DefaultAnimation constantmisc.idle.flying DefaultAnimation constantmove.dive DefaultAnimation constantDefaultAnimations#triggerOnlyController for creating a controller specifically for arbitrary triggered animationsAnimation.StageRawAnimationRawAnimation#getStageCountAnimationController#getStateHandlerDefaultAnimations#genericWalkFlyIdleControllernew GeoEntityRenderer(ModEntities.MY_ENTITY);24.08.2025 · 644 280 загрузки
v4.7.4
24.08.2025 · 717 730 загрузки
v4.7.4
24.08.2025 · 113 435 загрузки
v4.7.7
24.08.2025 · 4 391 загрузки
v4.7.7
24.08.2025 · 909 679 загрузки
v4.7.7
01.08.2025 · 18 233 загрузки
01.08.2025 · 12 193 загрузки
01.08.2025 · 257 729 загрузки
20.07.2025 · 1 977 313 загрузки
v4.7.3
20.07.2025 · 222 976 загрузки
v4.7.3
03.07.2025 · 5 665 загрузки
03.07.2025 · 3 841 загрузки
03.07.2025 · 62 732 загрузки
01.07.2025 · 468 загрузки
01.07.2025 · 380 загрузки
01.07.2025 · 1 359 загрузки
20.06.2025 · 3 297 загрузки
ItemRenderContext available during AnimationTest stage (#735)20.06.2025 · 2 913 загрузки
ItemRenderContext available during AnimationTest stage (#735)20.06.2025 · 53 605 загрузки
ItemRenderContext available during AnimationTest stage (#735)19.06.2025 · 328 загрузки
AutoGlowingGeoLayer#shouldAddZOffset - A toggle to add better compatibility for specific render types or special circumstancesAutoGlowingGeoLayer#getBrightness - A configurable value to adjust the brightness of the emissive layerAutoGlowingGeoLayer#shouldRespectWorldLighting17.06.2025 · 684 загрузки
AutoGlowingGeoLayer#shouldAddZOffset - A toggle to add better compatibility for specific render types or special circumstancesAutoGlowingGeoLayer#getBrightness - A configurable value to adjust the brightness of the emissive layerAutoGlowingGeoLayer#shouldRespectWorldLighting17.06.2025 · 2 011 загрузки
AutoGlowingGeoLayer#shouldAddZOffset - A toggle to add better compatibility for specific render types or special circumstancesAutoGlowingGeoLayer#getBrightness - A configurable value to adjust the brightness of the emissive layerAutoGlowingGeoLayer#shouldRespectWorldLighting16.06.2025 · 477 944 загрузки
v4.7.6
16.06.2025 · 14 425 загрузки
v4.7.6
16.06.2025 · 794 915 загрузки
v4.7.6
16.06.2025 · 502 204 загрузки
v4.7.2
16.06.2025 · 409 986 загрузки
v4.7.2
16.06.2025 · 26 603 загрузки
AutoGlowingGeoLayer#shouldAddZOffset - A toggle to add better compatibility for specific render types or special circumstancesAutoGlowingGeoLayer#getBrightness - A configurable value to adjust the brightness of the emissive layerAutoGlowingGeoLayer#shouldRespectWorldLighting16.06.2025 · 4 283 загрузки
AutoGlowingGeoLayer#shouldAddZOffset - A toggle to add better compatibility for specific render types or special circumstancesAutoGlowingGeoLayer#getBrightness - A configurable value to adjust the brightness of the emissive layerAutoGlowingGeoLayer#shouldRespectWorldLighting16.06.2025 · 67 121 загрузки
AutoGlowingGeoLayer#shouldAddZOffset - A toggle to add better compatibility for specific render types or special circumstancesAutoGlowingGeoLayer#getBrightness - A configurable value to adjust the brightness of the emissive layerAutoGlowingGeoLayer#shouldRespectWorldLighting06.06.2025 · 1 847 загрузки
v4.7.3
06.06.2025 · 1 350 загрузки
v4.7.3
06.06.2025 · 10 858 загрузки
v4.8.5
06.06.2025 · 7 338 загрузки
v4.8.5
06.06.2025 · 96 753 загрузки
v4.8.5
06.06.2025 · 1 030 загрузки
06.06.2025 · 929 загрузки
06.06.2025 · 7 087 загрузки
06.06.2025 · 739 611 загрузки
v4.7.1.3
Fabric:
- Update MixinItemRenderer to improve third-party mod compatibility
06.06.2025 · 85 509 загрузки
v4.7.1.3
Fabric:
- Update MixinItemRenderer to improve third-party mod compatibility
19.05.2025 · 3 190 загрузки
19.05.2025 · 2 133 загрузки
19.05.2025 · 12 413 загрузки
21.04.2025 · 4 648 загрузки
ItemInHandGeoLayerPerBoneRenderDataTickets#IS_LEFT_HANDEDDataTickets#IS_CROUCHINGGeoRender#adjustPositionForRenderDirectionalProjectileRendererTextureLayerGeoLayerCustomBoneTextureGeoLayerDefaultedGeoModel using the old formatscaleModelForRender for GeoEntityRenderer, and moved sleeping pose translation to better account for scalingscaleModelForRender out of preRender and into its own callRenderUtil#getTextureDimensions and allowed it to account for post-loading modificationsBakedGeoModel#getBoneGeoRenderer#applyRenderLayersForBone. Per-bone renders are now added in #preApplyRenderLayersGeoRenderLayer#addPerBoneRenderItemArmorGeoLayer works to be more efficient, and support Elytras (although they're not 100% correct yet)BlockAndItemGeoLayer works to be more efficient and cleanerItemArmorGeoLayer#prepModelPartForRender to prepHumanoidModelForRenderGeckoLibClient#getArmorModelForItem to return a HumanoidModel instead of a base Model, since non-humanoid models never get usedpackedLight, packedOverlay, and renderColor to GeoRenderer#renderFinalfinal from GeoEntityRenderer#calculateYRotBoneFilterGeoLayer and FastBoneFilterGeoLayerGeckoLibAnimatedTexture crashing when failing to load a textureGeoItemRenderer and GeoObjectRenderer positioning incorrectly when scaledGeoReplacedEntityRenderer not propagating PoseStack manipulationsItemArmorGeoLayer colliding with other layers that use the same DataTicket21.04.2025 · 3 219 загрузки
ItemInHandGeoLayerPerBoneRenderDataTickets#IS_LEFT_HANDEDDataTickets#IS_CROUCHINGGeoRender#adjustPositionForRenderDirectionalProjectileRendererTextureLayerGeoLayerCustomBoneTextureGeoLayerDefaultedGeoModel using the old formatscaleModelForRender for GeoEntityRenderer, and moved sleeping pose translation to better account for scalingscaleModelForRender out of preRender and into its own callRenderUtil#getTextureDimensions and allowed it to account for post-loading modificationsBakedGeoModel#getBoneGeoRenderer#applyRenderLayersForBone. Per-bone renders are now added in #preApplyRenderLayersGeoRenderLayer#addPerBoneRenderItemArmorGeoLayer works to be more efficient, and support Elytras (although they're not 100% correct yet)BlockAndItemGeoLayer works to be more efficient and cleanerItemArmorGeoLayer#prepModelPartForRender to prepHumanoidModelForRenderGeckoLibClient#getArmorModelForItem to return a HumanoidModel instead of a base Model, since non-humanoid models never get usedpackedLight, packedOverlay, and renderColor to GeoRenderer#renderFinalfinal from GeoEntityRenderer#calculateYRotBoneFilterGeoLayer and FastBoneFilterGeoLayerGeckoLibAnimatedTexture crashing when failing to load a textureGeoItemRenderer and GeoObjectRenderer positioning incorrectly when scaledGeoReplacedEntityRenderer not propagating PoseStack manipulationsItemArmorGeoLayer colliding with other layers that use the same DataTicket21.04.2025 · 106 898 загрузки
ItemInHandGeoLayerPerBoneRenderDataTickets#IS_LEFT_HANDEDDataTickets#IS_CROUCHINGGeoRender#adjustPositionForRenderDirectionalProjectileRendererTextureLayerGeoLayerCustomBoneTextureGeoLayerDefaultedGeoModel using the old formatscaleModelForRender for GeoEntityRenderer, and moved sleeping pose translation to better account for scalingscaleModelForRender out of preRender and into its own callRenderUtil#getTextureDimensions and allowed it to account for post-loading modificationsBakedGeoModel#getBoneGeoRenderer#applyRenderLayersForBone. Per-bone renders are now added in #preApplyRenderLayersGeoRenderLayer#addPerBoneRenderItemArmorGeoLayer works to be more efficient, and support Elytras (although they're not 100% correct yet)BlockAndItemGeoLayer works to be more efficient and cleanerItemArmorGeoLayer#prepModelPartForRender to prepHumanoidModelForRenderGeckoLibClient#getArmorModelForItem to return a HumanoidModel instead of a base Model, since non-humanoid models never get usedpackedLight, packedOverlay, and renderColor to GeoRenderer#renderFinalfinal from GeoEntityRenderer#calculateYRotBoneFilterGeoLayer and FastBoneFilterGeoLayerGeckoLibAnimatedTexture crashing when failing to load a textureGeoItemRenderer and GeoObjectRenderer positioning incorrectly when scaledGeoReplacedEntityRenderer not propagating PoseStack manipulationsItemArmorGeoLayer colliding with other layers that use the same DataTicket13.04.2025 · 1 184 загрузки
AutoGlowingGeoLayerRenderUtil#getEmissiveResource helper methodshouldRespectWorldLighting method, allowing you to choose between absolute emissivity, and emissivity that shades in conjunction with world lighting13.04.2025 · 898 загрузки
AutoGlowingGeoLayerRenderUtil#getEmissiveResource helper methodshouldRespectWorldLighting method, allowing you to choose between absolute emissivity, and emissivity that shades in conjunction with world lighting13.04.2025 · 8 002 загрузки
AutoGlowingGeoLayerRenderUtil#getEmissiveResource helper methodshouldRespectWorldLighting method, allowing you to choose between absolute emissivity, and emissivity that shades in conjunction with world lighting08.04.2025 · 967 загрузки
alpha1 glowmasks and animated textures are not functional. This will be resolved soon :)GeoObjectRendererGeoEntityRenderer re-applying other PoseStack manipulations when reRenderingAnimationProcessorAnimationController#process to AnimationController#startTickDefaultAnimations#genericFlyController not stopping if not movingAnimationController's animation speed potentially being re-computed multiple times per render pass, resulting in inconsistent animation handlingKeyframes to KeyframeMarkersAnimatableManager and any derivatives to a different packageAnimationController, AnimationProcessor, AnimationState to a different packageAutoPlayingSoundKeyframeHandler to a different packageAnimationPointQueueDyeableGeoArmorRenderer works to be a bit more accurate/assets/<modid>/geckolib/animations//assets/<modid>/geckolib/models/GeoRenderer#getAnimatableGeoRenderState by defaultGeoEntityRenderer#isShakingAnimationState is now an internal class used for carrying the animation state through processing. Users should now use AnimationTest. It works functionally the samegeo/ or .geo.json in your returned model resources)DataTickets now require creation through a factory method to ensure identity-paritySerializableDataTickets no longer require registration, but must still be created during mod constructGeoRenderer has had the PoseStack and RenderState (previously Animatable) swap places in the argsAnimationState for the render passAnimationControllers no longer need the animatable passed to itAutoGlowingGeoLayer so that mods can override the texture as neededDefaultAnimations helpers now default to 0-tick transition time for consistency and clarityAnimationState#getData as nullable to avoid confusionEasingType as nullable to avoid confusionGeoReplacedEntityRenderer now explicitly crashes upon trying to insert an entity as the animatable to prevent memory leaksGeoReplacedEntityRenderer much more in line with GeoEntityRenderer to ensure accuracyCustomInstructionKeyframeEvent, SoundKeyframeEvent, and ParticleKeyframeEvent have all been consolidated into KeyFrameEventCustomInstructionKeyframeHandler, SoundKeyframeHandler, and ParticleKeyframeHandler have all been consolidated into KeyframeEventHandlerKeyFrameEvent to a recordCalculation to a recordMolangQueries is once again side-agnosticprepLivingEntityRenderState into GeoEntityRenderer so it can be overridden if neededEntityModelDataDeferredGeoRenderProviderInternalUtilFileLoaderColor. Has been fully superceded by net.minecraft.util.ARGBGeoRenderer parameter from the various GeoModel getters as it is no longer neededGeoArmorRenderer to prevent collisions with HumanoidArmorModel's field namesGeckoLibCache to GeckoLibResourcesAnimatableManager#setData to AnimatableManager#setAnimatableData (and its associated getter)AutoGlowingTexture#getEmissiveResource to #getOrCreateEmissiveTexture for clarityGeoEntityRenderState to GeoRenderStateGeckoLibUtil have been moved to the new SyncedSingletonAnimatableCache, with associated methods having their hierarchical scope reduced for clarity and safetyGeoRenderLayer#renderForBone to #createPerBoneRender, which now requires that you return your operation as a runnable to be run laterDynamicGeoBlockRenderer, DynamicGeoEntityRenderer, and DynamicGeoItemRenderer. Use render layers instead for bone-specific handling. I will be looking at creating a helper class or alternate option for thisGeoRenderEvents to be more usefulstopTriggeredAnimation to SingletonGeoAnimatabletriggerArmorAnim for triggering armor animations (#433)query.controller_speed Molang queryquery.limb_swing Molang queryquery.limb_swing_amount Molang queryGeoRenderer #setBonesVisible for ease of useAnimationController#isTriggeredAnimation to check for the currently triggered animationAnimationController#setAnimationState to directly set the state of the controller, if necessaryCompileRenderState event hooks for each renderer type08.04.2025 · 664 загрузки
alpha1 glowmasks and animated textures are not functional. This will be resolved soon :)GeoObjectRendererGeoEntityRenderer re-applying other PoseStack manipulations when reRenderingAnimationProcessorAnimationController#process to AnimationController#startTickDefaultAnimations#genericFlyController not stopping if not movingAnimationController's animation speed potentially being re-computed multiple times per render pass, resulting in inconsistent animation handlingKeyframes to KeyframeMarkersAnimatableManager and any derivatives to a different packageAnimationController, AnimationProcessor, AnimationState to a different packageAutoPlayingSoundKeyframeHandler to a different packageAnimationPointQueueDyeableGeoArmorRenderer works to be a bit more accurate/assets/<modid>/geckolib/animations//assets/<modid>/geckolib/models/GeoRenderer#getAnimatableGeoRenderState by defaultGeoEntityRenderer#isShakingAnimationState is now an internal class used for carrying the animation state through processing. Users should now use AnimationTest. It works functionally the samegeo/ or .geo.json in your returned model resources)DataTickets now require creation through a factory method to ensure identity-paritySerializableDataTickets no longer require registration, but must still be created during mod constructGeoRenderer has had the PoseStack and RenderState (previously Animatable) swap places in the argsAnimationState for the render passAnimationControllers no longer need the animatable passed to itAutoGlowingGeoLayer so that mods can override the texture as neededDefaultAnimations helpers now default to 0-tick transition time for consistency and clarityAnimationState#getData as nullable to avoid confusionEasingType as nullable to avoid confusionGeoReplacedEntityRenderer now explicitly crashes upon trying to insert an entity as the animatable to prevent memory leaksGeoReplacedEntityRenderer much more in line with GeoEntityRenderer to ensure accuracyCustomInstructionKeyframeEvent, SoundKeyframeEvent, and ParticleKeyframeEvent have all been consolidated into KeyFrameEventCustomInstructionKeyframeHandler, SoundKeyframeHandler, and ParticleKeyframeHandler have all been consolidated into KeyframeEventHandlerKeyFrameEvent to a recordCalculation to a recordMolangQueries is once again side-agnosticprepLivingEntityRenderState into GeoEntityRenderer so it can be overridden if neededEntityModelDataDeferredGeoRenderProviderInternalUtilFileLoaderColor. Has been fully superceded by net.minecraft.util.ARGBGeoRenderer parameter from the various GeoModel getters as it is no longer neededGeoArmorRenderer to prevent collisions with HumanoidArmorModel's field namesGeckoLibCache to GeckoLibResourcesAnimatableManager#setData to AnimatableManager#setAnimatableData (and its associated getter)AutoGlowingTexture#getEmissiveResource to #getOrCreateEmissiveTexture for clarityGeoEntityRenderState to GeoRenderStateGeckoLibUtil have been moved to the new SyncedSingletonAnimatableCache, with associated methods having their hierarchical scope reduced for clarity and safetyGeoRenderLayer#renderForBone to #createPerBoneRender, which now requires that you return your operation as a runnable to be run laterDynamicGeoBlockRenderer, DynamicGeoEntityRenderer, and DynamicGeoItemRenderer. Use render layers instead for bone-specific handling. I will be looking at creating a helper class or alternate option for thisGeoRenderEvents to be more usefulstopTriggeredAnimation to SingletonGeoAnimatabletriggerArmorAnim for triggering armor animations (#433)query.controller_speed Molang queryquery.limb_swing Molang queryquery.limb_swing_amount Molang queryGeoRenderer #setBonesVisible for ease of useAnimationController#isTriggeredAnimation to check for the currently triggered animationAnimationController#setAnimationState to directly set the state of the controller, if necessaryCompileRenderState event hooks for each renderer type08.04.2025 · 2 523 загрузки
alpha1 glowmasks and animated textures are not functional. This will be resolved soon :)GeoObjectRendererGeoEntityRenderer re-applying other PoseStack manipulations when reRenderingAnimationProcessorAnimationController#process to AnimationController#startTickDefaultAnimations#genericFlyController not stopping if not movingAnimationController's animation speed potentially being re-computed multiple times per render pass, resulting in inconsistent animation handlingKeyframes to KeyframeMarkersAnimatableManager and any derivatives to a different packageAnimationController, AnimationProcessor, AnimationState to a different packageAutoPlayingSoundKeyframeHandler to a different packageAnimationPointQueueDyeableGeoArmorRenderer works to be a bit more accurate/assets/<modid>/geckolib/animations//assets/<modid>/geckolib/models/GeoRenderer#getAnimatableGeoRenderState by defaultGeoEntityRenderer#isShakingAnimationState is now an internal class used for carrying the animation state through processing. Users should now use AnimationTest. It works functionally the samegeo/ or .geo.json in your returned model resources)DataTickets now require creation through a factory method to ensure identity-paritySerializableDataTickets no longer require registration, but must still be created during mod constructGeoRenderer has had the PoseStack and RenderState (previously Animatable) swap places in the argsAnimationState for the render passAnimationControllers no longer need the animatable passed to itAutoGlowingGeoLayer so that mods can override the texture as neededDefaultAnimations helpers now default to 0-tick transition time for consistency and clarityAnimationState#getData as nullable to avoid confusionEasingType as nullable to avoid confusionGeoReplacedEntityRenderer now explicitly crashes upon trying to insert an entity as the animatable to prevent memory leaksGeoReplacedEntityRenderer much more in line with GeoEntityRenderer to ensure accuracyCustomInstructionKeyframeEvent, SoundKeyframeEvent, and ParticleKeyframeEvent have all been consolidated into KeyFrameEventCustomInstructionKeyframeHandler, SoundKeyframeHandler, and ParticleKeyframeHandler have all been consolidated into KeyframeEventHandlerKeyFrameEvent to a recordCalculation to a recordMolangQueries is once again side-agnosticprepLivingEntityRenderState into GeoEntityRenderer so it can be overridden if neededEntityModelDataDeferredGeoRenderProviderInternalUtilFileLoaderColor. Has been fully superceded by net.minecraft.util.ARGBGeoRenderer parameter from the various GeoModel getters as it is no longer neededGeoArmorRenderer to prevent collisions with HumanoidArmorModel's field namesGeckoLibCache to GeckoLibResourcesAnimatableManager#setData to AnimatableManager#setAnimatableData (and its associated getter)AutoGlowingTexture#getEmissiveResource to #getOrCreateEmissiveTexture for clarityGeoEntityRenderState to GeoRenderStateGeckoLibUtil have been moved to the new SyncedSingletonAnimatableCache, with associated methods having their hierarchical scope reduced for clarity and safetyGeoRenderLayer#renderForBone to #createPerBoneRender, which now requires that you return your operation as a runnable to be run laterDynamicGeoBlockRenderer, DynamicGeoEntityRenderer, and DynamicGeoItemRenderer. Use render layers instead for bone-specific handling. I will be looking at creating a helper class or alternate option for thisGeoRenderEvents to be more usefulstopTriggeredAnimation to SingletonGeoAnimatabletriggerArmorAnim for triggering armor animations (#433)query.controller_speed Molang queryquery.limb_swing Molang queryquery.limb_swing_amount Molang queryGeoRenderer #setBonesVisible for ease of useAnimationController#isTriggeredAnimation to check for the currently triggered animationAnimationController#setAnimationState to directly set the state of the controller, if necessaryCompileRenderState event hooks for each renderer type22.03.2025 · 984 675 загрузки
v4.7.1.2
Fabric:
- Move Redirect mixins to WrapOperations to prevent collisions with other mods
Forge:
- Rollback the stackability change to itemstacks from 4.7.1 as Forge does not have MixinExtras, and adding it causes
occasional conflict resolution issues
22.03.2025 · 743 562 загрузки
v4.7.1.2
Fabric:
- Move Redirect mixins to WrapOperations to prevent collisions with other mods
Forge:
- Rollback the stackability change to itemstacks from 4.7.1 as Forge does not have MixinExtras, and adding it causes
occasional conflict resolution issues
16.03.2025 · 66 920 загрузки
v4.7.1.1
16.03.2025 · 31 055 загрузки
v4.7.1.1
15.03.2025 · 14 889 загрузки
v4.7.1
stopTriggeredAnimation to SingletonGeoAnimatablequery.controller_speed Molang query15.03.2025 · 6 266 загрузки
v4.7.1
stopTriggeredAnimation to SingletonGeoAnimatablequery.controller_speed Molang query14.03.2025 · 628 265 загрузки
v4.7.5.1
14.03.2025 · 17 006 загрузки
v4.7.5.1
14.03.2025 · 896 498 загрузки
v4.7.5.1
13.03.2025 · 4 386 загрузки
v4.7.5
query.controller_speed Molang Query.getTextureResource and getModelResource13.03.2025 · 448 загрузки
v4.7.5
query.controller_speed Molang Query.getTextureResource and getModelResource13.03.2025 · 4 576 загрузки
v4.7.5
query.controller_speed Molang Query.getTextureResource and getModelResource12.03.2025 · 3 433 загрузки
v4.7.4.1
12.03.2025 · 330 загрузки
v4.7.4.1
12.03.2025 · 3 380 загрузки
v4.7.4.1
11.03.2025 · 1 090 загрузки
v4.7.4
triggerArmorAnim for triggering armor animations (#433)11.03.2025 · 243 загрузки
v4.7.4
triggerArmorAnim for triggering armor animations (#433)11.03.2025 · 1 739 загрузки
v4.7.4
triggerArmorAnim for triggering armor animations (#433)08.02.2025 · 7 757 загрузки
v4.8.4
08.02.2025 · 7 458 загрузки
v4.8.4
08.02.2025 · 62 646 загрузки
v4.8.4
03.02.2025 · 583 загрузки
v4.8.3
03.02.2025 · 521 загрузки
v4.8.3
03.02.2025 · 3 376 загрузки
v4.8.3
23.01.2025 · 919 загрузки
v4.8.2
23.01.2025 · 1 121 загрузки
v4.8.2
23.01.2025 · 36 578 загрузки
v4.8.2
27.12.2024 · 116 457 загрузки
v4.7.3
getTextureResource and getModelResource now receive the renderer for context-sensitive variants27.12.2024 · 5 326 загрузки
v4.7.3
getTextureResource and getModelResource now receive the renderer for context-sensitive variants27.12.2024 · 492 790 загрузки
v4.7.3
getTextureResource and getModelResource now receive the renderer for context-sensitive variants27.12.2024 · 1 006 376 загрузки
v4.7
getTriggeredAnimation to AnimationController27.12.2024 · 660 333 загрузки
v4.7
getTriggeredAnimation to AnimationController27.12.2024 · 462 загрузки
v4.7.2
27.12.2024 · 215 загрузки
v4.7.2
27.12.2024 · 1 044 загрузки
v4.7.2
26.12.2024 · 811 загрузки
v4.7.1
26.12.2024 · 253 загрузки
v4.7.1
26.12.2024 · 82 525 загрузки
v4.7.1
15.12.2024 · 1 612 загрузки
v4.8
assets/modid/item json file to define its rendering as being special.15.12.2024 · 1 938 загрузки
v4.8
assets/modid/item json file to define its rendering as being special.15.12.2024 · 33 757 загрузки
v4.8
assets/modid/item json file to define its rendering as being special.05.11.2024 · 2 339 загрузки
v4.7.1
05.11.2024 · 2 311 загрузки
v4.7.1
05.11.2024 · 14 389 загрузки
v4.7.1
04.11.2024 · 35 161 загрузки
v4.7
04.11.2024 · 2 757 загрузки
v4.7
04.11.2024 · 48 195 загрузки
v4.7
03.11.2024 · 161 загрузки
v4.7
Summary of changes for 4.7:
- Update to 1.21.3
- EntityRenderState is wrapped and ignored - you do not need to worry about this when using GeckoLib (for now)
- Removed the query.is_powered molang query as it is no longer practically feasible
- Change crashes to warnings for unsupported model format versions for geo models
- Fix incorrect version range for NeoForge mods
- Added support for UV Face Rotation
- Added a deferred GeoRenderProvider for split-sources support
- Added a stop triggered animation function, to allow for stopping of triggered animations in the same way you triggered them in the first place
- Added a fallback hook for animations - you can now declare multiple animation files in a single GeoModel to look for animations (for polymorphic/modular animatables)
- GeoModels now receive the renderer in #getTextureResource and #getModelResource, to allow for render-context dependent models and textures
- Keyframe events now have the AnimationState passed to them for additional context
- Moved the AnimationState creation in GeoRenderer to its own method for easy overriding
- Pass the render colour from the renderer to the render layers
- Fixed Color#ofARGB actually being RGBA
- Removed previously deprecated methods
- Fixed some issues with Entity and ReplacedEntity geo renderers
- Fixed entity velocity being determined mostly from x-coordinate velocity
- Fixed the controller-agnostic triggered anim function not working
- Introduced additional safeties to prevent unexpected crashes for some networking functions
- Moved animated texture ticking to an internal handler, preventing GeoRenderer implementations from needing to handle it
03.11.2024 · 171 загрузки
v4.7
Summary of changes for 4.7:
- Update to 1.21.3
- EntityRenderState is wrapped and ignored - you do not need to worry about this when using GeckoLib (for now)
- Removed the query.is_powered molang query as it is no longer practically feasible
- Change crashes to warnings for unsupported model format versions for geo models
- Fix incorrect version range for NeoForge mods
- Added support for UV Face Rotation
- Added a deferred GeoRenderProvider for split-sources support
- Added a stop triggered animation function, to allow for stopping of triggered animations in the same way you triggered them in the first place
- Added a fallback hook for animations - you can now declare multiple animation files in a single GeoModel to look for animations (for polymorphic/modular animatables)
- GeoModels now receive the renderer in #getTextureResource and #getModelResource, to allow for render-context dependent models and textures
- Keyframe events now have the AnimationState passed to them for additional context
- Moved the AnimationState creation in GeoRenderer to its own method for easy overriding
- Pass the render colour from the renderer to the render layers
- Fixed Color#ofARGB actually being RGBA
- Removed previously deprecated methods
- Fixed some issues with Entity and ReplacedEntity geo renderers
- Fixed entity velocity being determined mostly from x-coordinate velocity
- Fixed the controller-agnostic triggered anim function not working
- Introduced additional safeties to prevent unexpected crashes for some networking functions
- Moved animated texture ticking to an internal handler, preventing GeoRenderer implementations from needing to handle it
03.11.2024 · 925 загрузки
v4.7
Summary of changes for 4.7:
- Update to 1.21.3
- EntityRenderState is wrapped and ignored - you do not need to worry about this when using GeckoLib (for now)
- Removed the query.is_powered molang query as it is no longer practically feasible
- Change crashes to warnings for unsupported model format versions for geo models
- Fix incorrect version range for NeoForge mods
- Added support for UV Face Rotation
- Added a deferred GeoRenderProvider for split-sources support
- Added a stop triggered animation function, to allow for stopping of triggered animations in the same way you triggered them in the first place
- Added a fallback hook for animations - you can now declare multiple animation files in a single GeoModel to look for animations (for polymorphic/modular animatables)
- GeoModels now receive the renderer in #getTextureResource and #getModelResource, to allow for render-context dependent models and textures
- Keyframe events now have the AnimationState passed to them for additional context
- Moved the AnimationState creation in GeoRenderer to its own method for easy overriding
- Pass the render colour from the renderer to the render layers
- Fixed Color#ofARGB actually being RGBA
- Removed previously deprecated methods
- Fixed some issues with Entity and ReplacedEntity geo renderers
- Fixed entity velocity being determined mostly from x-coordinate velocity
- Fixed the controller-agnostic triggered anim function not working
- Introduced additional safeties to prevent unexpected crashes for some networking functions
- Moved animated texture ticking to an internal handler, preventing GeoRenderer implementations from needing to handle it
01.11.2024 · 175 загрузки
v4.7-beta-2
01.11.2024 · 150 загрузки
v4.7-beta-2
01.11.2024 · 415 загрузки
v4.7-beta-2
29.10.2024 · 228 загрузки
v4.7-beta-1
query.is_powered molang query as it is no longer practically feasible29.10.2024 · 223 загрузки
v4.7-beta-1
query.is_powered molang query as it is no longer practically feasible29.10.2024 · 623 загрузки
v4.7-beta-1
query.is_powered molang query as it is no longer practically feasible28.09.2024 · 26 529 загрузки
v4.6.6
28.09.2024 · 3 487 загрузки
v4.6.6
28.09.2024 · 38 776 загрузки
v4.6.6
15.09.2024 · 9 372 загрузки
v4.6.5
15.09.2024 · 3 322 загрузки
v4.6.5
15.09.2024 · 9 108 загрузки
v4.6.5
15.09.2024 · 826 загрузки
v4.6.4
15.09.2024 · 264 загрузки
v4.6.4
15.09.2024 · 1 924 загрузки
v4.6.4
31.08.2024 · 3 237 загрузки
v4.6.3
31.08.2024 · 1 470 загрузки
v4.6.3
31.08.2024 · 19 441 загрузки
v4.6.3
29.08.2024 · 223 270 загрузки
v4.4.9
29.08.2024 · 3 507 424 загрузки
v4.4.9
29.08.2024 · 3 153 718 загрузки
v4.4.9
29.08.2024 · 1 093 загрузки
v4.4.8
DefaultedEntityGeoModel.turnsHead for subclass usagequery.is_in_water_or_rain not representing the correct valuequery.yaw_speed not representing the correct valuequery.is_on_fire not applying to non-living entities29.08.2024 · 5 456 загрузки
v4.4.8
DefaultedEntityGeoModel.turnsHead for subclass usagequery.is_in_water_or_rain not representing the correct valuequery.yaw_speed not representing the correct valuequery.is_on_fire not applying to non-living entities29.08.2024 · 7 511 загрузки
v4.4.8
DefaultedEntityGeoModel.turnsHead for subclass usagequery.is_in_water_or_rain not representing the correct valuequery.yaw_speed not representing the correct valuequery.is_on_fire not applying to non-living entities26.08.2024 · 902 загрузки
v4.6.2
26.08.2024 · 487 загрузки
v4.6.2
26.08.2024 · 2 616 загрузки
v4.6.2
25.08.2024 · 281 загрузки
v4.6.1
25.08.2024 · 164 загрузки
v4.6.1
25.08.2024 · 619 загрузки
v4.6.1
25.08.2024 · 720 загрузки
v4.6
query.actor_count not representing the correct valuequery.is_in_water_or_rain not representing the correct valuequery.is_on_fire not applying to non-living entitiesquery.yaw_speed not applying to non-living entitiesquery.yaw_speed not representing the correct valuequery.block_state molang queryquery.blocking molang queryquery.body_x_rotation molang queryquery.body_y_rotation molang queryquery.can_climb molang queryquery.can_fly molang queryquery.can_swim molang queryquery.can_walk molang queryquery.cardinal_facing_2d molang queryquery.cardinal_facing molang queryquery.cardinal_player_facing molang queryquery.day molang queryquery.death_ticks molang queryquery.equipment_count molang queryquery.frame_alpha molang queryquery.get_actor_info_id molang queryquery.has_cape molang queryquery.has_collision molang queryquery.has_gravity molang queryquery.has_head_gear molang queryquery.has_owner molang queryquery.has_player_rider molang queryquery.has_rider molang queryquery.head_x_rotation molang queryquery.head_y_rotation molang queryquery.hurt_time molang queryquery.invulnerable_ticks molang queryquery.is_alive molang queryquery.is_angry molang queryquery.is_baby molang queryquery.is_breathing molang queryquery.is_enchanted molang queryquery.is_fire_immune molang queryquery.is_first_person molang queryquery.is_in_contact_with_water molang queryquery.is_in_lava molang queryquery.is_invisible molang queryquery.is_leashed molang queryquery.is_moving molang queryquery.is_powered molang queryquery.is_riding molang queryquery.is_saddled molang queryquery.is_silent molang queryquery.is_sleeping molang queryquery.is_sneaking molang queryquery.is_sprinting molang queryquery.is_stackable molang queryquery.is_swimming molang queryquery.is_using_item molang queryquery.is_wall_climbing molang queryquery.item_max_use_duration molang queryquery.main_hand_item_max_duration molang queryquery.main_hand_item_use_duration molang queryquery.max_durability molang queryquery.moon_brightness molang queryquery.movement_direction molang queryquery.player_level molang queryquery.remaining_durability molang queryquery.rider_body_x_rotation molang queryquery.rider_body_x_rotation molang queryquery.rider_head_x_rotation molang queryquery.rider_head_y_rotation molang queryquery.scale molang queryquery.sleep_rotation molang queryquery.time_stamp molang queryquery.vertical_speed molang query25.08.2024 · 567 загрузки
v4.6
query.actor_count not representing the correct valuequery.is_in_water_or_rain not representing the correct valuequery.is_on_fire not applying to non-living entitiesquery.yaw_speed not applying to non-living entitiesquery.yaw_speed not representing the correct valuequery.block_state molang queryquery.blocking molang queryquery.body_x_rotation molang queryquery.body_y_rotation molang queryquery.can_climb molang queryquery.can_fly molang queryquery.can_swim molang queryquery.can_walk molang queryquery.cardinal_facing_2d molang queryquery.cardinal_facing molang queryquery.cardinal_player_facing molang queryquery.day molang queryquery.death_ticks molang queryquery.equipment_count molang queryquery.frame_alpha molang queryquery.get_actor_info_id molang queryquery.has_cape molang queryquery.has_collision molang queryquery.has_gravity molang queryquery.has_head_gear molang queryquery.has_owner molang queryquery.has_player_rider molang queryquery.has_rider molang queryquery.head_x_rotation molang queryquery.head_y_rotation molang queryquery.hurt_time molang queryquery.invulnerable_ticks molang queryquery.is_alive molang queryquery.is_angry molang queryquery.is_baby molang queryquery.is_breathing molang queryquery.is_enchanted molang queryquery.is_fire_immune molang queryquery.is_first_person molang queryquery.is_in_contact_with_water molang queryquery.is_in_lava molang queryquery.is_invisible molang queryquery.is_leashed molang queryquery.is_moving molang queryquery.is_powered molang queryquery.is_riding molang queryquery.is_saddled molang queryquery.is_silent molang queryquery.is_sleeping molang queryquery.is_sneaking molang queryquery.is_sprinting molang queryquery.is_stackable molang queryquery.is_swimming molang queryquery.is_using_item molang queryquery.is_wall_climbing molang queryquery.item_max_use_duration molang queryquery.main_hand_item_max_duration molang queryquery.main_hand_item_use_duration molang queryquery.max_durability molang queryquery.moon_brightness molang queryquery.movement_direction molang queryquery.player_level molang queryquery.remaining_durability molang queryquery.rider_body_x_rotation molang queryquery.rider_body_x_rotation molang queryquery.rider_head_x_rotation molang queryquery.rider_head_y_rotation molang queryquery.scale molang queryquery.sleep_rotation molang queryquery.time_stamp molang queryquery.vertical_speed molang query25.08.2024 · 3 101 загрузки
v4.6
query.actor_count not representing the correct valuequery.is_in_water_or_rain not representing the correct valuequery.is_on_fire not applying to non-living entitiesquery.yaw_speed not applying to non-living entitiesquery.yaw_speed not representing the correct valuequery.block_state molang queryquery.blocking molang queryquery.body_x_rotation molang queryquery.body_y_rotation molang queryquery.can_climb molang queryquery.can_fly molang queryquery.can_swim molang queryquery.can_walk molang queryquery.cardinal_facing_2d molang queryquery.cardinal_facing molang queryquery.cardinal_player_facing molang queryquery.day molang queryquery.death_ticks molang queryquery.equipment_count molang queryquery.frame_alpha molang queryquery.get_actor_info_id molang queryquery.has_cape molang queryquery.has_collision molang queryquery.has_gravity molang queryquery.has_head_gear molang queryquery.has_owner molang queryquery.has_player_rider molang queryquery.has_rider molang queryquery.head_x_rotation molang queryquery.head_y_rotation molang queryquery.hurt_time molang queryquery.invulnerable_ticks molang queryquery.is_alive molang queryquery.is_angry molang queryquery.is_baby molang queryquery.is_breathing molang queryquery.is_enchanted molang queryquery.is_fire_immune molang queryquery.is_first_person molang queryquery.is_in_contact_with_water molang queryquery.is_in_lava molang queryquery.is_invisible molang queryquery.is_leashed molang queryquery.is_moving molang queryquery.is_powered molang queryquery.is_riding molang queryquery.is_saddled molang queryquery.is_silent molang queryquery.is_sleeping molang queryquery.is_sneaking molang queryquery.is_sprinting molang queryquery.is_stackable molang queryquery.is_swimming molang queryquery.is_using_item molang queryquery.is_wall_climbing molang queryquery.item_max_use_duration molang queryquery.main_hand_item_max_duration molang queryquery.main_hand_item_use_duration molang queryquery.max_durability molang queryquery.moon_brightness molang queryquery.movement_direction molang queryquery.player_level molang queryquery.remaining_durability molang queryquery.rider_body_x_rotation molang queryquery.rider_body_x_rotation molang queryquery.rider_head_x_rotation molang queryquery.rider_head_y_rotation molang queryquery.scale molang queryquery.sleep_rotation molang queryquery.time_stamp molang queryquery.vertical_speed molang query07.08.2024 · 40 878 загрузки
v4.5.8
07.08.2024 · 26 030 загрузки
v4.5.8
07.08.2024 · 354 660 загрузки
v4.5.8
18.07.2024 · 5 197 загрузки
v4.5.7
18.07.2024 · 2 787 загрузки
v4.5.7
18.07.2024 · 62 982 загрузки
v4.5.7
22.06.2024 · 39 863 загрузки
v4.4.7
22.06.2024 · 391 796 загрузки
v4.4.7
22.06.2024 · 867 851 загрузки
v4.4.7
22.06.2024 · 3 709 загрузки
v4.5.6
22.06.2024 · 2 840 загрузки
v4.5.6
22.06.2024 · 71 156 загрузки
v4.5.6
14.06.2024 · 1 414 загрузки
v4.5.4.1
14.06.2024 · 1 992 загрузки
v4.5.4.1
14.06.2024 · 7 329 загрузки
v4.5.4.1
14.06.2024 · 14 298 загрузки
v4.5.4.1
12.06.2024 · 659 загрузки
v4.5.4
11.06.2024 · 6 050 загрузки
v4.5.4
11.06.2024 · 22 186 загрузки
v4.5.4
10.06.2024 · 5 938 загрузки
v4.4.6
10.06.2024 · 110 260 загрузки
v4.4.6
10.06.2024 · 306 087 загрузки
v4.4.6
31.05.2024 · 5 265 загрузки
v4.4.5
31.05.2024 · 57 999 загрузки
v4.4.5
31.05.2024 · 69 540 загрузки
v4.4.5
31.05.2024 · 921 загрузки
v4.5.3
final from GeoModel#handleAnimations in exchange for an APIStatus.Internal annotation to allow for overriding. Users should continue to avoid overriding this unless explicitly necessary31.05.2024 · 3 700 загрузки
v4.5.3
final from GeoModel#handleAnimations in exchange for an APIStatus.Internal annotation to allow for overriding. Users should continue to avoid overriding this unless explicitly necessary22.05.2024 · 730 загрузки
v4.5.2
- Fix crash with some animation file parsing #582
- Fixed incorrect precedence handling in the math parser for molang expressions #579
- Failing to parse a loaded animation will no longer crash the game
- GeckoLib's logging entries will use the correct name instead of "GeckolibLogger"
22.05.2024 · 2 167 загрузки
v4.5.2
- Fix crash with some animation file parsing #582
- Fixed incorrect precedence handling in the math parser for molang expressions #579
- Failing to parse a loaded animation will no longer crash the game
- GeckoLib's logging entries will use the correct name instead of "GeckolibLogger"
29.04.2024 · 1 286 загрузки
v4.5
- 1.20.5 :)
29.04.2024 · 3 905 загрузки
v4.5
- 1.20.5 :)
25.04.2024 · 1 488 загрузки
v4.5
- 1.20.5 :)
25.04.2024 · 4 592 загрузки
v4.5
- 1.20.5 :)
17.03.2024 · 44 311 загрузки
v4.4.4
17.03.2024 · 399 517 загрузки
v4.4.4
17.03.2024 · 762 384 загрузки
v4.4.4
17.03.2024 · 33 635 загрузки
v4.4.4
17.03.2024 · 22 980 загрузки
v4.4.4
17.03.2024 · 257 154 загрузки
v4.4.4
16.03.2024 · 452 загрузки
v4.4.3
16.03.2024 · 2 677 загрузки
v4.4.3
16.03.2024 · 2 498 загрузки
v4.4.3
16.03.2024 · 201 загрузки
v4.4.3
16.03.2024 · 324 загрузки
v4.4.3
16.03.2024 · 809 загрузки
v4.4.3
26.01.2024 · 22 737 загрузки
v4.4.2
26.01.2024 · 844 загрузки
v4.4.2
26.01.2024 · 523 182 загрузки
v4.4.2
26.01.2024 · 121 931 загрузки
v4.4.2
26.01.2024 · 3 899 загрузки
v4.4.2
26.01.2024 · 2 475 загрузки
v4.4.2
26.01.2024 · 31 913 загрузки
v4.4.2
10.01.2024 · 949 загрузки
v4.4.1
10.01.2024 · 685 загрузки
v4.4.1
10.01.2024 · 5 296 загрузки
v4.4
isShaking to GeoEntity rendering, in-line with vanilla's LivingEntityRenderer#isShaking10.01.2024 · 4 703 загрузки
v4.4
isShaking to GeoEntity rendering, in-line with vanilla's LivingEntityRenderer#isShaking10.01.2024 · 87 491 загрузки
v4.4
isShaking to GeoEntity rendering, in-line with vanilla's LivingEntityRenderer#isShaking10.01.2024 · 316 944 загрузки
v4.4
isShaking to GeoEntity rendering, in-line with vanilla's LivingEntityRenderer#isShaking10.01.2024 · 171 загрузки
v4.4
isShaking to GeoEntity rendering, in-line with vanilla's LivingEntityRenderer#isShaking10.01.2024 · 236 загрузки
v4.4
isShaking to GeoEntity rendering, in-line with vanilla's LivingEntityRenderer#isShaking10.01.2024 · 643 загрузки
v4.4
isShaking to GeoEntity rendering, in-line with vanilla's LivingEntityRenderer#isShaking02.01.2024 · 406 загрузки
v4.3.1
23.12.2023 · 393 загрузки
v4.3.1
08.12.2023 · 548 загрузки
v4.3.1
08.12.2023 · 707 загрузки
v4.3.1
08.12.2023 · 29 195 загрузки
v4.3.1
07.12.2023 · 1 149 загрузки
v4.3.1
07.12.2023 · 3 845 загрузки
v4.3.1
07.12.2023 · 221 загрузки
v4.3.1
07.12.2023 · 2 333 загрузки
v4.3.1
06.12.2023 · 4 533 загрузки
v4.3.1
06.12.2023 · 159 353 загрузки
v4.3.1
06.12.2023 · 207 388 загрузки
v4.3.1
06.12.2023 · 9 826 загрузки
v4.3.1
06.12.2023 · 54 070 загрузки
v4.3.1
04.12.2023 · 485 загрузки
v4.3
04.12.2023 · 3 345 загрузки
v4.3
04.12.2023 · 11 723 загрузки
v4.3
04.12.2023 · 256 загрузки
v4.3
04.12.2023 · 842 загрузки
v4.3
28.10.2023 · 2 148 загрузки
v4.2.4
28.10.2023 · 6 447 загрузки
v4.2.4
28.10.2023 · 6 850 загрузки
v4.2.4
28.10.2023 · 96 647 загрузки
v4.2.4
28.10.2023 · 438 597 загрузки
v4.2.4
27.09.2023 · 2 476 загрузки
v4.2.3
27.09.2023 · 4 865 загрузки
v4.2.3
17.09.2023 · 34 123 загрузки
v4.2.3
17.09.2023 · 133 104 загрузки
v4.2.3
19.08.2023 · 92 010 загрузки
19.08.2023 · 88 081 загрузки
06.07.2023 · 75 497 загрузки
Fix legacy translation of blockentities
Fix conflicting animations between multiple non-living geoentities
Fix GeoReplacedEntityRenderer not correctly saving the worldspace matrix translations
Hopefully fix crash rarely caused by setting the animation in a controller at an odd time
Add alternate lighting scheme option for geoitemrendering in gui
06.07.2023 · 118 897 загрузки
Fix legacy translation of blockentities
Fix conflicting animations between multiple non-living geoentities
Fix GeoReplacedEntityRenderer not correctly saving the worldspace matrix translations
Hopefully fix crash rarely caused by setting the animation in a controller at an odd time
Add alternate lighting scheme option for geoitemrendering in gui
08.06.2023 · 11 377 загрузки
1.20 Release
07.06.2023 · 18 783 загрузки
1.20 Release
05.06.2023 · 121 616 загрузки
v4.2
05.06.2023 · 53 827 загрузки
v4.2
06.04.2023 · 4 427 загрузки
v4.1.3
06.04.2023 · 4 621 загрузки
v4.1.3
06.04.2023 · 2 741 загрузки
v4.1.3
22.03.2023 · 2 949 загрузки
v4.1.2
22.03.2023 · 218 загрузки
v4.1.2
22.03.2023 · 859 загрузки
v4.1.2
22.03.2023 · 12 521 загрузки
v4.0.6
22.03.2023 · 1 735 загрузки
v4.0.6
22.03.2023 · 87 438 загрузки
v4.0.6
20.03.2023 · 711 загрузки
v4.1.1
Complete Rewrite of the library. Please see https://github.com/bernie-g/geckolib/wiki/Geckolib-4-Changes for all changes
20.03.2023 · 159 загрузки
v4.1.1
Complete Rewrite of the library. Please see https://github.com/bernie-g/geckolib/wiki/Geckolib-4-Changes for all changes
20.03.2023 · 336 загрузки
v4.1.1
Complete Rewrite of the library. Please see https://github.com/bernie-g/geckolib/wiki/Geckolib-4-Changes for all changes
20.03.2023 · 180 загрузки
v4.0.5
20.03.2023 · 571 загрузки
v4.0.5
20.03.2023 · 482 загрузки
v4.0.5
16.03.2023 · 2 166 загрузки
v4.1.0
Complete Rewrite of the library. Please see https://github.com/bernie-g/geckolib/wiki/Geckolib-4-Changes for all changes
16.03.2023 · 197 загрузки
v4.1.0
Complete Rewrite of the library. Please see https://github.com/bernie-g/geckolib/wiki/Geckolib-4-Changes for all changes
16.03.2023 · 583 загрузки
v4.1.0
Complete Rewrite of the library. Please see https://github.com/bernie-g/geckolib/wiki/Geckolib-4-Changes for all changes
22.02.2023 · 3 381 711 загрузки
v3.1.40
v3.1.39
v3.1.38
v3.1.37
v3.1.36
v3.1.35
v3.1.34
v3.1.33
22.02.2023 · 926 309 загрузки
v3.1.40
v3.1.39
v3.1.38
v3.1.37
v3.1.36
v3.1.35
v3.1.34
v3.1.33
v3.1.32
v3.1.31
22.02.2023 · 68 495 загрузки
v3.1.41
v3.1.40
v3.1.39
v3.1.38
v3.1.37
v3.1.36
v3.1.35
v3.1.34
v3.1.33
v3.1.32
v3.1.31
22.02.2023 · 1 612 загрузки
v4.0.4
Complete Rewrite of the library. Please see https://github.com/bernie-g/geckolib/wiki/Geckolib-4-Changes for all changes
22.02.2023 · 10 719 загрузки
v4.0.4
Complete Rewrite of the library. Please see https://github.com/bernie-g/geckolib/wiki/Geckolib-4-Changes for all changes
22.02.2023 · 396 загрузки
v4.0.4
Complete Rewrite of the library. Please see https://github.com/bernie-g/geckolib/wiki/Geckolib-4-Changes for all changes
14.02.2023 · 10 206 загрузки
v3.1.39
v3.1.38
v3.1.37
v3.1.36
v3.1.35
v3.1.34
v3.1.33
v3.1.32
v3.1.31
30.12.2022 · 1 358 загрузки
v4.0.3
Complete Rewrite of the library. Please see https://github.com/bernie-g/geckolib/wiki/Geckolib-4-Changes for all changes
30.12.2022 · 468 загрузки
v4.0.3
Complete Rewrite of the library. Please see https://github.com/bernie-g/geckolib/wiki/Geckolib-4-Changes for all changes
30.12.2022 · 2 110 загрузки
v4.0.3
Complete Rewrite of the library. Please see https://github.com/bernie-g/geckolib/wiki/Geckolib-4-Changes for all changes
19.12.2022 · 19 246 загрузки
v3.1.40
v3.1.39
v3.1.38
v3.1.37
v3.1.36
v3.1.35
v3.1.34
v3.1.33
v3.1.32
v3.1.31
19.12.2022 · 23 927 загрузки
v3.0.46
v3.0.45
v3.0.44
v3.0.43
v3.0.42
v3.0.41
v3.0.40
v3.0.39
v3.0.38
v3.0.37
16.12.2022 · 34 709 загрузки
v3.0.107
16.12.2022 · 493 596 загрузки
v3.0.106
16.12.2022 · 1 036 загрузки
v3.0.106
16.12.2022 · 1 127 загрузки
v3.0.105
16.12.2022 · 253 загрузки
v4.0.2
Complete Rewrite of the library. Please see https://github.com/bernie-g/geckolib/wiki/Geckolib-4-Changes for all changes
16.12.2022 · 315 загрузки
v4.0.2
Complete Rewrite of the library. Please see https://github.com/bernie-g/geckolib/wiki/Geckolib-4-Changes for all changes
16.12.2022 · 455 загрузки
v4.0.2
Complete Rewrite of the library. Please see https://github.com/bernie-g/geckolib/wiki/Geckolib-4-Changes for all changes
16.12.2022 · 13 104 загрузки
v3.1.39
v3.1.38
v3.1.37
v3.1.36
v3.1.35
v3.1.34
v3.1.33
16.12.2022 · 2 292 загрузки
v3.1.39
v3.1.38
v3.1.37
v3.1.36
v3.1.35
v3.1.34
v3.1.33
v3.1.32
v3.1.31
16.12.2022 · 26 575 загрузки
v3.1.38
v3.1.37
v3.1.36
v3.1.35
v3.1.34
v3.1.33
v3.1.32
v3.1.31
16.12.2022 · 70 168 загрузки
v3.0.80
v3.0.79
v3.0.78
v3.0.77
v3.0.76
v3.0.75
v3.0.74
v3.0.73
16.12.2022 · 975 582 загрузки
v3.0.57
v3.0.56
v3.0.55
v3.0.54
v3.0.53
v3.0.52
v3.0.51
16.12.2022 · 236 загрузки
v3.0.45
v3.0.44
v3.0.43
v3.0.42
v3.0.41
v3.0.40
v3.0.39
v3.0.38
v3.0.37
09.12.2022 · 158 загрузки
v4.0.1
Add some additional reRender support, fix some stuff that probably shouldn't be reRendering. - Tslat
Homogenise reRender conditional AnimationState support across the various renderers. - Tslat
Adds faceRotation helper in RenderUtils, most commonly needed for projectiles.
Complete Rewrite of the library. Please see https://github.com/bernie-g/geckolib/wiki/Geckolib-4-Changes for all changes
09.12.2022 · 570 загрузки
v4.0.1
Add some additional reRender support, fix some stuff that probably shouldn't be reRendering. - Tslat
Homogenise reRender conditional AnimationState support across the various renderers. - Tslat
Adds faceRotation helper in RenderUtils, most commonly needed for projectiles.
Complete Rewrite of the library. Please see https://github.com/bernie-g/geckolib/wiki/Geckolib-4-Changes for all changes
09.12.2022 · 307 загрузки
v4.0.1
Add some additional reRender support, fix some stuff that probably shouldn't be reRendering. - Tslat
Homogenise reRender conditional AnimationState support across the various renderers. - Tslat
Adds faceRotation helper in RenderUtils, most commonly needed for projectiles.
Complete Rewrite of the library. Please see https://github.com/bernie-g/geckolib/wiki/Geckolib-4-Changes for all changes
07.12.2022 · 1 180 загрузки
v4.0.0
Complete Rewrite of the library. Please see https://github.com/bernie-g/geckolib/wiki/Geckolib-4-Changes for all changes
07.12.2022 · 870 загрузки
v4.0.0
Complete Rewrite of the library. Please see https://github.com/bernie-g/geckolib/wiki/Geckolib-4-Changes for all changes
05.12.2022 · 309 загрузки
v4.0.0
Complete Rewrite of the library. Please see https://github.com/bernie-g/geckolib/wiki/Geckolib-4-Changes for all changes
02.12.2022 · 131 загрузки
v4.0.0
30.11.2022 · 138 загрузки
v4.0.0
28.11.2022 · 1 303 загрузки
v3.1.38
v3.1.37
v3.1.36
v3.1.35
v3.1.34
v3.1.33
v3.1.32
v3.1.31
28.11.2022 · 236 загрузки
v3.0.44
v3.0.43
v3.0.42
v3.0.41
v3.0.40
v3.0.39
v3.0.38
v3.0.37
23.11.2022 · 546 загрузки
v4.0.0
19.11.2022 · 5 055 загрузки
v3.1.37
v3.1.36
v3.1.35
v3.1.34
v3.1.33
v3.1.32
v3.1.31
19.11.2022 · 378 загрузки
v3.1.37
v3.1.36
v3.1.35
v3.1.34
v3.1.33
v3.1.32
v3.1.31
19.11.2022 · 4 243 загрузки
v3.1.38
v3.1.37
v3.1.36
v3.1.35
v3.1.34
v3.1.33
19.11.2022 · 10 012 загрузки
v3.0.56
v3.0.55
v3.0.54
v3.0.53
v3.0.52
v3.0.51
19.11.2022 · 175 загрузки
v3.0.43
v3.0.42
v3.0.41
v3.0.40
v3.0.39
v3.0.38
v3.0.37
19.11.2022 · 4 188 загрузки
v3.0.79
v3.0.78
v3.0.77
v3.0.76
v3.0.75
v3.0.74
v3.0.73
14.11.2022 · 4 286 загрузки
v3.1.37
v3.1.36
v3.1.35
v3.1.34
v3.1.33
v3.1.32
14.11.2022 · 2 090 загрузки
v3.1.37
v3.1.36
v3.1.35
v3.1.34
v3.1.33
14.11.2022 · 2 174 загрузки
v3.1.36
v3.1.35
v3.1.34
v3.1.33
v3.1.32
v3.1.31
14.11.2022 · 431 загрузки
v3.1.36
v3.1.35
v3.1.34
v3.1.33
v3.1.32
v3.1.31
14.11.2022 · 289 загрузки
v3.0.42
v3.0.41
v3.0.40
v3.0.39
v3.0.38
v3.0.37
14.11.2022 · 1 437 загрузки
v3.0.55
v3.0.54
v3.0.53
v3.0.52
v3.0.51
14.11.2022 · 371 загрузки
v3.0.78
v3.0.77
v3.0.76
v3.0.75
v3.0.74
v3.0.73
14.11.2022 · 24 753 загрузки
v3.0.104
14.11.2022 · 231 загрузки
v3.0.105
13.11.2022 · 156 загрузки
v3.1.36
v3.1.35
v3.1.34
v3.1.33
v3.1.32
02.11.2022 · 1 194 загрузки
v3.1.36
v3.1.35
v3.1.34
v3.1.33
02.11.2022 · 459 загрузки
v3.1.35
v3.1.34
v3.1.33
v3.1.32
v3.1.31
02.11.2022 · 1 305 загрузки
v3.1.35
v3.1.34
v3.1.33
v3.1.32
v3.1.31
02.11.2022 · 10 873 загрузки
v3.0.54
v3.0.53
v3.0.52
v3.0.51
02.11.2022 · 130 загрузки
v3.0.41
v3.0.40
v3.0.39
v3.0.38
v3.0.37
02.11.2022 · 625 загрузки
v3.0.77
v3.0.76
v3.0.75
v3.0.74
v3.0.73
02.11.2022 · 109 загрузки
v3.0.76
v3.0.75
v3.0.74
v3.0.73
01.11.2022 · 99 загрузки
v3.1.35
v3.1.34
v3.1.33
v3.1.32
01.11.2022 · 2 954 загрузки
v3.1.35
v3.1.34
v3.1.33
01.11.2022 · 146 загрузки
v3.1.34
v3.1.33
v3.1.32
v3.1.31
01.11.2022 · 418 загрузки
v3.1.34
v3.1.33
v3.1.32
v3.1.31
01.11.2022 · 137 загрузки
v3.0.75
v3.0.74
v3.0.73
01.11.2022 · 620 загрузки
v3.0.40
v3.0.39
v3.0.38
v3.0.37
01.11.2022 · 707 загрузки
v3.0.53
v3.0.52
v3.0.51
01.11.2022 · 854 загрузки
v3.0.104
01.11.2022 · 1 346 загрузки
v3.0.103
01.11.2022 · 108 загрузки
v3.1.34
v3.1.33
v3.1.32
01.11.2022 · 723 загрузки
v3.1.34
v3.1.33
01.11.2022 · 104 загрузки
v3.1.33
v3.1.32
v3.1.31
01.11.2022 · 189 загрузки
v3.1.33
v3.1.32
v3.1.31
01.11.2022 · 103 загрузки
v3.0.39
v3.0.38
v3.0.37
01.11.2022 · 337 загрузки
v3.0.52
v3.0.51
01.11.2022 · 114 загрузки
v3.0.74
v3.0.73
31.10.2022 · 87 загрузки
v3.1.33
v3.1.32
31.10.2022 · 87 загрузки
v3.0.38
v3.0.37
31.10.2022 · 106 загрузки
v3.1.32
v3.1.31
31.10.2022 · 126 загрузки
v3.1.32
v3.1.31
31.10.2022 · 89 загрузки
v3.1.32
31.10.2022 · 89 загрузки
v3.1.31
31.10.2022 · 254 загрузки
v3.1.33
31.10.2022 · 155 загрузки
v3.1.31
31.10.2022 · 229 загрузки
v3.0.51
31.10.2022 · 76 загрузки
v3.0.37
31.10.2022 · 88 загрузки
v3.0.73
31.10.2022 · 221 загрузки
v3.0.103
31.10.2022 · 601 загрузки
v3.0.102
30.10.2022 · 116 загрузки
v3.0.102
30.10.2022 · 252 загрузки
v3.0.101
30.10.2022 · 80 загрузки
v3.1.31
30.10.2022 · 128 загрузки
v3.1.30
30.10.2022 · 316 загрузки
v3.1.32
30.10.2022 · 191 загрузки
v3.1.30
30.10.2022 · 238 загрузки
v3.0.50
30.10.2022 · 91 загрузки
v3.0.36
30.10.2022 · 104 загрузки
v3.0.72
27.10.2022 · 93 загрузки
v3.1.30
26.10.2022 · 65 загрузки
v3.1.30
26.10.2022 · 589 загрузки
v3.1.31
26.10.2022 · 155 загрузки
3.1.29
26.10.2022 · 854 загрузки
v3.1.29
26.10.2022 · 222 загрузки
v3.0.49
26.10.2022 · 101 загрузки
v3.0.35
26.10.2022 · 595 загрузки
v3.0.71
26.10.2022 · 128 загрузки
v3.0.101
26.10.2022 · 585 загрузки
v3.0.100
25.10.2022 · 71 загрузки
v3.1.29
25.10.2022 · 99 загрузки
3.1.28
25.10.2022 · 6 033 загрузки
v3.1.30
25.10.2022 · 224 загрузки
v3.1.28
25.10.2022 · 317 загрузки
v3.0.48
25.10.2022 · 176 загрузки
v3.0.34
25.10.2022 · 108 загрузки
v3.0.70
25.10.2022 · 518 загрузки
v3.0.99
25.10.2022 · 138 загрузки
v3.0.100
25.10.2022 · 133 загрузки
v3.1.27
25.10.2022 · 111 загрузки
v3.1.28
25.10.2022 · 239 загрузки
v3.0.47
25.10.2022 · 264 загрузки
v3.1.29
25.10.2022 · 84 загрузки
3.1.27
25.10.2022 · 97 загрузки
v3.0.33
25.10.2022 · 161 загрузки
v3.0.69
25.10.2022 · 315 загрузки
v3.0.99
25.10.2022 · 4 908 загрузки
v3.0.98
20.10.2022 · 433 загрузки
v3.1.28
20.10.2022 · 162 загрузки
3.1.26
20.10.2022 · 548 загрузки
v3.1.26
20.10.2022 · 15 801 загрузки
v3.0.46
20.10.2022 · 580 загрузки
v3.0.32
20.10.2022 · 281 загрузки
v3.0.68
20.10.2022 · 95 069 загрузки
v3.0.97
20.10.2022 · 970 загрузки
v3.0.98
16.10.2022 · 242 загрузки
v3.0.45
16.10.2022 · 136 загрузки
3.1.25
16.10.2022 · 354 загрузки
v3.1.27
16.10.2022 · 731 загрузки
v3.1.25
16.10.2022 · 133 загрузки
v3.0.31
16.10.2022 · 243 загрузки
v3.0.67
16.10.2022 · 427 загрузки
v3.0.97
16.10.2022 · 50 864 загрузки
v3.0.96
06.10.2022 · 243 736 загрузки
v3.0.31
06.10.2022 · 443 загрузки
v3.1.23
06.10.2022 · 176 загрузки
3.1.22
06.10.2022 · 297 загрузки
v3.1.22
06.10.2022 · 1 543 загрузки
v3.0.41
06.10.2022 · 151 загрузки
v3.0.28
06.10.2022 · 1 871 загрузки
v3.0.64
06.10.2022 · 270 загрузки
v3.0.94
06.10.2022 · 6 822 загрузки
v3.0.94
03.10.2022 · 287 загрузки
v3.1.22
03.10.2022 · 117 загрузки
3.1.21
03.10.2022 · 171 загрузки
3.1.21
03.10.2022 · 183 загрузки
v3.0.27
03.10.2022 · 5 070 загрузки
v3.0.40
03.10.2022 · 165 загрузки
3.0.63
03.10.2022 · 966 загрузки
v3.0.93
03.10.2022 · 146 загрузки
v3.0.93
14.09.2022 · 546 загрузки
v3.1.21
14.09.2022 · 272 загрузки
3.1.20
14.09.2022 · 851 загрузки
3.1.20
14.09.2022 · 128 загрузки
v3.0.26
14.09.2022 · 477 загрузки
v3.0.39
14.09.2022 · 1 000 загрузки
3.0.62
14.09.2022 · 1 270 загрузки
v3.0.92
14.09.2022 · 173 загрузки
v3.0.92
13.09.2022 · 337 загрузки
v3.1.20
13.09.2022 · 138 загрузки
3.1.19
13.09.2022 · 192 загрузки
3.1.19
13.09.2022 · 186 загрузки
v3.0.38
13.09.2022 · 96 загрузки
v3.0.25
13.09.2022 · 101 загрузки
3.0.61
13.09.2022 · 223 загрузки
v3.0.91
13.09.2022 · 91 загрузки
v3.0.91
05.09.2022 · 441 загрузки
v3.1.19
05.09.2022 · 127 загрузки
3.1.18
05.09.2022 · 387 загрузки
3.1.18
05.09.2022 · 99 загрузки
v3.0.24
05.09.2022 · 412 загрузки
v3.0.37
05.09.2022 · 1 828 загрузки
3.0.60
05.09.2022 · 548 загрузки
v3.0.90
05.09.2022 · 213 загрузки
v3.0.90
24.08.2022 · 484 загрузки
v3.1.18
24.08.2022 · 313 загрузки
3.1.17
24.08.2022 · 109 загрузки
3.1.17
24.08.2022 · 143 загрузки
v3.0.23
24.08.2022 · 583 загрузки
v3.0.36
24.08.2022 · 472 загрузки
3.0.59
24.08.2022 · 390 загрузки
v3.0.89
24.08.2022 · 138 загрузки
v3.0.89
21.08.2022 · 643 загрузки
v3.1.17
21.08.2022 · 229 загрузки
3.1.16
21.08.2022 · 220 загрузки
3.1.16
21.08.2022 · 162 загрузки
v3.0.22
21.08.2022 · 606 загрузки
v3.0.35
21.08.2022 · 582 загрузки
3.0.58
21.08.2022 · 125 загрузки
v3.0.88
21.08.2022 · 572 загрузки
v3.0.88
17.08.2022 · 210 загрузки
3.1.15
17.08.2022 · 117 загрузки
3.0.57
17.08.2022 · 160 загрузки
v3.0.21
17.08.2022 · 251 загрузки
3.1.15
14.08.2022 · 384 загрузки
v3.0.87
14.08.2022 · 1 096 загрузки
v3.1.14
11.08.2022 · 7 279 загрузки
v3.1.14
11.08.2022 · 6 820 загрузки
v3.1.16
11.08.2022 · 357 загрузки
v3.0.20
11.08.2022 · 1 260 загрузки
v3.0.34
11.08.2022 · 1 161 загрузки
3.0.56
11.08.2022 · 1 832 загрузки
v3.0.87
08.08.2022 · 5 009 загрузки
3.0.32
08.08.2022 · 2 752 загрузки
v3.0.15
08.08.2022 · 2 494 загрузки
v3.0.46
08.08.2022 · 16 016 загрузки
v3.0.30