TechReborn/src/main/java/techreborn/compat/CompatManager.java

61 lines
2.1 KiB
Java
Raw Normal View History

package techreborn.compat;
2015-06-12 19:40:08 +02:00
import cpw.mods.fml.common.Loader;
import ic2.api.info.IC2Classic;
2015-05-13 23:22:14 +02:00
import techreborn.compat.ee3.EmcValues;
import techreborn.compat.minetweaker.MinetweakerCompat;
import techreborn.compat.recipes.*;
2015-04-24 15:20:09 +02:00
import techreborn.compat.waila.CompatModuleWaila;
2015-06-12 19:40:08 +02:00
import java.util.ArrayList;
public class CompatManager {
public ArrayList<ICompatModule> compatModules = new ArrayList<ICompatModule>();
2015-06-12 19:40:08 +02:00
public static CompatManager INSTANCE = new CompatManager();
2015-06-12 19:40:08 +02:00
public CompatManager() {
registerCompact(CompatModuleWaila.class, "Waila");
registerCompact(RecipesIC2.class, "IC2", "!IC2-Classic-Spmod");
registerCompact(RecipesIC2Classic.class, "IC2-Classic-Spmod");
registerCompact(RecipesBuildcraft.class, "BuildCraft|Core", "IC2");
registerCompact(RecipesThermalExpansion.class, "ThermalExpansion");
registerCompact(EmcValues.class, "EE3");
registerCompact(RecipesNatura.class, "Natura");
registerCompact(RecipesBiomesOPlenty.class, "BiomesOPlenty");
registerCompact(RecipesThaumcraft.class, "Thaumcraft");
registerCompact(RecipesForestry.class, "Forestry");
registerCompact(MinetweakerCompat.class, "MineTweaker3");
}
2015-08-30 22:16:22 +02:00
public void registerCompact(Class<?> moduleClass, Object... objs) {
for(Object obj : objs){
if(obj instanceof String){
String modid = (String) obj;
if(modid.startsWith("!")){
if (Loader.isModLoaded(modid.replaceAll("!", ""))) {
2015-08-30 22:16:22 +02:00
return;
}
} else {
if (!Loader.isModLoaded(modid)) {
return;
}
}
} else if(obj instanceof Boolean){
Boolean boo = (Boolean) obj;
if(boo == false){}
2015-08-30 22:16:22 +02:00
return;
}
}
try {
compatModules.add((ICompatModule) moduleClass.newInstance());
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}