Files
Electro-Magic-Tools/src/main/java/emt/EMT.java
T

106 lines
3.7 KiB
Java

package emt;
import cpw.mods.fml.common.FMLCommonHandler;
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.event.FMLServerStartingEvent;
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import cpw.mods.fml.relauncher.Side;
import emt.command.CommandOutputs;
import emt.init.EMTEntities;
import emt.init.Registry;
import emt.init.EMTResearches;
import emt.network.PacketEMTKeys;
import emt.proxy.CommonProxy;
import emt.util.*;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.oredict.OreDictionary;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@Mod(
modid = EMT.MOD_ID,
name = EMT.NAME,
version = EMT.VERSION,
guiFactory = EMT.GUI_FACTORY,
dependencies = EMT.DEPENDS
)
public class EMT {
public static final String NAME = "Electro-Magic Tools";
public static final String MOD_ID = "EMT";
public static final String VERSION = "1.2.6";
public static final String TEXTURE_PATH = "emt";
public static final String GUI_FACTORY = "emt.client.gui.config.EMTGuiFactory";
public static final String CLIENT_PROXY = "emt.proxy.ClientProxy";
public static final String COMMON_PROXY = "emt.proxy.CommonProxy";
public static final String CHANNEL = "EMT";
public static final String DEPENDS = "required-after:Thaumcraft ; required-after:IC2";
@SidedProxy(
clientSide = CLIENT_PROXY,
serverSide = COMMON_PROXY
)
public static CommonProxy proxy;
public static final CreativeTabs TAB = new EMTCreativeTab(MOD_ID + ".creativeTab");
public static final Logger LOGGER = LogManager.getLogger(NAME);
public static final SimpleNetworkWrapper INSTANCE = NetworkRegistry.INSTANCE.newSimpleChannel(CHANNEL);
@Instance(MOD_ID)
public static EMT instance;
@EventHandler
public void preInit(FMLPreInitializationEvent event) {
LOGGER.info("Starting planning the world domination");
EMTConfigHandler.init(event.getSuggestedConfigurationFile());
FMLCommonHandler.instance().bus().register(new EMTEventHandler());
FMLCommonHandler.instance().bus().register(new EMTClientEventHandler());
Registry.register();
EMTEssentiasOutputs.addPrimalOutputs();
EMTEssentiasOutputs.addOutputs();
registerPackets();
LOGGER.info("Planning complete");
}
@EventHandler
public void load(FMLInitializationEvent event) {
LOGGER.info("Gathering allies");
LOGGER.info("Loading the proxies");
proxy.load();
LOGGER.info("Making mobs drop additional items");
MinecraftForge.EVENT_BUS.register(new EMTEventHandler());
MinecraftForge.EVENT_BUS.register(new EMTClientEventHandler());
LOGGER.info("Adding dungeon loot");
EMTDungeonChestGenerator.generateLoot();
LOGGER.info("Registering entities");
EMTEntities.registerEMTEntities();
LOGGER.info("Registering the GUI Handler");
NetworkRegistry.INSTANCE.registerGuiHandler(this, proxy);
LOGGER.info("Allies gathered.");
}
@EventHandler
public void postInit(FMLPostInitializationEvent event) {
LOGGER.info("Starting the world takeover");
Registry.registerLate();
EMTResearches.register();
LOGGER.info("World takeover complete. Enjoy!");
}
@EventHandler
public void onFMLServerStart(FMLServerStartingEvent event) {
event.registerServerCommand(new CommandOutputs());
}
public void registerPackets() {
INSTANCE.registerMessage(PacketEMTKeys.class, PacketEMTKeys.class, 0, Side.SERVER);
}
}