2015-04-12 12:39:06 +02:00
|
|
|
package techreborn.compat;
|
|
|
|
|
2015-06-12 19:40:08 +02:00
|
|
|
import cpw.mods.fml.common.Loader;
|
2015-09-14 22:05:26 +02:00
|
|
|
import ic2.api.info.IC2Classic;
|
2015-05-13 23:22:14 +02:00
|
|
|
import techreborn.compat.ee3.EmcValues;
|
2015-07-02 21:45:05 +02:00
|
|
|
import techreborn.compat.minetweaker.MinetweakerCompat;
|
2015-08-09 12:05:32 +02:00
|
|
|
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;
|
2015-04-12 12:39:06 +02:00
|
|
|
|
|
|
|
public class CompatManager {
|
|
|
|
|
2015-08-09 12:05:32 +02:00
|
|
|
public ArrayList<ICompatModule> compatModules = new ArrayList<ICompatModule>();
|
2015-06-12 19:40:08 +02:00
|
|
|
|
2015-08-09 12:05:32 +02:00
|
|
|
public static CompatManager INSTANCE = new CompatManager();
|
2015-06-12 19:40:08 +02:00
|
|
|
|
|
|
|
|
2015-08-09 12:05:32 +02:00
|
|
|
public CompatManager() {
|
|
|
|
registerCompact(CompatModuleWaila.class, "Waila");
|
2015-09-14 22:05:26 +02:00
|
|
|
registerCompact(RecipesIC2.class, "IC2", !IC2Classic.isIc2ClassicLoaded());
|
2015-09-20 14:55:54 +02:00
|
|
|
registerCompact(RecipesIC2Classic.class, IC2Classic.isIc2ClassicLoaded() && ! IC2Classic.isIc2ExpLoaded());
|
2015-08-09 12:05:32 +02:00
|
|
|
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");
|
2015-08-27 09:55:34 +02:00
|
|
|
registerCompact(MinetweakerCompat.class, "MineTweaker3");
|
2015-08-09 12:05:32 +02:00
|
|
|
}
|
2015-05-30 12:47:01 +02:00
|
|
|
|
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.replace("!", ""))) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
if (!Loader.isModLoaded(modid)) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else if(obj instanceof Boolean){
|
|
|
|
if(!(Boolean)obj){
|
2015-09-05 22:09:37 +02:00
|
|
|
}
|
2015-08-30 22:16:22 +02:00
|
|
|
return;
|
|
|
|
}
|
2015-07-23 17:19:07 +02:00
|
|
|
}
|
2015-08-09 12:05:32 +02:00
|
|
|
try {
|
|
|
|
compatModules.add((ICompatModule) moduleClass.newInstance());
|
|
|
|
} catch (InstantiationException e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
} catch (IllegalAccessException e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
}
|
2015-04-12 12:39:06 +02:00
|
|
|
}
|