equivalent-exchange-3/src/main/java/com/pahimar/ee3/EquivalentExchange3.java

153 lines
4.9 KiB
Java
Raw Normal View History

2013-09-11 14:20:15 +02:00
package com.pahimar.ee3;
import com.pahimar.ee3.array.AlchemyArrayRegistry;
import com.pahimar.ee3.command.CommandSetCurrentItemValue;
2014-09-15 22:06:20 +02:00
import com.pahimar.ee3.command.CommandSetValue;
import com.pahimar.ee3.command.CommandSyncValues;
import com.pahimar.ee3.exchange.EnergyValueRegistry;
import com.pahimar.ee3.handler.*;
2014-07-25 03:05:04 +02:00
import com.pahimar.ee3.init.*;
import com.pahimar.ee3.knowledge.SkillRegistry;
2014-04-29 03:24:31 +02:00
import com.pahimar.ee3.network.PacketHandler;
2013-12-21 23:16:55 +01:00
import com.pahimar.ee3.proxy.IProxy;
import com.pahimar.ee3.recipe.RecipeRegistry;
2014-07-24 22:01:42 +02:00
import com.pahimar.ee3.recipe.RecipesAludel;
import com.pahimar.ee3.reference.Messages;
import com.pahimar.ee3.reference.Reference;
import com.pahimar.ee3.util.LogHelper;
import com.pahimar.ee3.util.SerializationHelper;
import cpw.mods.fml.common.FMLCommonHandler;
2013-09-11 14:20:15 +02:00
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.*;
2013-09-11 14:20:15 +02:00
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
import java.io.File;
@Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, certificateFingerprint = Reference.FINGERPRINT, version = Reference.VERSION, guiFactory = Reference.GUI_FACTORY_CLASS)
public class EquivalentExchange3
{
@Instance(Reference.MOD_ID)
2013-09-11 14:20:15 +02:00
public static EquivalentExchange3 instance;
@SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.SERVER_PROXY_CLASS)
2013-12-21 23:16:55 +01:00
public static IProxy proxy;
2013-09-11 14:20:15 +02:00
@EventHandler
public void invalidFingerprint(FMLFingerprintViolationEvent event)
{
if (Reference.FINGERPRINT.equals("@FINGERPRINT@"))
{
LogHelper.info(Messages.NO_FINGERPRINT_MESSAGE);
}
else
{
LogHelper.warn(Messages.INVALID_FINGERPRINT_MESSAGE);
}
2013-09-11 14:20:15 +02:00
}
@EventHandler
public void onServerStarting(FMLServerStartingEvent event)
{
2014-09-15 22:06:20 +02:00
event.registerServerCommand(new CommandSetValue());
event.registerServerCommand(new CommandSetCurrentItemValue());
2014-09-15 22:06:20 +02:00
event.registerServerCommand(new CommandSyncValues());
SerializationHelper.initModDataDirectories();
}
2013-09-11 14:20:15 +02:00
@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
ConfigurationHandler.init(event.getSuggestedConfigurationFile());
2014-05-23 00:35:31 +02:00
PacketHandler.init();
proxy.registerKeybindings();
2013-09-11 14:20:15 +02:00
ModItems.init();
2014-04-02 04:47:08 +02:00
ModBlocks.init();
2014-07-25 03:05:04 +02:00
EnergyValues.addDefaultEnergyValues();
Skills.addDefaultSkills();
2013-09-11 14:20:15 +02:00
}
@EventHandler
public void init(FMLInitializationEvent event)
{
2013-09-11 14:20:15 +02:00
// Register the GUI Handler
2014-03-28 02:34:47 +01:00
NetworkRegistry.INSTANCE.registerGuiHandler(instance, new GuiHandler());
2013-09-11 14:20:15 +02:00
// Initialize mod tile entities
2014-10-16 22:26:11 +02:00
TileEntities.init();
// Initialize custom rendering and pre-load textures (Client only)
proxy.initRenderingAndTextures();
// Register the Items Event Handler
2014-05-23 00:35:31 +02:00
proxy.registerEventHandlers();
2013-09-11 14:20:15 +02:00
CraftingHandler.init();
Recipes.init();
// Register our fuels
GameRegistry.registerFuelHandler(new FuelHandler());
2014-10-06 01:29:54 +02:00
// Register the Waila data provider
FMLInterModComms.sendMessage("Waila", "register", "com.pahimar.ee3.waila.WailaDataProvider.callbackRegister");
2013-09-11 14:20:15 +02:00
}
@EventHandler
public void postInit(FMLPostInitializationEvent event)
{
2014-07-24 22:01:42 +02:00
RecipeRegistry.getInstance().registerVanillaRecipes();
RecipesAludel.registerRecipes();
2013-09-11 14:20:15 +02:00
}
@EventHandler
public void onServerStopping(FMLServerStoppingEvent event)
{
if (EnergyValueRegistry.getInstance().getShouldRegenNextRestart())
{
2015-01-30 05:38:10 +01:00
// TODO Use the SerializationHelper to save this and reduce File objects
2014-10-06 01:29:54 +02:00
File dataDirectory = new File(FMLCommonHandler.instance().getMinecraftServerInstance().getEntityWorld().getSaveHandler().getWorldDirectory(), "data" + File.separator + Reference.MOD_ID.toLowerCase());
2014-10-08 05:11:54 +02:00
File energyValueRegistryFile = new File(dataDirectory, SerializationHelper.getModListMD5() + "." + Reference.MOD_ID.toLowerCase());
if (energyValueRegistryFile.exists())
{
energyValueRegistryFile.delete();
}
}
else
{
SerializationHelper.writeNBTToFile(SerializationHelper.getDataDirectory(), SerializationHelper.getModListMD5() + "." + Reference.MOD_ID.toLowerCase(), getEnergyValueRegistry());
}
WorldEventHandler.hasInitilialized = false;
}
public EnergyValueRegistry getEnergyValueRegistry()
{
return EnergyValueRegistry.getInstance();
}
public RecipeRegistry getRecipeRegistry()
{
return RecipeRegistry.getInstance();
}
public SkillRegistry getSkillRegistry()
{
return SkillRegistry.getInstance();
}
public AlchemyArrayRegistry getAlchemyArrayRegistry()
{
return AlchemyArrayRegistry.getInstance();
}
2013-09-11 14:20:15 +02:00
}