package com.minestellar.venus; import com.google.common.base.Stopwatch; 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; import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import com.minestellar.core.Constants; import com.minestellar.utils.LogHelper; import com.minestellar.utils.MinestellarUtil; import com.minestellar.venus.blocks.VenusBlocks; import com.minestellar.venus.entities.EntityEvolvedBlaze; import com.minestellar.venus.entities.EntityVenusianTNT; import com.minestellar.venus.entities.EntityVenusianVillager; import com.minestellar.venus.items.VenusItems; import com.minestellar.venus.proxy.CommonProxyVenus; import com.minestellar.venus.util.ConfigManagerVenus; import com.minestellar.venus.util.RecipeManagerVenus; import com.minestellar.venus.world.DimensionVenus; import java.io.File; import java.util.HashMap; import java.util.concurrent.TimeUnit; @Mod(modid = MinestellarVenus.MODID, name = MinestellarVenus.MODNAME, version = Constants.VERSION) public class MinestellarVenus { public static final String MODID = "MinestellarVenus"; public static final String MODNAME = "Minestellar Venus"; public static final String ASSET_PREFIX = "minestellar_venus"; public static final String TEXTURE_PREFIX = MinestellarVenus.ASSET_PREFIX + ":"; LogHelper log = new LogHelper(MinestellarVenus.MODID); public static HashMap<String, ItemStack> blocksList = new HashMap<String, ItemStack>(); public static HashMap<String, ItemStack> itemList = new HashMap<String, ItemStack>(); @SidedProxy(clientSide = "com.minestellar.venus.proxy.ClientProxyVenus", serverSide = "com.minestellar.venus.proxy.CommonProxyVenus") public static CommonProxyVenus proxy; 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 preInit(FMLPreInitializationEvent event) { Stopwatch stopwatch = Stopwatch.createStarted(); new ConfigManagerVenus(new File(event.getModConfigurationDirectory(), "Minestellar/venus.cfg")); VenusBlocks.init(); VenusItems.init(); DimensionVenus.init(); proxy.preInit(event); proxy.registerRenderInfo(); log.info("PreInitialization Completed in " + stopwatch.elapsed( TimeUnit.MILLISECONDS ) + " ms."); } @EventHandler public void init(FMLInitializationEvent event) { Stopwatch stopwatch = Stopwatch.createStarted(); this.registerTileEntities(); this.registerCreatures(); this.registerOtherEntities(); proxy.init(event); log.info("Initialization Completed in " + stopwatch.elapsed( TimeUnit.MILLISECONDS ) + " ms."); } @EventHandler public void postInit(FMLPostInitializationEvent event) { Stopwatch stopwatch = Stopwatch.createStarted(); RecipeManagerVenus.loadRecipes(); proxy.postInit(event); log.info("PostInitialization Completed in " + stopwatch.elapsed( TimeUnit.MILLISECONDS ) + " ms."); } private void registerTileEntities() { } private void registerCreatures() { MinestellarUtil.registerMinestellarCreature(EntityEvolvedBlaze.class, "EvolvedBlaze", -771829, -870131); MinestellarUtil.registerMinestellarCreature(EntityVenusianVillager.class, "VenusianVillager", MinestellarUtil.to32BitColor(255, 103, 181, 145), 16167425); } private void registerOtherEntities() { MinestellarUtil.registerMinestellarNonMobEntity(EntityVenusianTNT.class, "VenusianTNT", 150, 1, true); } }