Files
ForestryMC/src/main/java/forestry/Forestry.java
T

160 lines
5.9 KiB
Java
Raw Normal View History

2014-05-02 21:31:20 +02:00
/*******************************************************************************
2014-08-07 08:29:25 +02:00
* Copyright (c) 2011-2014 SirSengir.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v3
* which accompanies this distribution, and is available at
2014-08-07 02:56:58 -07:00
* http://www.gnu.org/licenses/lgpl-3.0.txt
*
2014-08-07 08:29:25 +02:00
* Various Contributors including, but not limited to:
* SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges
2014-05-02 21:31:20 +02:00
******************************************************************************/
package forestry;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
2014-05-02 21:31:20 +02:00
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLInterModComms.IMCEvent;
2014-08-25 17:19:29 -07:00
import cpw.mods.fml.common.event.FMLMissingMappingsEvent;
import cpw.mods.fml.common.event.FMLMissingMappingsEvent.MissingMapping;
2014-05-02 21:31:20 +02:00
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
2014-08-25 17:19:29 -07:00
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.GameRegistry.Type;
2014-05-02 21:31:20 +02:00
import forestry.api.fuels.FuelManager;
import forestry.core.ForestryCore;
import forestry.core.config.Constants;
2014-08-25 17:19:29 -07:00
import forestry.core.config.ForestryItem;
2014-05-02 21:31:20 +02:00
import forestry.core.config.Version;
import forestry.core.network.PacketHandler;
import forestry.core.utils.Log;
2014-08-25 17:19:29 -07:00
import forestry.core.utils.StringUtil;
import forestry.core.utils.datastructures.FluidMap;
import forestry.core.utils.datastructures.ItemStackMap;
2014-05-02 21:31:20 +02:00
/**
* Forestry Minecraft Mod
*
* @author SirSengir
*/
@Mod(
modid = Constants.MOD,
2014-05-02 21:31:20 +02:00
name = "Forestry",
version = Version.VERSION,
2015-06-21 23:17:24 -07:00
guiFactory = "forestry.core.config.ForestryGuiConfigFactory",
dependencies = "required-after:Forge@[10.13.0.1207,);"
+ "after:Buildcraft|Core@[6.1.7,);"
+ "after:ExtrabiomesXL;"
+ "after:BiomesOPlenty;"
2015-04-05 21:06:19 -07:00
+ "after:IC2@[2.0.140,);"
+ "after:Natura@[2.2.0,);"
+ "after:HardcoreEnderExpansion;")
2014-05-02 21:31:20 +02:00
public class Forestry {
@Mod.Instance(Constants.MOD)
2014-05-02 21:31:20 +02:00
public static Forestry instance;
private File configFolder;
2014-05-02 21:31:20 +02:00
2015-10-10 04:16:52 -07:00
private static final Map<String, ForestryItem> mappedItems = new HashMap<>();
static {
mappedItems.put("Forestry:builderBackpack", ForestryItem.builderBackpack);
mappedItems.put("Forestry:builderBackpackT2", ForestryItem.builderBackpackT2);
mappedItems.put("Forestry:adventurerBackpack", ForestryItem.adventurerBackpack);
mappedItems.put("Forestry:adventurerBackpackT2", ForestryItem.adventurerBackpackT2);
mappedItems.put("Forestry:shortMead", ForestryItem.beverage);
mappedItems.put("Forestry:waterCan", ForestryItem.canWater);
mappedItems.put("Forestry:biofuelCan", ForestryItem.canEthanol);
mappedItems.put("Forestry:biomassCan", ForestryItem.canBiomass);
mappedItems.put("Forestry:bucketBiofuel", ForestryItem.bucketEthanol);
mappedItems.put("Forestry:refractoryBiofuel", ForestryItem.refractoryEthanol);
mappedItems.put("Forestry:waxCapsuleBiofuel", ForestryItem.waxCapsuleEthanol);
}
2014-05-02 21:31:20 +02:00
public Forestry() {
2015-10-10 04:16:52 -07:00
FuelManager.fermenterFuel = new ItemStackMap<>();
FuelManager.moistenerResource = new ItemStackMap<>();
FuelManager.rainSubstrate = new ItemStackMap<>();
FuelManager.bronzeEngineFuel = new FluidMap<>();
FuelManager.copperEngineFuel = new ItemStackMap<>();
FuelManager.generatorFuel = new FluidMap<>();
2014-05-02 21:31:20 +02:00
}
2014-05-02 21:31:20 +02:00
@SidedProxy(clientSide = "forestry.core.ForestryClient", serverSide = "forestry.core.ForestryCore")
public static ForestryCore core = new ForestryCore();
public static PacketHandler packetHandler;
@EventHandler
public void preInit(FMLPreInitializationEvent event) {
packetHandler = new PacketHandler();
configFolder = new File(event.getModConfigurationDirectory(), "forestry");
2014-05-02 21:31:20 +02:00
core.preInit(event.getSourceFile(), this);
}
@EventHandler
public void init(FMLInitializationEvent event) {
core.init(this);
}
@EventHandler
public void postInit(FMLPostInitializationEvent event) {
core.postInit();
}
@EventHandler
public void serverStarting(FMLServerStartingEvent event) {
core.serverStarting(event.getServer());
}
public File getConfigFolder() {
return configFolder;
}
2014-05-02 21:31:20 +02:00
/*@EventHandler
public void fingerprintWarning(FMLFingerprintViolationEvent event) {
Log.info("Fingerprint of the mod jar is invalid. The jar file was tampered with.");
2014-05-02 21:31:20 +02:00
FMLInterModComms.sendMessage("Railcraft", "securityViolation", "Fingerprint of jar file did not match.");
FMLInterModComms.sendMessage("Thaumcraft", "securityViolation", "Fingerprint of jar file did not match.");
FMLInterModComms.sendMessage("IC2", "securityViolation", "Fingerprint of jar file did not match.");
}*/
2014-05-02 21:31:20 +02:00
@EventHandler
public void processIMCMessages(IMCEvent event) {
core.processIMCMessages(event.getMessages());
}
2014-08-25 17:19:29 -07:00
@EventHandler
public void missingMapping(FMLMissingMappingsEvent event) {
for (MissingMapping mapping : event.get()) {
2014-08-25 17:19:29 -07:00
if (mapping.type == Type.BLOCK) {
Block block = GameRegistry.findBlock(Constants.MOD, StringUtil.cleanTags(mapping.name));
2014-08-25 17:19:29 -07:00
if (block != null) {
mapping.remap(block);
Log.warning("Remapping block " + mapping.name + " to " + StringUtil.cleanBlockName(block));
2014-08-25 17:19:29 -07:00
}
} else {
Block block = GameRegistry.findBlock(Constants.MOD, StringUtil.cleanTags(mapping.name));
2014-08-25 17:19:29 -07:00
if (block != null) {
mapping.remap(Item.getItemFromBlock(block));
Log.warning("Remapping item " + mapping.name + " to " + StringUtil.cleanBlockName(block));
} else {
ForestryItem mappedItem = mappedItems.get(mapping.name);
if (mappedItem != null) {
mapping.remap(mappedItem.item());
Log.warning("Remapping item " + mapping.name + " to " + mappedItem.name());
}
2014-09-05 09:27:35 +02:00
}
2014-08-25 17:19:29 -07:00
}
}
2014-08-25 17:19:29 -07:00
}
2014-05-02 21:31:20 +02:00
}