From 2ff92526ba4be513a0a535e7ffb4171a9837568e Mon Sep 17 00:00:00 2001 From: Martin Prokoph Date: Tue, 19 Dec 2023 14:59:47 +0100 Subject: [PATCH] Fix ModMenu integration --- fabric/build.gradle | 4 +++ .../midnightdust/lib/config/AutoModMenu.java | 28 +++++++++++++++++++ gradle.properties | 4 +-- 3 files changed, 34 insertions(+), 2 deletions(-) create mode 100755 fabric/src/main/java/eu/midnightdust/lib/config/AutoModMenu.java diff --git a/fabric/build.gradle b/fabric/build.gradle index a5356cf..4cfbb4b 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -1,6 +1,9 @@ plugins { id "com.github.johnrengelman.shadow" version "7.1.2" } +repositories { + maven { url "https://maven.terraformersmc.com/releases" } +} architectury { platformSetupLoomIde() @@ -22,6 +25,7 @@ configurations { dependencies { modImplementation "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}" modApi "net.fabricmc.fabric-api:fabric-api:${rootProject.fabric_api_version}" + modImplementation ("com.terraformersmc:modmenu:${rootProject.mod_menu_version}") common(project(path: ":common", configuration: "namedElements")) { transitive false } shadowCommon(project(path: ":common", configuration: "transformProductionFabric")) { transitive false } diff --git a/fabric/src/main/java/eu/midnightdust/lib/config/AutoModMenu.java b/fabric/src/main/java/eu/midnightdust/lib/config/AutoModMenu.java new file mode 100755 index 0000000..72bcc21 --- /dev/null +++ b/fabric/src/main/java/eu/midnightdust/lib/config/AutoModMenu.java @@ -0,0 +1,28 @@ +package eu.midnightdust.lib.config; + +import com.terraformersmc.modmenu.api.ConfigScreenFactory; +import com.terraformersmc.modmenu.api.ModMenuApi; +import eu.midnightdust.core.MidnightLib; +import eu.midnightdust.core.config.MidnightLibConfig; + +import java.util.HashMap; +import java.util.Map; + +public class AutoModMenu implements ModMenuApi { + + @Override + public ConfigScreenFactory getModConfigScreenFactory() { + return parent -> MidnightLibConfig.getScreen(parent,"midnightlib"); + } + + @Override + public Map> getProvidedConfigScreenFactories() { + HashMap> map = new HashMap<>(); + MidnightConfig.configClass.forEach((modid, cClass) -> { + if (!MidnightLib.hiddenMods.contains(modid)) + map.put(modid, parent -> MidnightConfig.getScreen(parent, modid)); + } + ); + return map; + } +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index be0ee04..16e2ba3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,7 +5,7 @@ yarn_mappings=1.20.4+build.1 enabled_platforms=fabric,neoforge archives_base_name=midnightlib -mod_version=1.5.2 +mod_version=1.5.3 maven_group=eu.midnightdust fabric_loader_version=0.15.1 @@ -15,4 +15,4 @@ neoforge_version=20.4.12-beta quilt_loader_version=0.19.0-beta.18 quilt_fabric_api_version=7.0.1+0.83.0-1.20 -mod_menu_version = 7.0.1 \ No newline at end of file +mod_menu_version = 9.0.0 \ No newline at end of file