diff --git a/libjf-config-v0/src/main/java/io/gitlab/jfronny/libjf/config/api/ConfigHolder.java b/libjf-config-v0/src/main/java/io/gitlab/jfronny/libjf/config/api/ConfigHolder.java index f0e763c..9221796 100644 --- a/libjf-config-v0/src/main/java/io/gitlab/jfronny/libjf/config/api/ConfigHolder.java +++ b/libjf-config-v0/src/main/java/io/gitlab/jfronny/libjf/config/api/ConfigHolder.java @@ -1,6 +1,7 @@ package io.gitlab.jfronny.libjf.config.api; import io.gitlab.jfronny.libjf.config.impl.ConfigHolderImpl; +import net.minecraft.client.gui.screen.Screen; import java.nio.file.Path; import java.util.Map; @@ -17,4 +18,5 @@ public interface ConfigHolder { boolean isRegistered(Class configClass); boolean isRegistered(String modId); boolean isRegistered(Path configPath); + Screen getConfigScreen(ConfigInstance config, Screen parent); } diff --git a/libjf-config-v0/src/main/java/io/gitlab/jfronny/libjf/config/impl/ConfigHolderImpl.java b/libjf-config-v0/src/main/java/io/gitlab/jfronny/libjf/config/impl/ConfigHolderImpl.java index 21dac95..be76c7b 100644 --- a/libjf-config-v0/src/main/java/io/gitlab/jfronny/libjf/config/impl/ConfigHolderImpl.java +++ b/libjf-config-v0/src/main/java/io/gitlab/jfronny/libjf/config/impl/ConfigHolderImpl.java @@ -4,6 +4,8 @@ import com.google.common.collect.ImmutableMap; import io.gitlab.jfronny.libjf.LibJf; import io.gitlab.jfronny.libjf.config.api.ConfigHolder; import io.gitlab.jfronny.libjf.config.api.ConfigInstance; +import io.gitlab.jfronny.libjf.config.impl.client.screen.TinyConfigScreen; +import net.minecraft.client.gui.screen.Screen; import org.jetbrains.annotations.ApiStatus; import java.nio.file.Path; @@ -77,4 +79,9 @@ public class ConfigHolderImpl implements ConfigHolder { public boolean isRegistered(Path configPath) { return configsByPath.containsKey(configPath); } + + @Override + public Screen getConfigScreen(ConfigInstance config, Screen parent) { + return new TinyConfigScreen(config, parent); + } } diff --git a/libjf-config-v0/src/main/java/io/gitlab/jfronny/libjf/config/impl/client/ModMenu.java b/libjf-config-v0/src/main/java/io/gitlab/jfronny/libjf/config/impl/client/ModMenu.java index e48a64c..be84465 100644 --- a/libjf-config-v0/src/main/java/io/gitlab/jfronny/libjf/config/impl/client/ModMenu.java +++ b/libjf-config-v0/src/main/java/io/gitlab/jfronny/libjf/config/impl/client/ModMenu.java @@ -4,7 +4,6 @@ import com.terraformersmc.modmenu.api.ConfigScreenFactory; import com.terraformersmc.modmenu.api.ModMenuApi; import io.gitlab.jfronny.libjf.config.api.ConfigHolder; import io.gitlab.jfronny.libjf.config.api.ConfigInstance; -import io.gitlab.jfronny.libjf.config.impl.client.screen.TinyConfigScreen; import io.gitlab.jfronny.libjf.LibJf; import java.util.HashMap; @@ -22,6 +21,6 @@ public class ModMenu implements ModMenuApi { } private static ConfigScreenFactory buildFactory(ConfigInstance config) { - return s -> new TinyConfigScreen(s, config); + return s -> ConfigHolder.getInstance().getConfigScreen(config, s); } } diff --git a/libjf-config-v0/src/main/java/io/gitlab/jfronny/libjf/config/impl/client/screen/TinyConfigScreen.java b/libjf-config-v0/src/main/java/io/gitlab/jfronny/libjf/config/impl/client/screen/TinyConfigScreen.java index 2239bc1..b57a02a 100644 --- a/libjf-config-v0/src/main/java/io/gitlab/jfronny/libjf/config/impl/client/screen/TinyConfigScreen.java +++ b/libjf-config-v0/src/main/java/io/gitlab/jfronny/libjf/config/impl/client/screen/TinyConfigScreen.java @@ -25,7 +25,7 @@ import java.util.function.Predicate; @Environment(EnvType.CLIENT) public class TinyConfigScreen extends Screen { - public TinyConfigScreen(Screen parent, ConfigInstance config) { + public TinyConfigScreen(ConfigInstance config, Screen parent) { super(new TranslatableText(config.getModId() + ".jfconfig." + "title")); this.parent = parent; this.config = config;