BloodMagic/src/main/java/WayofTime/bloodmagic/compat/ICompatibility.java
2016-03-16 18:41:06 -04:00

53 lines
1.3 KiB
Java

package WayofTime.bloodmagic.compat;
/**
* Implement on all primary compatibility classes.
*/
public interface ICompatibility
{
/**
* Called during each initialization phase after the given
* {@link #getModId()} has been verified as loaded.
*
* @param phase
* - The load phase at which this method is being called.
*/
void loadCompatibility(InitializationPhase phase);
/**
* @return The {@code modid} of the mod we are adding compatibility for.
*/
String getModId();
/**
* Whether or not compatibility should be loaded even if the mod were to be
* found.
*
* Generally a determined by a config option.
*
* @return If Compatibility should load.
*/
boolean enableCompat();
/**
* Represents a given mod initialization state.
*/
enum InitializationPhase
{
/**
* Represents
* {@link net.minecraftforge.fml.common.event.FMLPreInitializationEvent}
*/
PRE_INIT,
/**
* Represents
* {@link net.minecraftforge.fml.common.event.FMLInitializationEvent}
*/
INIT,
/**
* Represents
* {@link net.minecraftforge.fml.common.event.FMLPostInitializationEvent}
*/
POST_INIT
}
}