Skip to content

EssentialGG/Vigilance

Repository files navigation

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

implementation("gg.essential:vigilance-$mcVersion-$mcPlatform:$buildNumber")
Fabric

Groovy

modImplementation(include("gg.essential:vigilance-$mcVersion-$mcPlatform:$buildNumber"))

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:

plugins {
    id 'com.github.johnrengelman.shadow' version "$version"
}

or by including it in your buildscript's classpath and applying it:

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

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:

plugins {
    id("com.github.johnrengelman.shadow") version "$version"
}

or by including it in your buildscript's classpath and applying it:

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

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

About

Configuration Utility using Elementa

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published