LibJF/docs
Johannes Frohnmeyer 1ce7ddaf38
[config] Implement config DSL and rewrite reflection implementation
2022-08-21 22:34:55 +02:00
..
README.md [config] Implement config DSL and rewrite reflection implementation 2022-08-21 22:34:55 +02:00
libjf-base.md [config] Expose tooltips/titles as comments in json 2022-04-03 18:17:14 +02:00
libjf-config-v0.md [config] Remove internal APIs from interfaces to allow reusing the related systems elsewhere 2022-07-01 19:16:40 +02:00
libjf-data-manipulation-v0.md Add basic "documentation" 2022-01-05 11:54:03 +01:00
libjf-data-v0.md Update for 22w06a 2022-02-12 09:52:43 +01:00
libjf-devutil-v0.md Add verifiers and presets to JfConfig 2022-01-08 20:02:15 +01:00
libjf-translate-v1.md [translate] Implement LibreTranslate support 2022-03-25 18:29:34 +01:00
libjf-unsafe-v0.md Add basic "documentation" 2022-01-05 11:54:03 +01:00
libjf-web-v0.md [config] Implement config DSL and rewrite reflection implementation 2022-08-21 22:34:55 +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 maven builds do not include dependencies. 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://gitlab.com/api/v4/projects/25805200/packages/maven' }
}

and include LibJF modules like this:

dependencies {
    include modImplementation("io.gitlab.jfronny.libjf:libjf-config-v1:${project.jfapi_version}")
    include("io.gitlab.jfronny.libjf:libjf-unsafe-v0:${project.jfapi_version}")
    include("io.gitlab.jfronny.libjf:libjf-base:${project.jfapi_version}")
    modRuntimeOnly("io.gitlab.jfronny.libjf:libjf-devutil-v0:${project.jfapi_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