package mattparks.mods.exoplanets.elipse;
import java.io.File;
import mattparks.mods.exoplanets.core.Constants;
import mattparks.mods.exoplanets.core.ExoCore;
import mattparks.mods.exoplanets.elipse.blocks.ElipseBlocks;
import mattparks.mods.exoplanets.elipse.dimension.TeleportTypeElipse;
import mattparks.mods.exoplanets.elipse.dimension.WorldProviderElipse;
import mattparks.mods.exoplanets.elipse.items.ElipseItems;
import mattparks.mods.exoplanets.elipse.proxy.CommonProxyElipse;
import mattparks.mods.exoplanets.elipse.util.ConfigManagerElipse;
import mattparks.mods.exoplanets.elipse.util.RecipeManagerElipse;
import mattparks.mods.space.core.util.SpaceUtil;
import micdoodle8.mods.galacticraft.api.GalacticraftRegistry;
import micdoodle8.mods.galacticraft.api.galaxies.CelestialBody;
import micdoodle8.mods.galacticraft.api.galaxies.GalaxyRegistry;
import micdoodle8.mods.galacticraft.api.galaxies.Planet;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.util.ResourceLocation;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;
@Mod(modid = Constants.MOD_ID_ELIPSE, name = Constants.MOD_NAME_ELIPSE, version = Constants.VERSION, dependencies = "required-after:GalacticraftCore;required-after:ExoCore;")
public class ElipseCore {
public static final String ASSET_PREFIX = "exoplanetselipse";
public static final String TEXTURE_PREFIX = ElipseCore.ASSET_PREFIX + ":";
public static Planet planetElpis;
@SidedProxy(clientSide = "mattparks.mods.exoplanets.elipse.proxy.ClientProxyElipse", serverSide = "mattparks.mods.exoplanets.elipse.proxy.CommonProxyElipse")
public static CommonProxyElipse proxy;
@EventHandler
public void preInit(FMLPreInitializationEvent event) {
new ConfigManagerElipse(new File(event.getModConfigurationDirectory(), "Exoplanets/elipse.cfg"));
if (ConfigManagerElipse.idElipseEnabled) {
ElipseBlocks.init();
ElipseItems.init();
}
this.proxy.preInit(event);
}
public static void registerBlock(Block block, Class<? extends ItemBlock> itemBlockClass) {
GameRegistry.registerBlock(block, itemBlockClass, block.getUnlocalizedName().replace("tile.", ""));
}
public static void registerItem(Item item) {
GameRegistry.registerItem(item, item.getUnlocalizedName().replace("item.", ""));
}
@EventHandler
public void init(FMLInitializationEvent event) {
if (ConfigManagerElipse.idElipseEnabled) {
ElipseCore.planetElpis = (Planet) new Planet("elpis").setParentSolarSystem(ExoCore.gliese581g).setRingColorRGB(0.1F, 0.9F, 0.6F).setPhaseShift(0.3F).setRelativeSize(0.3519F).setRelativeDistanceFromCenter(new CelestialBody.ScalableDistance(0.45F, 0.45F)).setRelativeOrbitTime(1.86199F);
ElipseCore.planetElpis.setBodyIcon(new ResourceLocation(ExoCore.ASSET_PREFIX, "textures/gui/celestialbodies/elpis.png"));
ElipseCore.planetElpis.setDimensionInfo(ConfigManagerElipse.idDimensionElipse, WorldProviderElipse.class).setTierRequired(3);
GalaxyRegistry.registerPlanet(ElipseCore.planetElpis);
GalacticraftRegistry.registerTeleportType(WorldProviderElipse.class, new TeleportTypeElipse());
GalacticraftRegistry.registerRocketGui(WorldProviderElipse.class, new ResourceLocation(ElipseCore.TEXTURE_PREFIX + "textures/gui/elipseRocketGui.png"));
this.registerTileEntities();
this.registerCreatures();
this.registerOtherEntities();
}
this.proxy.init(event);
}
@EventHandler
public void postInit(FMLPostInitializationEvent event) {
if (ConfigManagerElipse.idElipseEnabled) {
RecipeManagerElipse.loadRecipes();
}
this.proxy.postInit(event);
}
private void registerTileEntities() {
}
private void registerCreatures() {
if (ConfigManagerElipse.idElipseEnabled) {
}
}
private void registerOtherEntities() {
}
@EventHandler
public static void PreLoad(FMLPreInitializationEvent PreEvent) {
proxy.registerRenderInfo();
}
}