2013-09-11 14:20:15 +02:00
|
|
|
package com.pahimar.ee3;
|
|
|
|
|
2022-12-02 12:36:58 +01:00
|
|
|
import com.pahimar.ee3.api.exchange.IEnergyValueRegistry;
|
2014-10-21 21:59:00 +02:00
|
|
|
import com.pahimar.ee3.array.AlchemyArrayRegistry;
|
2016-05-23 23:47:31 +02:00
|
|
|
import com.pahimar.ee3.blacklist.BlacklistRegistry;
|
2015-02-05 05:48:07 +01:00
|
|
|
import com.pahimar.ee3.command.CommandEE;
|
2022-12-02 12:36:58 +01:00
|
|
|
import com.pahimar.ee3.exchange.EMCRegistry;
|
2016-05-12 21:25:30 +02:00
|
|
|
import com.pahimar.ee3.exchange.EnergyValueRegistry;
|
2014-09-16 18:08:16 +02:00
|
|
|
import com.pahimar.ee3.handler.*;
|
2014-07-25 03:05:04 +02:00
|
|
|
import com.pahimar.ee3.init.*;
|
2016-05-20 21:57:20 +02:00
|
|
|
import com.pahimar.ee3.knowledge.PlayerKnowledgeRegistry;
|
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;
|
2015-02-25 06:03:59 +01:00
|
|
|
import com.pahimar.ee3.recipe.AludelRecipeManager;
|
2014-07-14 18:04:20 +02:00
|
|
|
import com.pahimar.ee3.recipe.RecipeRegistry;
|
2015-06-10 05:25:40 +02:00
|
|
|
import com.pahimar.ee3.reference.Files;
|
2014-06-22 20:12:47 +02:00
|
|
|
import com.pahimar.ee3.reference.Messages;
|
2014-03-28 20:54:15 +01:00
|
|
|
import com.pahimar.ee3.reference.Reference;
|
2016-05-26 18:02:37 +02:00
|
|
|
import com.pahimar.ee3.test.EETestSuite;
|
2016-05-25 17:01:07 +02:00
|
|
|
import com.pahimar.ee3.test.EnergyValueTestSuite;
|
2016-05-26 18:02:37 +02:00
|
|
|
import com.pahimar.ee3.test.VanillaTestSuite;
|
2015-03-05 05:31:43 +01:00
|
|
|
import com.pahimar.ee3.util.FluidHelper;
|
2014-06-22 20:12:47 +02:00
|
|
|
import com.pahimar.ee3.util.LogHelper;
|
2014-09-04 20:55:06 +02:00
|
|
|
import com.pahimar.ee3.util.SerializationHelper;
|
2015-02-25 06:03:59 +01:00
|
|
|
import com.pahimar.ee3.util.TileEntityDataHelper;
|
2022-12-02 12:36:58 +01:00
|
|
|
|
|
|
|
import cpw.mods.fml.common.Loader;
|
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;
|
2014-09-04 20:55:06 +02:00
|
|
|
import cpw.mods.fml.common.event.*;
|
2013-09-11 14:20:15 +02:00
|
|
|
import cpw.mods.fml.common.network.NetworkRegistry;
|
2014-05-01 01:33:29 +02:00
|
|
|
import cpw.mods.fml.common.registry.GameRegistry;
|
2022-12-02 12:36:58 +01:00
|
|
|
import moze_intel.projecte.api.ProjectEAPI;
|
|
|
|
import moze_intel.projecte.api.proxy.IEMCProxy;
|
2013-12-16 02:26:42 +01:00
|
|
|
|
2015-04-14 04:27:11 +02:00
|
|
|
import java.io.File;
|
|
|
|
|
2015-05-07 20:47:54 +02:00
|
|
|
@Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, certificateFingerprint = Reference.FINGERPRINT, version = Reference.MOD_VERSION, dependencies = Reference.DEPENDENCIES, guiFactory = Reference.GUI_FACTORY_CLASS)
|
2013-12-16 02:26:42 +01:00
|
|
|
public class EquivalentExchange3
|
|
|
|
{
|
2014-05-24 19:54:46 +02:00
|
|
|
@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
|
|
|
|
2022-12-02 12:36:58 +01:00
|
|
|
public static IEnergyValueRegistry REGISTRY;
|
|
|
|
|
2013-09-11 14:20:15 +02:00
|
|
|
@EventHandler
|
2016-05-22 04:23:21 +02:00
|
|
|
public void invalidFingerprint(FMLFingerprintViolationEvent event) {
|
|
|
|
|
|
|
|
if (Reference.FINGERPRINT.equals("@FINGERPRINT@")) {
|
2014-06-22 20:12:47 +02:00
|
|
|
LogHelper.info(Messages.NO_FINGERPRINT_MESSAGE);
|
|
|
|
}
|
2016-05-22 04:23:21 +02:00
|
|
|
else {
|
2014-06-22 20:12:47 +02:00
|
|
|
LogHelper.warn(Messages.INVALID_FINGERPRINT_MESSAGE);
|
|
|
|
}
|
2013-09-11 14:20:15 +02:00
|
|
|
}
|
|
|
|
|
2014-09-04 21:28:43 +02:00
|
|
|
@EventHandler
|
2016-05-19 01:51:55 +02:00
|
|
|
public void onServerStarting(FMLServerStartingEvent event) {
|
2015-02-01 05:47:45 +01:00
|
|
|
|
2016-05-20 21:57:20 +02:00
|
|
|
Files.updateFileReferences();
|
|
|
|
|
2016-05-19 01:51:55 +02:00
|
|
|
SerializationHelper.initModDataDirectories();
|
2015-02-05 05:48:07 +01:00
|
|
|
event.registerServerCommand(new CommandEE());
|
2014-09-04 21:28:43 +02:00
|
|
|
}
|
|
|
|
|
2013-09-11 14:20:15 +02:00
|
|
|
@EventHandler
|
2016-05-19 01:51:55 +02:00
|
|
|
public void preInit(FMLPreInitializationEvent event) {
|
|
|
|
|
2022-12-02 12:36:58 +01:00
|
|
|
if (Loader.isModLoaded("ProjectE")) {
|
|
|
|
IEMCProxy proxy = ProjectEAPI.getEMCProxy();
|
|
|
|
REGISTRY = new EMCRegistry(proxy);
|
|
|
|
} else {
|
|
|
|
REGISTRY = EnergyValueRegistry.INSTANCE;
|
|
|
|
}
|
|
|
|
|
2014-07-18 21:55:10 +02:00
|
|
|
ConfigurationHandler.init(event.getSuggestedConfigurationFile());
|
2014-05-02 22:06:56 +02:00
|
|
|
|
2016-05-12 04:56:39 +02:00
|
|
|
Files.init(event);
|
2015-06-10 05:25:40 +02:00
|
|
|
|
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-14 04:05:27 +02:00
|
|
|
|
2015-03-05 05:31:43 +01:00
|
|
|
FluidHelper.registerFluids();
|
|
|
|
|
2016-05-17 04:02:23 +02:00
|
|
|
EnergyValues.init();
|
2014-07-25 03:05:04 +02:00
|
|
|
|
2015-02-25 06:03:59 +01:00
|
|
|
AlchemyArrays.registerAlchemyArrays();
|
2013-09-11 14:20:15 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@EventHandler
|
2016-05-19 01:51:55 +02:00
|
|
|
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
|
|
|
|
2016-05-27 22:03:14 +02:00
|
|
|
// Initialize the blacklist registry
|
|
|
|
BlacklistRegistry.INSTANCE.load();
|
|
|
|
|
2014-04-11 01:59:04 +02:00
|
|
|
// Initialize mod tile entities
|
2014-10-16 22:26:11 +02:00
|
|
|
TileEntities.init();
|
2014-04-11 01:59:04 +02:00
|
|
|
|
|
|
|
// Initialize custom rendering and pre-load textures (Client only)
|
|
|
|
proxy.initRenderingAndTextures();
|
|
|
|
|
2014-03-28 20:54:15 +01:00
|
|
|
// Register the Items Event Handler
|
2014-05-23 00:35:31 +02:00
|
|
|
proxy.registerEventHandlers();
|
2013-09-11 14:20:15 +02:00
|
|
|
|
2013-12-28 01:54:31 +01:00
|
|
|
CraftingHandler.init();
|
2014-07-06 21:09:50 +02:00
|
|
|
Recipes.init();
|
2022-11-22 15:26:15 +01:00
|
|
|
RecipesTransmutationStone.init();
|
2014-05-01 01:33:29 +02:00
|
|
|
|
|
|
|
// Register our fuels
|
|
|
|
GameRegistry.registerFuelHandler(new FuelHandler());
|
2014-10-01 05:48:42 +02:00
|
|
|
|
2014-10-06 01:29:54 +02:00
|
|
|
// Register the Waila data provider
|
2014-10-01 05:48:42 +02:00
|
|
|
FMLInterModComms.sendMessage("Waila", "register", "com.pahimar.ee3.waila.WailaDataProvider.callbackRegister");
|
2013-09-11 14:20:15 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@EventHandler
|
2016-05-18 22:33:04 +02:00
|
|
|
public void postInit(FMLPostInitializationEvent event) {
|
|
|
|
|
2016-05-18 19:53:13 +02:00
|
|
|
Abilities.init();
|
2016-05-26 18:02:37 +02:00
|
|
|
|
|
|
|
// Initialize our test files
|
|
|
|
new VanillaTestSuite().build().save();
|
|
|
|
new EETestSuite().build().save();
|
2013-09-11 14:20:15 +02:00
|
|
|
}
|
2014-07-07 21:31:10 +02:00
|
|
|
|
2014-09-04 20:55:06 +02:00
|
|
|
@EventHandler
|
2016-05-18 22:33:04 +02:00
|
|
|
public void onServerStopping(FMLServerStoppingEvent event) {
|
|
|
|
|
2015-02-12 06:15:45 +01:00
|
|
|
WorldEventHandler.hasInitilialized = false;
|
2016-05-18 19:53:13 +02:00
|
|
|
EnergyValueRegistry.INSTANCE.save();
|
2016-05-21 16:44:51 +02:00
|
|
|
PlayerKnowledgeRegistry.INSTANCE.saveAll();
|
2016-05-23 23:47:31 +02:00
|
|
|
BlacklistRegistry.INSTANCE.saveAll();
|
2014-09-04 20:55:06 +02:00
|
|
|
}
|
|
|
|
|
2015-11-28 05:07:45 +01:00
|
|
|
@EventHandler
|
2016-05-19 01:51:55 +02:00
|
|
|
public void handleMissingMappingEvent(FMLMissingMappingsEvent event) {
|
|
|
|
|
|
|
|
for (FMLMissingMappingsEvent.MissingMapping mapping : event.get()) {
|
|
|
|
if (mapping.type == GameRegistry.Type.ITEM) {
|
|
|
|
if (mapping.name.equals("EE3:alchemicalTome")) {
|
2015-11-28 05:07:45 +01:00
|
|
|
mapping.remap(ModItems.alchenomicon);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-12-02 12:36:58 +01:00
|
|
|
public IEnergyValueRegistry getEnergyValueRegistry()
|
2014-07-07 21:31:10 +02:00
|
|
|
{
|
2022-12-02 12:36:58 +01:00
|
|
|
return REGISTRY;
|
2014-07-07 21:31:10 +02:00
|
|
|
}
|
|
|
|
|
2014-07-22 21:56:39 +02:00
|
|
|
public RecipeRegistry getRecipeRegistry()
|
|
|
|
{
|
2016-05-20 19:56:53 +02:00
|
|
|
return RecipeRegistry.INSTANCE;
|
2014-07-22 21:56:39 +02:00
|
|
|
}
|
|
|
|
|
2015-02-25 06:03:59 +01:00
|
|
|
public AludelRecipeManager getAludelRecipeManager()
|
|
|
|
{
|
|
|
|
return AludelRecipeManager.getInstance();
|
|
|
|
}
|
|
|
|
|
2016-05-23 23:47:31 +02:00
|
|
|
public BlacklistRegistry getBlacklistRegistry() {
|
|
|
|
return BlacklistRegistry.INSTANCE;
|
2014-07-07 21:31:10 +02:00
|
|
|
}
|
2014-10-03 21:55:22 +02:00
|
|
|
|
2014-10-21 21:59:00 +02:00
|
|
|
public AlchemyArrayRegistry getAlchemyArrayRegistry()
|
|
|
|
{
|
|
|
|
return AlchemyArrayRegistry.getInstance();
|
|
|
|
}
|
2015-02-10 06:22:39 +01:00
|
|
|
|
2016-05-22 04:23:21 +02:00
|
|
|
public PlayerKnowledgeRegistry getPlayerKnowledgeRegistry() {
|
|
|
|
return PlayerKnowledgeRegistry.INSTANCE;
|
2015-02-10 06:22:39 +01:00
|
|
|
}
|
2015-02-25 06:03:59 +01:00
|
|
|
|
|
|
|
public TileEntityDataHelper getTileEntityDataHelper()
|
|
|
|
{
|
|
|
|
return TileEntityDataHelper.getInstance();
|
|
|
|
}
|
2015-04-14 04:27:11 +02:00
|
|
|
|
2016-05-25 17:01:07 +02:00
|
|
|
public void runEnergyValueTestSuite(File file)
|
2015-04-14 04:27:11 +02:00
|
|
|
{
|
2016-05-25 17:01:07 +02:00
|
|
|
runEnergyValueTestSuite(file, false);
|
2015-04-14 04:27:11 +02:00
|
|
|
}
|
|
|
|
|
2016-05-25 17:01:07 +02:00
|
|
|
public void runEnergyValueTestSuite(File file, boolean strict) {
|
|
|
|
new EnergyValueTestSuite(file).run(strict);
|
2015-04-14 04:27:11 +02:00
|
|
|
}
|
2013-09-11 14:20:15 +02:00
|
|
|
}
|