LibJF/docs
Johannes Frohnmeyer f54f8d59c4
ci/woodpecker/push/docs Pipeline was successful Details
ci/woodpecker/push/jfmod Pipeline was successful Details
feat(web): support hosting on game port
2023-08-30 17:24:14 +02:00
..
config chore: clean up config modules 2023-08-30 14:14:20 +02:00
README.md chore: clean up config modules 2023-08-30 14:14:20 +02:00
SUMMARY.md feat(web): support hosting on game port 2023-08-30 17:24:14 +02:00
libjf-base.md [config] Expose tooltips/titles as comments in json 2022-04-03 18:17:14 +02:00
libjf-data-manipulation-v0.md [root] update for 1.19.4-pre1 2023-02-26 12:49:00 +01:00
libjf-data-v0.md [docs] Move to mdbook and document libjf-config v1 modules 2022-08-27 20:17:13 +02:00
libjf-devutil.md [docs] Move to mdbook and document libjf-config v1 modules 2022-08-27 20:17:13 +02:00
libjf-translate-v1.md [docs] Move to mdbook and document libjf-config v1 modules 2022-08-27 20:17:13 +02:00
libjf-unsafe-v0.md [docs] Move to mdbook and document libjf-config v1 modules 2022-08-27 20:17:13 +02:00
libjf-web-v1.md feat(web): support hosting on game port 2023-08-30 17:24:14 +02:00

README.md

About

LibJF is split into several modules, each of which provides separate functionality. This modularization is inspired by Fabric API. LibJF is only maintained for the latest version of minecraft and tries to provide a stable ABI during its lifespan but is open for breaking changes between versions.

Be aware that modules may depend on another and that those transitive dependencies must be JiJd separately. Modules may also require fabric-api to be present to work properly

Using LibJF

The recommended way to use LibJF is using the JfMods scripts, which include the LibJF maven repository and simplify building fabric mods. My own mods (including LibJF) use these.

Otherwise, you can add the repository as follows:

repositories {
    maven { url 'https://maven.frohnmeyer-wds.de/artifacts' }
}

and include LibJF modules like this:

dependencies {
    include modImplementation("io.gitlab.jfronny.libjf:libjf-config-core-v2:${project.libjf_version}")
    include modRuntimeOnly("io.gitlab.jfronny.libjf:libjf-config-ui-tiny:${project.libjf_version}")
    include("io.gitlab.jfronny.libjf:libjf-base:${project.libjf_version}")

    modLocalRuntime("io.gitlab.jfronny.libjf:libjf-config-reflect-v1:${project.libjf_version}")
    modLocalRuntime("io.gitlab.jfronny.libjf:libjf-devutil-v0:${project.libjf_version}")
}

For more information on specific modules, you can look at their own pages

Developing LibJF

To add a LibJF module, create a new directory for it and copy over a build.gradle file from elsewhere, Reference it in settings.gradle and develop it like any fabric mod. You should also create a testmod for it (look at the other modules for examples) JiJing and maven uploads are automatically managed by the JfMods scripts