|
@@ -5,8 +5,22 @@ import net.fabricmc.api.EnvType;
|
|
import net.fabricmc.api.Environment;
|
|
import net.fabricmc.api.Environment;
|
|
import net.minecraft.client.gui.screen.Screen;
|
|
import net.minecraft.client.gui.screen.Screen;
|
|
|
|
|
|
|
|
+import java.util.HashMap;
|
|
|
|
+import java.util.Map;
|
|
|
|
+import java.util.Optional;
|
|
|
|
+
|
|
public abstract class ConfigScreenBuilder {
|
|
public abstract class ConfigScreenBuilder {
|
|
|
|
|
|
|
|
+ private static final Map<String, ConfigScreenBuilder> mainBuilders = new HashMap<>();
|
|
|
|
+
|
|
|
|
+ public static void setMainBuilder(String modID, ConfigScreenBuilder screenBuilder) {
|
|
|
|
+ mainBuilders.put(modID, screenBuilder);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public static Optional<ConfigScreenBuilder> getMainBuilder(String modID) {
|
|
|
|
+ return Optional.ofNullable(mainBuilders.get(modID));
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* Builds a screen based on a config.
|
|
* Builds a screen based on a config.
|
|
*
|
|
*
|