95 lines
3.5 KiB
Java
95 lines
3.5 KiB
Java
package universalelectricity.compatibility;
|
|
|
|
import universalelectricity.core.UniversalElectricity;
|
|
import universalelectricity.core.electricity.NetworkLoader;
|
|
import cpw.mods.fml.common.Loader;
|
|
|
|
/**
|
|
* The Universal Electricity compatibility module allows your mod to be compatible with most major
|
|
* power systems in Minecraft.
|
|
*
|
|
* @author Calclavia, Micdoodle
|
|
*/
|
|
public class Compatibility
|
|
{
|
|
/** Version of BuildCraft api compiled with */
|
|
public static String BCx_VERSION = "@BCxVersion@";
|
|
/** Version of Industrial Craft api compiled with */
|
|
public static String ICx_VERSION = "@ICxVersion@";
|
|
/** Version of Thermal Expansion api compiled with */
|
|
public static String TEx_VERSION = "@TExVersion@";
|
|
|
|
/** Has the initiate method been called */
|
|
public static boolean INIT = false;
|
|
|
|
/** Ratio of Build craft(MJ) power to UE power(Kw). Multiply BC3 power by this to convert to UE */
|
|
public static float BC3_RATIO = 2.814f;
|
|
|
|
/** Ratio of Redstone Flux power to UE power(Kw). Multiply TE power by this to convert to UE */
|
|
public static float TE_RATIO = BC3_RATIO / 10;
|
|
|
|
/**
|
|
* Ratio of Industrial craft(EU) power to UE power(Kw). Multiply IC2 power by this to convert to
|
|
* UE
|
|
*/
|
|
public static float IC2_RATIO = 0.11256f;
|
|
|
|
/**
|
|
* Ratio of UE power(Kw) to Build craft(MJ) power. Multiply UE power by this to convert it to
|
|
* BC3 power
|
|
*/
|
|
public static float TO_BC_RATIO = 1 / BC3_RATIO;
|
|
|
|
/**
|
|
* Ratio of UE power(Kw) to Redstone Flux power. Multiply UE power by this to convert it to TE
|
|
* power
|
|
*/
|
|
public static float TO_TE_RATIO = 1 / TE_RATIO;
|
|
|
|
/**
|
|
* Ratio of UE power(KW) to Industrial craft(EU) power. Multiply UE power by this to convert it
|
|
* to IC2 power
|
|
*/
|
|
public static float TO_IC2_RATIO = 1 / IC2_RATIO;
|
|
|
|
/** You must call this function to enable the Universal Network module. */
|
|
public static void initiate()
|
|
{
|
|
if (!INIT)
|
|
{
|
|
/** Outputs basic version information */
|
|
System.out.println("[UniversalElectricity] Loading compatibility API version " + UniversalElectricity.VERSION);
|
|
System.out.println("[UniversalElectricity] Compiled with IndustrialCraft API version " + Compatibility.ICx_VERSION);
|
|
System.out.println("[UniversalElectricity] Compiled with BuildCraft API version " + Compatibility.BCx_VERSION);
|
|
System.out.println("[UniversalElectricity] Compiled with ThermalExpansion API version " + Compatibility.TEx_VERSION);
|
|
|
|
/** Loads the configuration and sets all the values. */
|
|
UniversalElectricity.CONFIGURATION.load();
|
|
IC2_RATIO = (float) UniversalElectricity.CONFIGURATION.get("Compatiblity", "IndustrialCraft Conversion Ratio", IC2_RATIO).getDouble(IC2_RATIO);
|
|
TE_RATIO = (float) UniversalElectricity.CONFIGURATION.get("Compatiblity", "Thermal Expansion Conversion Ratio", TE_RATIO).getDouble(TE_RATIO);
|
|
BC3_RATIO = (float) UniversalElectricity.CONFIGURATION.get("Compatiblity", "BuildCraft Conversion Ratio", BC3_RATIO).getDouble(BC3_RATIO);
|
|
TO_IC2_RATIO = 1 / IC2_RATIO;
|
|
TO_BC_RATIO = 1 / BC3_RATIO;
|
|
UniversalElectricity.CONFIGURATION.save();
|
|
|
|
NetworkLoader.setNetworkClass(UniversalNetwork.class);
|
|
}
|
|
}
|
|
|
|
/** Checks using the FML loader too see if IC2 is loaded */
|
|
public static boolean isIndustrialCraft2Loaded()
|
|
{
|
|
return Loader.isModLoaded("IC2");
|
|
}
|
|
|
|
/** Checks using the FML loader too see if BC3 is loaded */
|
|
public static boolean isBuildcraftLoaded()
|
|
{
|
|
return Loader.isModLoaded("BuildCraft|Energy");
|
|
}
|
|
|
|
public static boolean isThermalExpansionLoaded()
|
|
{
|
|
return Loader.isModLoaded("ThermalExpansion");
|
|
}
|
|
}
|