com.minestellar.moon.MinestellarMoon.java Source code

Java tutorial

Introduction

Here is the source code for com.minestellar.moon.MinestellarMoon.java

Source

/**
 * 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() {
    }
}