{"id":20384370,"url":"https://github.com/essentialgg/vigilance","last_synced_at":"2025-10-29T05:30:19.872Z","repository":{"id":37238080,"uuid":"208892147","full_name":"EssentialGG/Vigilance","owner":"EssentialGG","description":"Configuration Utility using Elementa","archived":false,"fork":false,"pushed_at":"2024-08-13T12:28:33.000Z","size":1400,"stargazers_count":60,"open_issues_count":19,"forks_count":14,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-02-06T20:15:17.810Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EssentialGG.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-16T20:30:09.000Z","updated_at":"2025-01-27T21:50:37.000Z","dependencies_parsed_at":"2024-06-28T12:34:29.962Z","dependency_job_id":"5b4466f1-1dab-4725-add2-ac0996243493","html_url":"https://github.com/EssentialGG/Vigilance","commit_stats":{"total_commits":432,"total_committers":16,"mean_commits":27.0,"dds":0.7916666666666666,"last_synced_commit":"c2e4c979dec9193fff50ebc7e7bf63fd5a821b96"},"previous_names":["sk1erllc/vigilance"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EssentialGG%2FVigilance","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EssentialGG%2FVigilance/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EssentialGG%2FVigilance/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EssentialGG%2FVigilance/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EssentialGG","download_url":"https://codeload.github.com/EssentialGG/Vigilance/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238651171,"owners_count":19507732,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-15T02:27:31.551Z","updated_at":"2025-10-29T05:30:19.187Z","avatar_url":"https://github.com/EssentialGG.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vigilance\n\nA full Java inter-op library for Minecraft mod settings. Built using [Elementa](https://github.com/Sk1erLLC/Elementa), \nthis library provides a simple and clean configuration menu and an easy-to-use setting declaration system.\n\n## Dependency\n\n```kotlin\nrepository {\n    // All versions of Vigilance and UniversalCraft are published to Essential's public maven repository.\n    // (if you're still using Groovy build scripts, replace `()` with `{}`)\n    maven(url = \"https://repo.essential.gg/repository/maven-public\")\n}\ndependencies {\n    // Add Vigilance dependency. For the latest $vigilanceVersion, see the badge below this code snippet.\n    implementation(\"gg.essential:vigilance:$vigilanceVersion\")\n\n    // Vigilance itself is independent of Minecraft versions and mod loaders, instead it depends on UniversalCraft which\n    // provides bindings to specific Minecraft versions.\n    // As such, you must include the UniversalCraft version for the Minecraft version + mod loader you're targeting.\n    // For a list of all available platforms, see https://github.com/EssentialGG/UniversalCraft\n    // For your convenience, the latest $ucVersion is also included in a badge below this code snippet.\n    // (Note: if you are not using Loom, replace `modImplementation` with `implementation` or your equivalent)\n    modImplementation(\"gg.essential:universalcraft-1.8.9-forge:$ucVersion\")\n\n    // If you're using Fabric, you may use its jar-in-jar mechanism to bundle Vigilance and UniversalCraft with your\n    // mod by additionally adding them to the `include` configuration like this (in place of the above):\n    implementation(include(\"gg.essential:vigilance:$vigilanceVersion\")!!)\n    modImplementation(include(\"gg.essential:universalcraft-1.8.9-forge:$ucVersion\"))\n    // If you're using Forge, you must instead include them directly into your jar file and relocate them to your\n    // own package (this is important! otherwise you will be incompatible with other mods!)\n    // using e.g. https://gradleup.com/shadow/configuration/relocation/\n    // For an example, read the IMPORTANT section below.\n}\n```\n\n\u003cimg alt=\"gg.essential:vigilance\" src=\"https://img.shields.io/badge/dynamic/xml?color=A97BFF\u0026label=Latest%20Vigilance\u0026query=/metadata/versioning/versions/version[not(contains(text(),'%2B'))][last()]\u0026url=https://repo.essential.gg/repository/maven-releases/gg/essential/vigilance/maven-metadata.xml\"\u003e\n\u003cimg alt=\"gg.essential:universalcraft-1.8.9-forge\" src=\"https://img.shields.io/badge/dynamic/xml?color=A97BFF\u0026label=Latest%20UniversalCraft\u0026query=/metadata/versioning/versions/version[not(contains(text(),'%2B'))][last()]\u0026url=https://repo.essential.gg/repository/maven-releases/gg/essential/universalcraft-1.8.9-forge/maven-metadata.xml\"\u003e\n\n\u003ch2\u003e\u003cspan style=\"font-size:3em; color:red;\"\u003eIMPORTANT!\u003c/span\u003e\u003c/h2\u003e\n\nIf you are using Forge, you must also relocate Vigilance to avoid incompatibility with other mods.\nTo do this, you may use the Shadow Gradle plugin.\n\n\u003cdetails\u003e\u003csummary\u003eGroovy Version\u003c/summary\u003e\n\nYou can do this by either putting it in your plugins block:\n```groovy\nplugins {\n    id 'com.github.johnrengelman.shadow' version \"$version\"\n}\n```\nor by including it in your buildscript's classpath and applying it:\n```groovy\nbuildscript {\n    repositories {\n        gradlePluginPortal()\n    }\n    dependencies {\n        classpath \"gradle.plugin.com.github.jengelman.gradle.plugins:shadow:$version\"\n    }\n}\n\napply plugin: 'com.github.johnrengelman.shadow'\n```\nYou'll then want to relocate Vigilance to your own package to avoid breaking other mods\n```groovy\nshadowJar {\n    archiveClassifier.set(null)\n    relocate(\"gg.essential.vigilance\", \"your.package.vigilance\")\n    // vigilance dependencies\n    relocate(\"gg.essential.elementa\", \"your.package.elementa\")\n    // elementa dependencies\n    relocate(\"gg.essential.universalcraft\", \"your.package.universalcraft\")\n}\ntasks.named(\"reobfJar\").configure { dependsOn(tasks.named(\"shadowJar\")) }\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eKotlin Script Version\u003c/summary\u003e\n\nYou can do this by either putting it in your plugins block:\n```kotlin\nplugins {\n    id(\"com.github.johnrengelman.shadow\") version \"$version\"\n}\n```\nor by including it in your buildscript's classpath and applying it:\n```kotlin\nbuildscript {\n    repositories {\n        gradlePluginPortal()\n    }\n    dependencies {\n        classpath(\"gradle.plugin.com.github.jengelman.gradle.plugins:shadow:$version\")\n    }\n}\n\napply(plugin = \"com.github.johnrengelman.shadow\")\n```\nYou'll then want to relocate Vigilance to your own package to avoid breaking other mods\n```kotlin\ntasks.shadowJar {\n    archiveClassifier.set(null)\n    relocate(\"gg.essential.vigilance\", \"your.package.vigilance\")\n    // vigilance dependencies\n    relocate(\"gg.essential.elementa\", \"your.package.elementa\")\n    // elementa dependencies\n    relocate(\"gg.essential.universalcraft\", \"your.package.universalcraft\")\n}\ntasks.reobfJar { dependsOn(tasks.shadowJar) }\n```\n\n\u003c/details\u003e\n\n## Examples\n\nFor examples of how to use Vigilance, refer to the `example` sub-project within Vigilance for\n[annotation style](https://github.com/Sk1erLLC/Vigilance/blob/master/example/src/main/kotlin/gg/essential/vigilance/example/ExampleConfig.kt) \nand [DSL style](https://github.com/Sk1erLLC/Vigilance/blob/master/example/src/main/kotlin/gg/essential/vigilance/example/ExampleConfigDSL.kt)\n\nYou can run the examples via `./gradlew :example:run`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fessentialgg%2Fvigilance","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fessentialgg%2Fvigilance","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fessentialgg%2Fvigilance/lists"}