/**
* Copyright (c) 22/Feb/2015 Davide Cossu & Matthew Albrecht.
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 3 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, see <http://www.gnu.org/licenses>.
*/
package com.minestellar.moon;
import com.google.common.base.Stopwatch;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
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.moon.blocks.MoonBlocks;
import com.minestellar.moon.items.MoonItems;
import com.minestellar.moon.proxy.CommonProxyMoon;
import com.minestellar.moon.recipe.RecipeManagerMoon;
import com.minestellar.moon.util.ConfigManagerMoon;
import com.minestellar.moon.world.DimensionMoon;
import java.io.File;
import java.util.HashMap;
import java.util.concurrent.TimeUnit;
@Mod(modid = MinestellarMoon.MODID, name = MinestellarMoon.MODNAME, version = Constants.VERSION)
public class MinestellarMoon {
public static final String MODID = "MinestellarMoon";
public static final String MODNAME = "Minestellar Moon";
public static final String ASSET_PREFIX = "minestellar_moon";
public static final String TEXTURE_PREFIX = MinestellarMoon.ASSET_PREFIX + ":";
public static LogHelper log = new LogHelper(MinestellarMoon.MODID);
public static HashMap<String, ItemStack> blocksList = new HashMap<String, ItemStack>();
public static HashMap<String, ItemStack> itemList = new HashMap<String, ItemStack>();
@Instance(MinestellarMoon.MODID)
public static MinestellarMoon instance = new MinestellarMoon();
@SidedProxy(clientSide = "com.minestellar.moon.proxy.ClientProxyMoon", serverSide = "com.minestellar.moon.proxy.CommonProxyMoon")
public static CommonProxyMoon 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 ConfigManagerMoon(new File(event.getModConfigurationDirectory(), "Minestellar/moon.cfg"));
MoonBlocks.init();
MoonItems.init();
DimensionMoon.init();
MinestellarMoon.proxy.preInit(event);
log.info("PreInitialization Completed in " + stopwatch.elapsed( TimeUnit.MILLISECONDS ) + " ms.");
}
@EventHandler
public void init(FMLInitializationEvent event) {
Stopwatch stopwatch = Stopwatch.createStarted();
RecipeManagerMoon.loadRecipes();
this.registerTileEntities();
this.registerCreatures();
this.registerOtherEntities();
MinestellarMoon.proxy.init(event);
log.info("Initialization Completed in " + stopwatch.elapsed( TimeUnit.MILLISECONDS ) + " ms.");
}
@EventHandler
public void postInit(FMLPostInitializationEvent event) {
Stopwatch stopwatch = Stopwatch.createStarted();
MinestellarMoon.proxy.postInit(event);
log.info("PostInitialization Completed in " + stopwatch.elapsed(TimeUnit.MILLISECONDS) + " ms.");
}
private void registerTileEntities() {
}
private void registerCreatures() {
}
private void registerOtherEntities() {
}
}