Skip to content

GeckoLib 4.5 Changes

Tslat edited this page Apr 6, 2024 · 8 revisions

Updating to GeckoLib 4.5

GeckoLib 4.5 was a moderately sized update to the library, mostly focused on moving to a Multiloader setup, but additionally focusing on further optimizing the runtime efficiency of the library, and streamlining the developer-facing API to make it even easier and more intuitive to use.

From a developer's perspective, there shouldn't be a lot to change with exception to a few renamed methods or classes. Depending on the contents of your mod however, you might find some additional changes to account for. The below summary is not a comprehensive rundown of every change made, but it should cover most use-cases.

Table of Contents

Multiloader

The primary goal of 4.5 was to move the entire library to Multiloader. This is a long-requested change from developers, and additionally will help us maintain the mod with consistency. I'll spare you most of the details of the move here, but suffice to say that virtually the entirety of the mod was moved to multiloader, including all of its event and networking handling.

This means that from a developer point-of-view, you should be able to achieve virtually anything you want to in your common module without need for specialty GeckoLib handling in any platform module!

GeckoLib Examples

Historically, GeckoLib has bundled a suite of examples into itself for developers to refer to, and for GeckoLib itself to test on in development. This has proved to have a few fairly major flaws however, which I wanted to rectify as part of the move to Multiloader:

  1. It doesn't account for testing of maven issues, artifact problems, or other platform/gradle issues that arise in dev
  2. It doubles the size of the resultant mod with assets and code that will never be seen or used
  3. It deliberately injected the examples into dev-space, requiring some users to need to disable them manually in order to work without them.
  4. It requires additional handling & specialty work in GeckoLib itself, for something that it doesn't even need to care about in production.

To this end, I have fully stripped all of the examples from GeckoLib's primary artifacts, and have instead moved them to their own repository, which includes a branch for each major platform, as well as a multiloader deployment. This allows us to properly exemplify usage of GeckoLib without additional mess, and makes it easier for you to see how it works

Table of Contents

Geckolib 3
Geckolib 4

Hosted By: Cloudsmith

Package repository hosting is graciously provided by Cloudsmith.

Cloudsmith is the only fully hosted, cloud-native, universal package management solution that enables your organization to create, store and share packages in any format, to any place, with total confidence.

Clone this wiki locally