ModTweaker/src/api/java/chylex/hee/api/HeeAPI.java
2015-01-11 21:59:45 +02:00

43 lines
1.1 KiB
Java

package chylex.hee.api;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.LoaderState;
/**
* Main API class that contains and provides specific API instances.
*/
public final class HeeAPI{
private static final EssenceAPI essenceAPI = new EssenceAPI();
private static final WorldAPI worldAPI = new WorldAPI();
private static final DecompositionAPI decompositionAPI = new DecompositionAPI();
/**
* @return API instance for Essences and Essence Altars.
*/
public static EssenceAPI essence(){
validate();
return essenceAPI;
}
/**
* @return API instance for loot and new biomes in the End.
*/
public static WorldAPI world(){
validate();
return worldAPI;
}
/**
* @return API instance for Stardust and Decomposition Table.
*/
public static DecompositionAPI decomposition(){
validate();
return decompositionAPI;
}
private static void validate(){
if (!Loader.instance().isInState(LoaderState.POSTINITIALIZATION))throw new IllegalStateException("Do not use HEE API outside post initialization!");
}
private HeeAPI(){}
}