From c1ffddf2381b878514a5b58e89acb79992cc03d5 Mon Sep 17 00:00:00 2001 From: DeathsGun Date: Fri, 1 Oct 2021 09:16:59 +0200 Subject: [PATCH] Allow mods to disable update checking for themselves Signed-off-by: DeathsGun --- .../xyz/deathsgun/modmanager/update/UpdateManager.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/xyz/deathsgun/modmanager/update/UpdateManager.kt b/src/main/kotlin/xyz/deathsgun/modmanager/update/UpdateManager.kt index f45502e..2f8a209 100644 --- a/src/main/kotlin/xyz/deathsgun/modmanager/update/UpdateManager.kt +++ b/src/main/kotlin/xyz/deathsgun/modmanager/update/UpdateManager.kt @@ -357,14 +357,23 @@ class UpdateManager { return ids } - fun getCheckableMods(): List { + private fun getCheckableMods(): List { return FabricLoader.getInstance().allMods.map { it.metadata }.filter { !it.id.startsWith("fabric") && !CustomValueUtil.getBoolean("fabric-loom:generated", it).orElse(false) && + !hasDisabledUpdates(it) && !blockedIds.contains(it.id) } } + private fun hasDisabledUpdates(meta: ModMetadata): Boolean { + if (!meta.containsCustomValue("modmanager")) { + return false + } + val modmenu = meta.getCustomValue("modmanager").asObject + return modmenu.containsKey("disable-checking") && modmenu.get("disable-checking").asBoolean + } + private fun Path.delete() { try { Files.delete(this)