aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/polyfrost/oneconfig/OneConfig.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/io/polyfrost/oneconfig/OneConfig.java')
-rw-r--r--src/main/java/io/polyfrost/oneconfig/OneConfig.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/main/java/io/polyfrost/oneconfig/OneConfig.java b/src/main/java/io/polyfrost/oneconfig/OneConfig.java
index 5d20af3..0f8fed9 100644
--- a/src/main/java/io/polyfrost/oneconfig/OneConfig.java
+++ b/src/main/java/io/polyfrost/oneconfig/OneConfig.java
@@ -2,16 +2,26 @@ package io.polyfrost.oneconfig;
import io.polyfrost.oneconfig.command.OneConfigCommand;
import io.polyfrost.oneconfig.config.OneConfigConfig;
+import io.polyfrost.oneconfig.config.core.ConfigCore;
+import io.polyfrost.oneconfig.config.data.ModData;
+import io.polyfrost.oneconfig.config.data.ModType;
import io.polyfrost.oneconfig.hud.HudCore;
import io.polyfrost.oneconfig.test.TestConfig;
import net.minecraft.client.Minecraft;
import net.minecraftforge.client.ClientCommandHandler;
import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.Mod;
+import net.minecraftforge.fml.common.ModContainer;
+import net.minecraftforge.fml.common.ModMetadata;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
+import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import java.io.File;
+import java.util.ArrayList;
+import java.util.LinkedHashSet;
+import java.util.List;
@Mod(modid = "@ID@", name = "@NAME@", version = "@VER@")
public class OneConfig {
@@ -21,6 +31,8 @@ public class OneConfig {
public static File themesDir = new File(oneConfigDir, "themes/");
public static OneConfigConfig config;
public static TestConfig testConfig;
+ public static List<ModData> loadedMods = new ArrayList<>();
+ public static List<ModMetadata> loadedOtherMods = new ArrayList<>();
@Mod.EventHandler
public void onPreFMLInit(FMLPreInitializationEvent event) {
@@ -37,4 +49,20 @@ public class OneConfig {
MinecraftForge.EVENT_BUS.register(this);
MinecraftForge.EVENT_BUS.register(new HudCore());
}
+
+ @Mod.EventHandler
+ public void onPostFMLInit(FMLPostInitializationEvent event) {
+ loadedMods.addAll(ConfigCore.settings.keySet());
+ LinkedHashSet<ModData> modData = new LinkedHashSet<>(ConfigCore.settings.keySet());
+ for(ModContainer mod : Loader.instance().getActiveModList()) {
+ ModMetadata metadata = mod.getMetadata();
+ loadedOtherMods.add(metadata);
+ String author = metadata.authorList.size() > 0 ? metadata.authorList.get(0) : "";
+ ModData newMod = new ModData(metadata.name, ModType.OTHER, author, metadata.version);
+ if(newMod.name.equals("OneConfig") || newMod.name.equals("Minecraft Coder Pack") || newMod.name.equals("Forge Mod Loader") || newMod.name.equals("Minecraft Forge")) {
+ continue;
+ }
+ if(modData.add(newMod)) loadedMods.add(newMod); // anti duplicate fix
+ }
+ }
}