Skip to content
forked from uku3lig/ukulib

small utility library used in my mods

License

Notifications You must be signed in to change notification settings

LyriaWintona/ukulib

 
 

Repository files navigation

banner

Maven metadata URL Javadoc badge Code Climate maintainability CodeFactor Grade

The coolest fabric library mod on the internet, which has 0 (zero) dependencies.
Javadoc can be found here for the latest version, or at https://maven.uku3lig.net/javadoc/releases/net/uku3lig/ukulib/VERSION for older versions.

Features

  • A simple yet powerful config system, which also provides utilities for config screens.
  • Only this for now... but more will come soon™️ ! (ideas and feedback are appreciated :D)

How to use

Add the following to your gradle.properties (see above shield or the maven repo for version info):

# https://github.com/uku3lig/ukulib
ukulib_version=...

build.gradle:

repositories {
    maven {
        url "https://maven.uku3lig.net/releases"
    }
}

dependencies {
    modApi "net.uku3lig:ukulib:${project.ukulib_version}"

    // you can also include it directly if you don't want your users to download it
    include "net.uku3lig:ukulib:${project.ukulib_version}"
}
Development versions

GitHub Workflow Status Maven metadata URL

Development version numbers end with -build.<build number>, e.g. 0.2.2+1.19.2-build.65.
They are not guaranteed to be stable or even work at all, but they are available if you want to test the latest changes.
They are also not published to the maven repo, so you have to add the following to your build.gradle:

repositories {
    maven {
        url "https://maven.uku3lig.net/snapshots"
    }
}

Integrating your config screen

Ukulib provides an api class, UkulibAPI, which you can extend to integrate your mod's config screen with ukulib. Example:

public class YourUkulibAPIClass implements UkulibAPI {
    @Override
    public Function<Screen, AbstractConfigScreen<?>> supplyConfigScreen() {
        return parent -> new YourConfigScreen(parent, ...);
    }
}

You then need to add the ukulib entrypoint in your fabric.mod.json:

"entrypoints": {
    ...
    "ukulib": [
      "your.awesome.mod.YourUkulibAPIClass"
    ]
  }

Sponsors

Massive thanks to Tuta for their support!

About

small utility library used in my mods

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 99.4%
  • Other 0.6%