big refactoring and cleanup

This commit is contained in:
Draylar
2021-03-12 19:08:29 -06:00
parent f0ecc69d6b
commit 06950a5a47
13 changed files with 103 additions and 47 deletions
@@ -3,27 +3,21 @@ package draylar.omegaconfiggui;
import draylar.omegaconfig.api.Config;
import draylar.omegaconfiggui.api.screen.ModMenuHelper;
import draylar.omegaconfiggui.api.screen.OmegaConfigScreen;
import draylar.omegaconfiggui.api.screen.OmegaConfigScreenSupplier;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.loader.api.FabricLoader;
@Environment(EnvType.CLIENT)
public class OmegaConfigGui implements ClientModInitializer {
@Override
public void onInitializeClient() {
}
public class OmegaConfigGui {
/**
* Registers a ModMenu configuration screen for the given {@link Config} instance.
* @param config registered config to create a ModMenu screen for
* @param <T> config type
*/
public static <T extends Config> void registerConfigScreen(T config) {
registerConfigScreen(config, parent -> new OmegaConfigScreen<>(config, parent));
}
public static <T extends Config> void registerConfigScreen(T config, OmegaConfigScreenSupplier<T> screenFactory) {
if(FabricLoader.getInstance().isModLoaded("modmenu")) {
ModMenuHelper.injectScreen(config, screenFactory);
ModMenuHelper.injectScreen(config, parent -> new OmegaConfigScreen<>(config, parent));
}
}
}