EssentialGG / Vigilance

Configuration Utility using Elementa
GNU Lesser General Public License v3.0
54 stars 12 forks source link

Vigilance

A full Java inter-op library for Minecraft mod settings. Built using Elementa, this library provides a simple and clean configuration menu and an easy-to-use setting declaration system.

Dependency

It's recommended that you include [Essential](link eventually) instead of adding it yourself.

In your repository block, add:

Groovy

maven {
    url = "https://repo.essential.gg/repository/maven-public"
}

Kotlin

maven(url = "https://repo.essential.gg/repository/maven-public")

To use the latest builds, use the following dependency:

Forge Kotlin ```kotlin implementation("gg.essential:vigilance-$mcVersion-$mcPlatform:$buildNumber") ```
Fabric Groovy ```groovy modImplementation(include("gg.essential:vigilance-$mcVersion-$mcPlatform:$buildNumber")) ``` Kotlin ```kotlin modImplementation(include("gg.essential:vigilance-$mcVersion-$mcPlatform:$buildNumber")!!) ```

Build Reference

Build Reference
mcVersion mcPlatform buildNumber
1.18.1 fabric 1.18.1-fabric
1.18.1 forge 1.18.1-forge
1.17.1 fabric 1.17.1-fabric
1.17.1 forge 1.17.1-forge
1.16.2 forge 1.16.2-forge
1.12.2 forge 1.12.2-forge
1.8.9 forge 1.8.9-forge

IMPORTANT!

If you are using forge, you must also relocate Vigilance to avoid potential crashes with other mods. To do this, you will need to use the Shadow Gradle plugin.

Groovy Version You can do this by either putting it in your plugins block: ```groovy plugins { id 'com.github.johnrengelman.shadow' version "$version" } ``` or by including it in your buildscript's classpath and applying it: ```groovy buildscript { repositories { gradlePluginPortal() } dependencies { classpath "gradle.plugin.com.github.jengelman.gradle.plugins:shadow:$version" } } apply plugin: 'com.github.johnrengelman.shadow' ``` You'll then want to relocate Vigilance to your own package to avoid breaking other mods ```groovy shadowJar { archiveClassifier.set(null) relocate("gg.essential.vigilance", "your.package.vigilance") // vigilance dependencies relocate("gg.essential.elementa", "your.package.elementa") // elementa dependencies relocate("gg.essential.universalcraft", "your.package.universalcraft") } tasks.named("reobfJar").configure { dependsOn(tasks.named("shadowJar")) } ```
Kotlin Script Version You can do this by either putting it in your plugins block: ```kotlin plugins { id("com.github.johnrengelman.shadow") version "$version" } ``` or by including it in your buildscript's classpath and applying it: ```kotlin buildscript { repositories { gradlePluginPortal() } dependencies { classpath("gradle.plugin.com.github.jengelman.gradle.plugins:shadow:$version") } } apply(plugin = "com.github.johnrengelman.shadow") ``` You'll then want to relocate Vigilance to your own package to avoid breaking other mods ```kotlin tasks.shadowJar { archiveClassifier.set(null) relocate("gg.essential.vigilance", "your.package.vigilance") // vigilance dependencies relocate("gg.essential.elementa", "your.package.elementa") // elementa dependencies relocate("gg.essential.universalcraft", "your.package.universalcraft") } tasks.reobfJar { dependsOn(tasks.shadowJar) } ```

Examples

For examples of how to use Vigilance, refer to the example package within Vigilance for annotation style and DSL style