4db1b5cfd7
*Using Object3D instead of Vector3. *Don't use constructors for Mekanism packets. *setParams() in IMekanismPacket for setting data. *Began adding new javadocs.
1205 lines
No EOL
62 KiB
Java
1205 lines
No EOL
62 KiB
Java
package mekanism.common;
|
|
|
|
import ic2.api.recipe.Recipes;
|
|
|
|
import java.io.File;
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.HashSet;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.logging.Logger;
|
|
|
|
import mekanism.api.GasTransferProtocol.GasTransferEvent;
|
|
import mekanism.api.InfuseObject;
|
|
import mekanism.api.InfuseRegistry;
|
|
import mekanism.api.InfuseType;
|
|
import mekanism.api.InfusionInput;
|
|
import mekanism.api.Object3D;
|
|
import mekanism.client.SoundHandler;
|
|
import mekanism.common.EnergyTransferProtocol.EnergyTransferEvent;
|
|
import mekanism.common.IFactory.RecipeType;
|
|
import mekanism.common.LiquidTransferProtocol.LiquidTransferEvent;
|
|
import mekanism.common.PacketHandler.Transmission;
|
|
import mekanism.common.Tier.EnergyCubeTier;
|
|
import mekanism.common.Tier.FactoryTier;
|
|
import mekanism.common.network.PacketConfiguratorState;
|
|
import mekanism.common.network.PacketControlPanel;
|
|
import mekanism.common.network.PacketDataRequest;
|
|
import mekanism.common.network.PacketDigitUpdate;
|
|
import mekanism.common.network.PacketElectricBowState;
|
|
import mekanism.common.network.PacketElectricChest;
|
|
import mekanism.common.network.PacketPortableTeleport;
|
|
import mekanism.common.network.PacketPortalFX;
|
|
import mekanism.common.network.PacketRobit;
|
|
import mekanism.common.network.PacketStatusUpdate;
|
|
import mekanism.common.network.PacketTileEntity;
|
|
import mekanism.common.network.PacketTime;
|
|
import mekanism.common.network.PacketTransmitterTransferUpdate;
|
|
import mekanism.common.network.PacketTransmitterTransferUpdate.TransmitterTransferType;
|
|
import mekanism.common.network.PacketWeather;
|
|
import net.minecraft.block.Block;
|
|
import net.minecraft.item.Item;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.item.crafting.CraftingManager;
|
|
import net.minecraft.item.crafting.FurnaceRecipes;
|
|
import net.minecraftforge.common.Configuration;
|
|
import net.minecraftforge.common.MinecraftForge;
|
|
import net.minecraftforge.event.ForgeSubscribe;
|
|
import net.minecraftforge.oredict.OreDictionary;
|
|
import net.minecraftforge.oredict.ShapelessOreRecipe;
|
|
import rebelkeithy.mods.metallurgy.api.IOreInfo;
|
|
import rebelkeithy.mods.metallurgy.api.MetallurgyAPI;
|
|
import thermalexpansion.api.crafting.CraftingManagers;
|
|
import cpw.mods.fml.common.Mod;
|
|
import cpw.mods.fml.common.Mod.Init;
|
|
import cpw.mods.fml.common.Mod.Instance;
|
|
import cpw.mods.fml.common.Mod.PostInit;
|
|
import cpw.mods.fml.common.Mod.PreInit;
|
|
import cpw.mods.fml.common.Mod.ServerStarting;
|
|
import cpw.mods.fml.common.Mod.ServerStopping;
|
|
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.event.FMLServerStoppingEvent;
|
|
import cpw.mods.fml.common.network.NetworkMod;
|
|
import cpw.mods.fml.common.network.NetworkRegistry;
|
|
import cpw.mods.fml.common.registry.EntityRegistry;
|
|
import cpw.mods.fml.common.registry.GameRegistry;
|
|
import cpw.mods.fml.common.registry.LanguageRegistry;
|
|
import cpw.mods.fml.relauncher.Side;
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
|
|
|
/**
|
|
* Mekanism - the mod in which no true definition fits.
|
|
* @author AidanBrady
|
|
*
|
|
*/
|
|
@Mod(modid = "Mekanism", name = "Mekanism", version = "5.5.6")
|
|
@NetworkMod(channels = {"MEK"}, clientSideRequired = true, serverSideRequired = false, packetHandler = PacketHandler.class)
|
|
public class Mekanism
|
|
{
|
|
/** Mekanism logger instance */
|
|
public static Logger logger = Logger.getLogger("Minecraft");
|
|
|
|
/** Mekanism proxy instance */
|
|
@SidedProxy(clientSide = "mekanism.client.ClientProxy", serverSide = "mekanism.common.CommonProxy")
|
|
public static CommonProxy proxy;
|
|
|
|
/** Mekanism debug mode */
|
|
public static boolean debug = false;
|
|
|
|
/** Mekanism mod instance */
|
|
@Instance("Mekanism")
|
|
public static Mekanism instance;
|
|
|
|
/** Mekanism hooks instance */
|
|
public static MekanismHooks hooks;
|
|
|
|
/** Mekanism configuration instance */
|
|
public static Configuration configuration;
|
|
|
|
/** Mekanism version number */
|
|
public static Version versionNumber = new Version(5, 5, 6);
|
|
|
|
/** Map of Teleporters */
|
|
public static Map<Teleporter.Code, ArrayList<Object3D>> teleporters = new HashMap<Teleporter.Code, ArrayList<Object3D>>();
|
|
|
|
/** A map containing references to all dynamic tank inventory caches. */
|
|
public static Map<Integer, DynamicTankCache> dynamicInventories = new HashMap<Integer, DynamicTankCache>();
|
|
|
|
/** A map containing references to all locations corresponding to a specific inventory ID. */
|
|
public static Map<Integer, HashSet<Object3D>> inventoryLocations = new HashMap<Integer, HashSet<Object3D>>();
|
|
|
|
/** Mekanism creative tab */
|
|
public static CreativeTabMekanism tabMekanism = new CreativeTabMekanism();
|
|
|
|
/** List of Mekanism modules loaded */
|
|
public static List<IModule> modulesLoaded = new ArrayList<IModule>();
|
|
|
|
/** The latest version number which is received from the Mekanism server */
|
|
public static String latestVersionNumber;
|
|
|
|
/** The recent news which is received from the Mekanism server */
|
|
public static String recentNews;
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
/** The main SoundHandler instance that is used by all audio sources */
|
|
public static SoundHandler audioHandler;
|
|
|
|
//Block IDs
|
|
public static int basicBlockID = 3000;
|
|
public static int machineBlockID = 3001;
|
|
public static int oreBlockID = 3002;
|
|
public static int obsidianTNTID = 3003;
|
|
public static int energyCubeID = 3004;
|
|
public static int boundingBlockID = 3005;
|
|
public static int gasTankID = 3006;
|
|
public static int transmitterID = 3007;
|
|
|
|
//Items
|
|
public static ItemElectricBow ElectricBow;
|
|
public static Item Stopwatch;
|
|
public static Item WeatherOrb;
|
|
public static Item EnrichedAlloy;
|
|
public static ItemEnergized EnergyTablet;
|
|
public static Item SpeedUpgrade;
|
|
public static Item EnergyUpgrade;
|
|
public static ItemRobit Robit;
|
|
public static ItemAtomicDisassembler AtomicDisassembler;
|
|
public static Item AtomicCore;
|
|
public static ItemStorageTank StorageTank;
|
|
public static Item ControlCircuit;
|
|
public static Item EnrichedIron;
|
|
public static Item CompressedCarbon;
|
|
public static Item PortableTeleporter;
|
|
public static Item TeleportationCore;
|
|
public static Item Configurator;
|
|
|
|
//Blocks
|
|
public static Block BasicBlock;
|
|
public static Block MachineBlock;
|
|
public static Block OreBlock;
|
|
public static Block ObsidianTNT;
|
|
public static Block EnergyCube;
|
|
public static Block BoundingBlock;
|
|
public static Block GasTank;
|
|
public static Block Transmitter;
|
|
|
|
//Multi-ID Items
|
|
public static Item Dust;
|
|
public static Item Ingot;
|
|
public static Item Clump;
|
|
public static Item DirtyDust;
|
|
|
|
//Config Values
|
|
public static boolean extrasEnabled = true;
|
|
public static boolean osmiumGenerationEnabled = true;
|
|
public static boolean disableBCBronzeCrafting = true;
|
|
public static boolean disableBCSteelCrafting = true;
|
|
public static boolean updateNotifications = true;
|
|
public static boolean enableSounds = true;
|
|
public static boolean controlCircuitOreDict = true;
|
|
public static boolean logPackets = false;
|
|
public static boolean dynamicTankEasterEgg = false;
|
|
public static int obsidianTNTBlastRadius = 12;
|
|
public static int obsidianTNTDelay = 100;
|
|
public static double TO_IC2;
|
|
public static double TO_BC;
|
|
public static double FROM_IC2;
|
|
public static double FROM_BC;
|
|
public static double ENERGY_PER_REDSTONE = 10000;
|
|
|
|
/** Total ticks passed since thePlayer joined theWorld */
|
|
public static int ticksPassed = 0;
|
|
|
|
/**
|
|
* Adds all in-game crafting and smelting recipes.
|
|
*/
|
|
public void addRecipes()
|
|
{
|
|
//Storage Recipes
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(BasicBlock, 1, 3), new Object[] {
|
|
"***", "***", "***", Character.valueOf('*'), Item.coal
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(Item.coal, 9), new Object[] {
|
|
"*", Character.valueOf('*'), new ItemStack(BasicBlock, 1, 3)
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(BasicBlock, 1, 2), new Object[] {
|
|
"***", "***", "***", Character.valueOf('*'), "ingotRefinedObsidian"
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(Ingot, 9, 0), new Object[] {
|
|
"*", Character.valueOf('*'), new ItemStack(BasicBlock, 1, 2)
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(BasicBlock, 1, 4), new Object[] {
|
|
"***", "***", "***", Character.valueOf('*'), "ingotRefinedGlowstone"
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(Ingot, 9, 3), new Object[] {
|
|
"*", Character.valueOf('*'), new ItemStack(BasicBlock, 1, 4)
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(BasicBlock, 1, 0), new Object[] {
|
|
"XXX", "XXX", "XXX", Character.valueOf('X'), "ingotOsmium"
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(Ingot, 9, 1), new Object[] {
|
|
"*", Character.valueOf('*'), new ItemStack(BasicBlock, 1, 0)
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(BasicBlock, 1, 1), new Object[] {
|
|
"***", "***", "***", Character.valueOf('*'), "ingotBronze"
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(Ingot, 9, 2), new Object[] {
|
|
"*", Character.valueOf('*'), new ItemStack(BasicBlock, 1, 1)
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(BasicBlock, 1, 5), new Object[] {
|
|
"***", "***", "***", Character.valueOf('*'), "ingotSteel"
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(Ingot, 9, 4), new Object[] {
|
|
"*", Character.valueOf('*'), new ItemStack(BasicBlock, 1, 5)
|
|
}));
|
|
|
|
//Base Recipes
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(ObsidianTNT, 1), new Object[] {
|
|
"***", "XXX", "***", Character.valueOf('*'), Block.obsidian, Character.valueOf('X'), Block.tnt
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(ElectricBow.getUnchargedItem(), new Object[] {
|
|
" AB", "E B", " AB", Character.valueOf('A'), EnrichedAlloy, Character.valueOf('B'), Item.silk, Character.valueOf('E'), EnergyTablet.getUnchargedItem()
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(EnergyTablet.getUnchargedItem(), new Object[] {
|
|
"RCR", "ECE", "RCR", Character.valueOf('C'), Item.ingotGold, Character.valueOf('R'), Item.redstone, Character.valueOf('E'), EnrichedAlloy
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(MachineBlock, 1, 0), new Object[] {
|
|
"ARA", "CIC", "ARA", Character.valueOf('A'), EnrichedAlloy, Character.valueOf('R'), Item.redstone, Character.valueOf('I'), new ItemStack(BasicBlock, 1, 8), Character.valueOf('C'), ControlCircuit
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(MachineBlock, 1, 1), new Object[] {
|
|
"RCR", "GIG", "RCR", Character.valueOf('R'), Item.redstone, Character.valueOf('C'), "basicCircuit", Character.valueOf('G'), Block.glass, Character.valueOf('I'), new ItemStack(BasicBlock, 1, 8)
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(MachineBlock, 1, 2), new Object[] {
|
|
"SCS", "RIR", "SCS", Character.valueOf('S'), Block.cobblestone, Character.valueOf('C'), "basicCircuit", Character.valueOf('R'), Item.redstone, Character.valueOf('I'), new ItemStack(BasicBlock, 1, 8)
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(MachineBlock, 1, 3), new Object[] {
|
|
"RLR", "CIC", "RLR", Character.valueOf('R'), Item.redstone, Character.valueOf('L'), Item.bucketLava, Character.valueOf('C'), "basicCircuit", Character.valueOf('I'), new ItemStack(BasicBlock, 1, 8)
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(SpeedUpgrade), new Object[] {
|
|
" G ", "APA", " G ", Character.valueOf('P'), "dustOsmium", Character.valueOf('A'), EnrichedAlloy, Character.valueOf('G'), Block.glass
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(EnergyUpgrade), new Object[] {
|
|
" G ", "ADA", " G ", Character.valueOf('G'), Block.glass, Character.valueOf('A'), EnrichedAlloy, Character.valueOf('D'), "dustGold"
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(AtomicCore), new Object[] {
|
|
"AOA", "PDP", "AOA", Character.valueOf('A'), EnrichedAlloy, Character.valueOf('O'), "dustObsidian", Character.valueOf('P'), "dustOsmium", Character.valueOf('D'), Item.diamond
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(AtomicDisassembler.getUnchargedItem(), new Object[] {
|
|
"AEA", "ACA", " O ", Character.valueOf('A'), EnrichedAlloy, Character.valueOf('E'), EnergyTablet.getUnchargedItem(), Character.valueOf('C'), AtomicCore, Character.valueOf('O'), "ingotRefinedObsidian"
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(StorageTank.getEmptyItem(), new Object[] {
|
|
"III", "IDI", "III", Character.valueOf('I'), Item.ingotIron, Character.valueOf('D'), "dustIron"
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(GasTank), new Object[] {
|
|
"PPP", "PDP", "PPP", Character.valueOf('P'), "ingotOsmium", Character.valueOf('D'), "dustIron"
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(MekanismUtils.getEnergyCube(EnergyCubeTier.BASIC), new Object[] {
|
|
"RLR", "TIT", "RLR", Character.valueOf('R'), Item.redstone, Character.valueOf('L'), new ItemStack(Item.dyePowder, 1, 4), Character.valueOf('T'), EnergyTablet.getUnchargedItem(), Character.valueOf('I'), new ItemStack(BasicBlock, 1, 8)
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(MekanismUtils.getEnergyCube(EnergyCubeTier.ADVANCED), new Object[] {
|
|
"EGE", "TBT", "EGE", Character.valueOf('E'), EnrichedAlloy, Character.valueOf('G'), Item.ingotGold, Character.valueOf('T'), EnergyTablet.getUnchargedItem(), Character.valueOf('B'), MekanismUtils.getEnergyCube(EnergyCubeTier.BASIC)
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(MekanismUtils.getEnergyCube(EnergyCubeTier.ELITE), new Object[] {
|
|
"CDC", "TAT", "CDC", Character.valueOf('C'), "basicCircuit", Character.valueOf('D'), Item.diamond, Character.valueOf('T'), EnergyTablet.getUnchargedItem(), Character.valueOf('A'), MekanismUtils.getEnergyCube(EnergyCubeTier.ADVANCED)
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(MekanismUtils.getEnergyCube(EnergyCubeTier.ULTIMATE), new Object[] {
|
|
"COC", "TAT", "COC", Character.valueOf('C'), AtomicCore, Character.valueOf('O'), "ingotRefinedObsidian", Character.valueOf('T'), EnergyTablet.getUnchargedItem(), Character.valueOf('A'), MekanismUtils.getEnergyCube(EnergyCubeTier.ELITE)
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(ControlCircuit), new Object[] {
|
|
" P ", "PEP", " P ", Character.valueOf('P'), "ingotOsmium", Character.valueOf('E'), EnrichedAlloy
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new ShapelessOreRecipe(new ItemStack(EnrichedIron, 2), new Object[] {
|
|
Item.redstone, Item.ingotIron
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(EnrichedIron, 4), new Object[] {
|
|
"C", "I", "C", Character.valueOf('C'), "dustCopper", Character.valueOf('I'), Item.ingotIron
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(EnrichedIron, 4), new Object[] {
|
|
"T", "I", "T", Character.valueOf('T'), "dustTin", Character.valueOf('I'), Item.ingotIron
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(MachineBlock, 1, 8), new Object[] {
|
|
"IFI", "CEC", "IFI", Character.valueOf('I'), Item.ingotIron, Character.valueOf('F'), Block.furnaceIdle, Character.valueOf('C'), "basicCircuit", Character.valueOf('E'), EnrichedAlloy
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(TeleportationCore), new Object[] {
|
|
"LAL", "GDG", "LAL", Character.valueOf('L'), new ItemStack(Item.dyePowder, 1, 4), Character.valueOf('A'), AtomicCore, Character.valueOf('G'), Item.ingotGold, Character.valueOf('D'), Item.diamond
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(PortableTeleporter), new Object[] {
|
|
" E ", "CTC", " E ", Character.valueOf('E'), EnergyTablet.getUnchargedItem(), Character.valueOf('C'), "basicCircuit", Character.valueOf('T'), TeleportationCore
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(MachineBlock, 1, 11), new Object[] {
|
|
"COC", "OTO", "COC", Character.valueOf('C'), "basicCircuit", Character.valueOf('O'), new ItemStack(BasicBlock, 1, 8), Character.valueOf('T'), TeleportationCore
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(MachineBlock, 1, 9), new Object[] {
|
|
"CAC", "ERE", "CAC", Character.valueOf('C'), "basicCircuit", Character.valueOf('A'), AtomicCore, Character.valueOf('E'), EnrichedAlloy, Character.valueOf('R'), new ItemStack(BasicBlock, 1, 8)
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(Configurator), new Object[] {
|
|
" L ", "AEA", " S ", Character.valueOf('L'), new ItemStack(Item.dyePowder, 1, 4), Character.valueOf('A'), EnrichedAlloy, Character.valueOf('E'), EnergyTablet.getUnchargedItem(), Character.valueOf('S'), Item.stick
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(BasicBlock, 9, 7), new Object[] {
|
|
"OOO", "OGO", "OOO", Character.valueOf('O'), "ingotRefinedObsidian", Character.valueOf('G'), "ingotRefinedGlowstone"
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(Transmitter, 8, 0), new Object[] {
|
|
"OGO", Character.valueOf('O'), "ingotOsmium", Character.valueOf('G'), Block.glass
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(BasicBlock, 1, 8), new Object[] {
|
|
" S ", "SPS", " S ", Character.valueOf('S'), "ingotSteel", Character.valueOf('P'), "ingotOsmium"
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(MachineBlock, 1, 10), new Object[] {
|
|
"SCS", "GIG", "SCS", Character.valueOf('S'), Block.cobblestone, Character.valueOf('C'), ControlCircuit, Character.valueOf('G'), Block.glass, Character.valueOf('I'), new ItemStack(BasicBlock, 1, 8)
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(Transmitter, 8, 1), new Object[] {
|
|
"ORO", Character.valueOf('O'), "ingotOsmium", Character.valueOf('R'), Item.redstone
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(MachineBlock, 1, 12), new Object[] {
|
|
" B ", "ECE", "OOO", Character.valueOf('B'), Item.bucketEmpty, Character.valueOf('E'), EnrichedAlloy, Character.valueOf('C'), new ItemStack(BasicBlock, 1, 8), Character.valueOf('O'), "ingotOsmium"
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(MachineBlock, 1, 13), new Object[] {
|
|
"SGS", "CcC", "SSS", Character.valueOf('S'), "ingotSteel", Character.valueOf('G'), Block.glass, Character.valueOf('C'), Block.chest, Character.valueOf('c'), ControlCircuit
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(Transmitter, 8, 2), new Object[] {
|
|
"OBO", Character.valueOf('O'), "ingotOsmium", Character.valueOf('B'), Item.bucketEmpty
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(BasicBlock, 4, 9), new Object[] {
|
|
" I ", "ISI", " I ", Character.valueOf('I'), "ingotSteel", Character.valueOf('S'), Block.cobblestone
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(BasicBlock, 4, 10), new Object[] {
|
|
" I ", "IGI", " I ", Character.valueOf('I'), "ingotSteel", Character.valueOf('G'), Block.glass
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(BasicBlock, 1, 11), new Object[] {
|
|
" I ", "ICI", " I ", Character.valueOf('I'), "ingotSteel", Character.valueOf('C'), ControlCircuit
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(MachineBlock, 1, 14), new Object[] {
|
|
"PPP", "SES", Character.valueOf('P'), Block.pressurePlateStone, Character.valueOf('S'), "ingotSteel", Character.valueOf('E'), EnergyTablet.getUnchargedItem()
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(Robit.getUnchargedItem(), new Object[] {
|
|
" S ", "ECE", "OIO", Character.valueOf('S'), "ingotSteel", Character.valueOf('E'), EnergyTablet.getUnchargedItem(), Character.valueOf('C'), AtomicCore, Character.valueOf('O'), "ingotRefinedObsidian", Character.valueOf('I'), new ItemStack(MachineBlock, 1, 13)
|
|
}));
|
|
|
|
//Factory Recipes
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(MekanismUtils.getFactory(FactoryTier.BASIC, RecipeType.SMELTING), new Object[] {
|
|
"CAC", "GOG", "CAC", Character.valueOf('C'), "basicCircuit", Character.valueOf('A'), EnrichedAlloy, Character.valueOf('G'), "dustGold", Character.valueOf('O'), new ItemStack(MachineBlock, 1, 10)
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(MekanismUtils.getFactory(FactoryTier.BASIC, RecipeType.ENRICHING), new Object[] {
|
|
"CAC", "GOG", "CAC", Character.valueOf('C'), "basicCircuit", Character.valueOf('A'), EnrichedAlloy, Character.valueOf('G'), "dustGold", Character.valueOf('O'), new ItemStack(MachineBlock, 1, 0)
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(MekanismUtils.getFactory(FactoryTier.BASIC, RecipeType.CRUSHING), new Object[] {
|
|
"CAC", "GOG", "CAC", Character.valueOf('C'), "basicCircuit", Character.valueOf('A'), EnrichedAlloy, Character.valueOf('G'), "dustGold", Character.valueOf('O'), new ItemStack(MachineBlock, 1, 3)
|
|
}));
|
|
|
|
for(RecipeType type : RecipeType.values())
|
|
{
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(MekanismUtils.getFactory(FactoryTier.ADVANCED, type), new Object[] {
|
|
"CAC", "DOD", "CAC", Character.valueOf('C'), "basicCircuit", Character.valueOf('A'), EnrichedAlloy, Character.valueOf('D'), "dustDiamond", Character.valueOf('O'), MekanismUtils.getFactory(FactoryTier.BASIC, type)
|
|
}));
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(MekanismUtils.getFactory(FactoryTier.ELITE, type), new Object[] {
|
|
"CAC", "cOc", "CAC", Character.valueOf('C'), "basicCircuit", Character.valueOf('A'), EnrichedAlloy, Character.valueOf('c'), AtomicCore, Character.valueOf('O'), MekanismUtils.getFactory(FactoryTier.ADVANCED, type)
|
|
}));
|
|
}
|
|
|
|
if(extrasEnabled)
|
|
{
|
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(MachineBlock, 1, 4), new Object[] {
|
|
"SGS", "GDG", "SGS", Character.valueOf('S'), EnrichedAlloy, Character.valueOf('G'), Block.glass, Character.valueOf('D'), Block.blockDiamond
|
|
}));
|
|
}
|
|
|
|
//Furnace Recipes
|
|
FurnaceRecipes.smelting().addSmelting(oreBlockID, 0, new ItemStack(Ingot, 1, 1), 1.0F);
|
|
FurnaceRecipes.smelting().addSmelting(Dust.itemID, 2, new ItemStack(Ingot, 1, 1), 1.0F);
|
|
FurnaceRecipes.smelting().addSmelting(Dust.itemID, 0, new ItemStack(Item.ingotIron), 1.0F);
|
|
FurnaceRecipes.smelting().addSmelting(Dust.itemID, 1, new ItemStack(Item.ingotGold), 1.0F);
|
|
FurnaceRecipes.smelting().addSmelting(Dust.itemID, 5, new ItemStack(Ingot, 1, 4), 1.0F);
|
|
FurnaceRecipes.smelting().addSmelting(EnrichedIron.itemID, 0, new ItemStack(EnrichedAlloy), 1.0F);
|
|
|
|
//Enrichment Chamber Recipes
|
|
RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Block.oreRedstone), new ItemStack(Item.redstone, 12));
|
|
RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Block.obsidian), new ItemStack(DirtyDust, 1, 6));
|
|
RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Item.coal, 1, 0), new ItemStack(CompressedCarbon));
|
|
RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Item.coal, 1, 1), new ItemStack(CompressedCarbon));
|
|
RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Block.oreLapis), new ItemStack(Item.dyePowder, 12, 4));
|
|
RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Block.oreCoal), new ItemStack(Item.coal, 2));
|
|
RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Block.oreDiamond), new ItemStack(Item.diamond, 2));
|
|
RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Block.cobblestoneMossy), new ItemStack(Block.cobblestone));
|
|
RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Block.stone), new ItemStack(Block.stoneBrick, 1, 2));
|
|
RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Block.stoneBrick, 1, 2), new ItemStack(Block.stoneBrick, 1, 0));
|
|
RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Block.stoneBrick, 1, 0), new ItemStack(Block.stoneBrick, 1, 3));
|
|
RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Block.stoneBrick, 1, 1), new ItemStack(Block.stoneBrick, 1, 0));
|
|
|
|
//Combiner recipes
|
|
RecipeHandler.addCombinerRecipe(new ItemStack(Item.redstone, 16), new ItemStack(Block.oreRedstone));
|
|
RecipeHandler.addCombinerRecipe(new ItemStack(Item.dyePowder, 16, 4), new ItemStack(Block.oreLapis));
|
|
|
|
//Osmium Compressor Recipes
|
|
RecipeHandler.addOsmiumCompressorRecipe(new ItemStack(Item.lightStoneDust), new ItemStack(Ingot, 1, 3));
|
|
|
|
//Crusher Recipes
|
|
RecipeHandler.addCrusherRecipe(new ItemStack(Item.diamond), new ItemStack(Dust, 1, 4));
|
|
RecipeHandler.addCrusherRecipe(new ItemStack(Item.ingotIron), new ItemStack(Dust, 1, 0));
|
|
RecipeHandler.addCrusherRecipe(new ItemStack(Item.ingotGold), new ItemStack(Dust, 1, 1));
|
|
RecipeHandler.addCrusherRecipe(new ItemStack(Block.gravel), new ItemStack(Item.flint));
|
|
RecipeHandler.addCrusherRecipe(new ItemStack(Block.stone), new ItemStack(Block.cobblestone));
|
|
RecipeHandler.addCrusherRecipe(new ItemStack(Block.cobblestone), new ItemStack(Block.sand));
|
|
RecipeHandler.addCrusherRecipe(new ItemStack(Block.stoneBrick, 1, 2), new ItemStack(Block.stone));
|
|
RecipeHandler.addCrusherRecipe(new ItemStack(Block.stoneBrick, 1, 0), new ItemStack(Block.stoneBrick, 1, 2));
|
|
RecipeHandler.addCrusherRecipe(new ItemStack(Block.stoneBrick, 1, 3), new ItemStack(Block.stoneBrick, 1, 0));
|
|
|
|
//Metallurgic Infuser Recipes
|
|
RecipeHandler.addMetallurgicInfuserRecipe(InfusionInput.getInfusion(InfuseRegistry.get("CARBON"), 10, new ItemStack(EnrichedIron)), new ItemStack(Dust, 1, 5));
|
|
|
|
if(InfuseRegistry.contains("BIO"))
|
|
{
|
|
RecipeHandler.addMetallurgicInfuserRecipe(InfusionInput.getInfusion(InfuseRegistry.get("BIO"), 10, new ItemStack(Block.cobblestone)), new ItemStack(Block.cobblestoneMossy));
|
|
RecipeHandler.addMetallurgicInfuserRecipe(InfusionInput.getInfusion(InfuseRegistry.get("BIO"), 10, new ItemStack(Block.stoneBrick, 1, 0)), new ItemStack(Block.stoneBrick, 1, 1));
|
|
}
|
|
|
|
InfuseRegistry.registerInfuseObject(new ItemStack(Item.coal, 1, 0), new InfuseObject(InfuseRegistry.get("CARBON"), 10));
|
|
InfuseRegistry.registerInfuseObject(new ItemStack(Item.coal, 1, 1), new InfuseObject(InfuseRegistry.get("CARBON"), 20));
|
|
InfuseRegistry.registerInfuseObject(new ItemStack(CompressedCarbon), new InfuseObject(InfuseRegistry.get("CARBON"), 100));
|
|
}
|
|
|
|
/**
|
|
* Adds all item and block names.
|
|
*/
|
|
public void addNames()
|
|
{
|
|
//Extras
|
|
LanguageRegistry.addName(ElectricBow, "Electric Bow");
|
|
LanguageRegistry.addName(ObsidianTNT, "Obsidian TNT");
|
|
|
|
if(extrasEnabled == true)
|
|
{
|
|
LanguageRegistry.addName(Stopwatch, "Steve's Stopwatch");
|
|
LanguageRegistry.addName(WeatherOrb, "Weather Orb");
|
|
}
|
|
|
|
LanguageRegistry.addName(EnrichedAlloy, "Enriched Alloy");
|
|
LanguageRegistry.addName(EnergyTablet, "Energy Tablet");
|
|
LanguageRegistry.addName(SpeedUpgrade, "Speed Upgrade");
|
|
LanguageRegistry.addName(EnergyUpgrade, "Energy Upgrade");
|
|
LanguageRegistry.addName(Robit, "Robit");
|
|
LanguageRegistry.addName(AtomicDisassembler, "Atomic Disassembler");
|
|
LanguageRegistry.addName(AtomicCore, "Atomic Core");
|
|
LanguageRegistry.addName(ElectricBow, "Electric Bow");
|
|
LanguageRegistry.addName(StorageTank, "Hydrogen Tank");
|
|
LanguageRegistry.addName(BoundingBlock, "Bounding Block");
|
|
LanguageRegistry.addName(GasTank, "Gas Tank");
|
|
LanguageRegistry.addName(StorageTank, "Storage Tank");
|
|
LanguageRegistry.addName(ControlCircuit, "Control Circuit");
|
|
LanguageRegistry.addName(EnrichedIron, "Enriched Iron");
|
|
LanguageRegistry.addName(CompressedCarbon, "Compressed Carbon");
|
|
LanguageRegistry.addName(PortableTeleporter, "Portable Teleporter");
|
|
LanguageRegistry.addName(TeleportationCore, "Teleportation Core");
|
|
LanguageRegistry.addName(Configurator, "Configurator");
|
|
|
|
//Localization for BasicBlock
|
|
LanguageRegistry.instance().addStringLocalization("tile.BasicBlock.OsmiumBlock.name", "Osmium Block");
|
|
LanguageRegistry.instance().addStringLocalization("tile.BasicBlock.BronzeBlock.name", "Bronze Block");
|
|
LanguageRegistry.instance().addStringLocalization("tile.BasicBlock.RefinedObsidian.name", "Refined Obsidian");
|
|
LanguageRegistry.instance().addStringLocalization("tile.BasicBlock.CoalBlock.name", "Coal Block");
|
|
LanguageRegistry.instance().addStringLocalization("tile.BasicBlock.RefinedGlowstone.name", "Refined Glowstone");
|
|
LanguageRegistry.instance().addStringLocalization("tile.BasicBlock.SteelBlock.name", "Steel Block");
|
|
LanguageRegistry.instance().addStringLocalization("tile.BasicBlock.ControlPanel.name", "Control Panel");
|
|
LanguageRegistry.instance().addStringLocalization("tile.BasicBlock.TeleporterFrame.name", "Teleporter Frame");
|
|
LanguageRegistry.instance().addStringLocalization("tile.BasicBlock.SteelCasing.name", "Steel Casing");
|
|
LanguageRegistry.instance().addStringLocalization("tile.BasicBlock.DynamicTank.name", "Dynamic Tank");
|
|
LanguageRegistry.instance().addStringLocalization("tile.BasicBlock.DynamicGlass.name", "Dynamic Glass");
|
|
LanguageRegistry.instance().addStringLocalization("tile.BasicBlock.DynamicValve.name", "Dynamic Valve");
|
|
|
|
//Localization for MachineBlock
|
|
LanguageRegistry.instance().addStringLocalization("tile.MachineBlock.EnrichmentChamber.name", "Enrichment Chamber");
|
|
LanguageRegistry.instance().addStringLocalization("tile.MachineBlock.OsmiumCompressor.name", "Osmium Compressor");
|
|
LanguageRegistry.instance().addStringLocalization("tile.MachineBlock.Combiner.name", "Combiner");
|
|
LanguageRegistry.instance().addStringLocalization("tile.MachineBlock.Crusher.name", "Crusher");
|
|
LanguageRegistry.instance().addStringLocalization("tile.MachineBlock.TheoreticalElementizer.name", "Theoretical Elementizer");
|
|
LanguageRegistry.instance().addStringLocalization("tile.MachineBlock.BasicFactory.name", "Basic Factory");
|
|
LanguageRegistry.instance().addStringLocalization("tile.MachineBlock.AdvancedFactory.name", "Advanced Factory");
|
|
LanguageRegistry.instance().addStringLocalization("tile.MachineBlock.EliteFactory.name", "Elite Factory");
|
|
LanguageRegistry.instance().addStringLocalization("tile.MachineBlock.MetallurgicInfuser.name", "Metallurgic Infuser");
|
|
LanguageRegistry.instance().addStringLocalization("tile.MachineBlock.PurificationChamber.name", "Purification Chamber");
|
|
LanguageRegistry.instance().addStringLocalization("tile.MachineBlock.EnergizedSmelter.name", "Energized Smelter");
|
|
LanguageRegistry.instance().addStringLocalization("tile.MachineBlock.Teleporter.name", "Teleporter");
|
|
LanguageRegistry.instance().addStringLocalization("tile.MachineBlock.ElectricPump.name", "Electric Pump");
|
|
LanguageRegistry.instance().addStringLocalization("tile.MachineBlock.ElectricChest.name", "Electric Chest");
|
|
LanguageRegistry.instance().addStringLocalization("tile.MachineBlock.Chargepad.name", "Chargepad");
|
|
|
|
//Localization for OreBlock
|
|
LanguageRegistry.instance().addStringLocalization("tile.OreBlock.OsmiumOre.name", "Osmium Ore");
|
|
|
|
//Localization for Transmitter
|
|
LanguageRegistry.instance().addStringLocalization("tile.Transmitter.PressurizedTube.name", "Pressurized Tube");
|
|
LanguageRegistry.instance().addStringLocalization("tile.Transmitter.UniversalCable.name", "Universal Cable");
|
|
LanguageRegistry.instance().addStringLocalization("tile.Transmitter.MechanicalPipe.name", "Mechanical Pipe");
|
|
|
|
//Localization for EnergyCube
|
|
LanguageRegistry.instance().addStringLocalization("tile.EnergyCube.Basic.name", "Basic Energy Cube");
|
|
LanguageRegistry.instance().addStringLocalization("tile.EnergyCube.Advanced.name", "Advanced Energy Cube");
|
|
LanguageRegistry.instance().addStringLocalization("tile.EnergyCube.Elite.name", "Elite Energy Cube");
|
|
LanguageRegistry.instance().addStringLocalization("tile.EnergyCube.Ultimate.name", "Ultimate Energy Cube");
|
|
|
|
//Localization for Dust
|
|
LanguageRegistry.instance().addStringLocalization("item.ironDust.name", "Iron Dust");
|
|
LanguageRegistry.instance().addStringLocalization("item.goldDust.name", "Gold Dust");
|
|
LanguageRegistry.instance().addStringLocalization("item.osmiumDust.name", "Osmium Dust");
|
|
LanguageRegistry.instance().addStringLocalization("item.obsidianDust.name", "Refined Obsidian Dust");
|
|
LanguageRegistry.instance().addStringLocalization("item.diamondDust.name", "Diamond Dust");
|
|
LanguageRegistry.instance().addStringLocalization("item.steelDust.name", "Steel Dust");
|
|
LanguageRegistry.instance().addStringLocalization("item.copperDust.name", "Copper Dust");
|
|
LanguageRegistry.instance().addStringLocalization("item.tinDust.name", "Tin Dust");
|
|
LanguageRegistry.instance().addStringLocalization("item.silverDust.name", "Silver Dust");
|
|
|
|
//Localization for Clump
|
|
LanguageRegistry.instance().addStringLocalization("item.ironClump.name", "Iron Clump");
|
|
LanguageRegistry.instance().addStringLocalization("item.goldClump.name", "Gold Clump");
|
|
LanguageRegistry.instance().addStringLocalization("item.osmiumClump.name", "Osmium Clump");
|
|
LanguageRegistry.instance().addStringLocalization("item.copperClump.name", "Copper Clump");
|
|
LanguageRegistry.instance().addStringLocalization("item.tinClump.name", "Tin Clump");
|
|
LanguageRegistry.instance().addStringLocalization("item.silverClump.name", "Silver Clump");
|
|
|
|
//Localization for Dirty Dust
|
|
LanguageRegistry.instance().addStringLocalization("item.dirtyIronDust.name", "Dirty Iron Dust");
|
|
LanguageRegistry.instance().addStringLocalization("item.dirtyGoldDust.name", "Dirty Gold Dust");
|
|
LanguageRegistry.instance().addStringLocalization("item.dirtyOsmiumDust.name", "Dirty Osmium Dust");
|
|
LanguageRegistry.instance().addStringLocalization("item.dirtyCopperDust.name", "Dirty Copper Dust");
|
|
LanguageRegistry.instance().addStringLocalization("item.dirtyTinDust.name", "Dirty Tin Dust");
|
|
LanguageRegistry.instance().addStringLocalization("item.dirtySilverDust.name", "Dirty Silver Dust");
|
|
LanguageRegistry.instance().addStringLocalization("item.dirtyObsidianDust.name", "Dirty Obsidian Dust");
|
|
|
|
//Localization for Ingot
|
|
LanguageRegistry.instance().addStringLocalization("item.obsidianIngot.name", "Obsidian Ingot");
|
|
LanguageRegistry.instance().addStringLocalization("item.osmiumIngot.name", "Osmium Ingot");
|
|
LanguageRegistry.instance().addStringLocalization("item.bronzeIngot.name", "Bronze Ingot");
|
|
LanguageRegistry.instance().addStringLocalization("item.glowstoneIngot.name", "Glowstone Ingot");
|
|
LanguageRegistry.instance().addStringLocalization("item.steelIngot.name", "Steel Ingot");
|
|
|
|
//Localization for Mekanism creative tab
|
|
LanguageRegistry.instance().addStringLocalization("itemGroup.tabMekanism", "Mekanism");
|
|
}
|
|
|
|
/**
|
|
* Adds and registers all items.
|
|
*/
|
|
public void addItems()
|
|
{
|
|
//Declarations
|
|
configuration.load();
|
|
ElectricBow = (ItemElectricBow) new ItemElectricBow(configuration.getItem("ElectricBow", 11200).getInt()).setUnlocalizedName("ElectricBow");
|
|
|
|
if(extrasEnabled == true)
|
|
{
|
|
Stopwatch = new ItemStopwatch(configuration.getItem("Stopwatch", 11202).getInt()).setUnlocalizedName("Stopwatch");
|
|
WeatherOrb = new ItemWeatherOrb(configuration.getItem("WeatherOrb", 11203).getInt()).setUnlocalizedName("WeatherOrb");
|
|
}
|
|
|
|
Dust = new ItemDust(configuration.getItem("Dust", 11204).getInt()-256);
|
|
Ingot = new ItemIngot(configuration.getItem("Ingot", 11205).getInt()-256);
|
|
EnergyTablet = (ItemEnergized) new ItemEnergized(configuration.getItem("EnergyTablet", 11206).getInt(), 1000000, 120).setUnlocalizedName("EnergyTablet");
|
|
SpeedUpgrade = new ItemMachineUpgrade(configuration.getItem("SpeedUpgrade", 11207).getInt(), 0, 150).setUnlocalizedName("SpeedUpgrade");
|
|
EnergyUpgrade = new ItemMachineUpgrade(configuration.getItem("EnergyUpgrade", 11208).getInt(), 1000, 0).setUnlocalizedName("EnergyUpgrade");
|
|
Robit = (ItemRobit) new ItemRobit(configuration.getItem("Robit", 11209).getInt()).setUnlocalizedName("Robit");
|
|
AtomicDisassembler = (ItemAtomicDisassembler) new ItemAtomicDisassembler(configuration.getItem("AtomicDisassembler", 11210).getInt()).setUnlocalizedName("AtomicDisassembler");
|
|
AtomicCore = new ItemMekanism(configuration.getItem("AtomicCore", 11211).getInt()).setUnlocalizedName("AtomicCore");
|
|
EnrichedAlloy = new ItemMekanism(configuration.getItem("EnrichedAlloy", 11212).getInt()).setUnlocalizedName("EnrichedAlloy");
|
|
StorageTank = (ItemStorageTank) new ItemStorageTank(configuration.getItem("StorageTank", 11213).getInt(), 1600, 16).setUnlocalizedName("StorageTank");
|
|
ControlCircuit = new ItemMekanism(configuration.getItem("ControlCircuit", 11214).getInt()).setUnlocalizedName("ControlCircuit");
|
|
EnrichedIron = new ItemMekanism(configuration.getItem("EnrichedIron", 11215).getInt()).setUnlocalizedName("EnrichedIron");
|
|
CompressedCarbon = new ItemMekanism(configuration.getItem("CompressedCarbon", 11216).getInt()).setUnlocalizedName("CompressedCarbon");
|
|
PortableTeleporter = new ItemPortableTeleporter(configuration.getItem("PortableTeleporter", 11217).getInt()).setUnlocalizedName("PortableTeleporter");
|
|
TeleportationCore = new ItemMekanism(configuration.getItem("TeleportationCore", 11218).getInt()).setUnlocalizedName("TeleportationCore");
|
|
Clump = new ItemClump(configuration.getItem("Clump", 11219).getInt()-256);
|
|
DirtyDust = new ItemDirtyDust(configuration.getItem("DirtyDust", 11220).getInt()-256);
|
|
Configurator = new ItemConfigurator(configuration.getItem("Configurator", 11221).getInt()).setUnlocalizedName("Configurator");
|
|
configuration.save();
|
|
|
|
//Registrations
|
|
GameRegistry.registerItem(ElectricBow, "ElectricBow");
|
|
|
|
if(extrasEnabled)
|
|
{
|
|
GameRegistry.registerItem(Stopwatch, "Stopwatch");
|
|
GameRegistry.registerItem(WeatherOrb, "WeatherOrb");
|
|
}
|
|
|
|
GameRegistry.registerItem(Dust, "Dust");
|
|
GameRegistry.registerItem(Ingot, "Ingot");
|
|
GameRegistry.registerItem(EnergyTablet, "EnergyTablet");
|
|
GameRegistry.registerItem(SpeedUpgrade, "SpeedUpgrade");
|
|
GameRegistry.registerItem(EnergyUpgrade, "EnergyUpgrade");
|
|
GameRegistry.registerItem(Robit, "Robit");
|
|
GameRegistry.registerItem(AtomicDisassembler, "AtomicDisassembler");
|
|
GameRegistry.registerItem(AtomicCore, "AtomicCore");
|
|
GameRegistry.registerItem(EnrichedAlloy, "EnrichedAlloy");
|
|
GameRegistry.registerItem(StorageTank, "StorageTank");
|
|
GameRegistry.registerItem(ControlCircuit, "ControlCircuit");
|
|
GameRegistry.registerItem(EnrichedIron, "EnrichedIron");
|
|
GameRegistry.registerItem(CompressedCarbon, "CompressedCarbon");
|
|
GameRegistry.registerItem(PortableTeleporter, "PortableTeleporter");
|
|
GameRegistry.registerItem(TeleportationCore, "TeleportationCore");
|
|
GameRegistry.registerItem(Clump, "Clump");
|
|
GameRegistry.registerItem(DirtyDust, "DirtyDust");
|
|
GameRegistry.registerItem(Configurator, "Configurator");
|
|
}
|
|
|
|
/**
|
|
* Adds and registers all blocks.
|
|
*/
|
|
public void addBlocks()
|
|
{
|
|
//Declarations
|
|
BasicBlock = new BlockBasic(basicBlockID).setUnlocalizedName("BasicBlock");
|
|
MachineBlock = new BlockMachine(machineBlockID).setUnlocalizedName("MachineBlock");
|
|
OreBlock = new BlockOre(oreBlockID).setUnlocalizedName("OreBlock");
|
|
EnergyCube = new BlockEnergyCube(energyCubeID).setUnlocalizedName("EnergyCube");
|
|
ObsidianTNT = new BlockObsidianTNT(obsidianTNTID).setUnlocalizedName("ObsidianTNT").setCreativeTab(tabMekanism);
|
|
BoundingBlock = (BlockBounding) new BlockBounding(boundingBlockID).setUnlocalizedName("BoundingBlock");
|
|
GasTank = new BlockGasTank(gasTankID).setUnlocalizedName("GasTank");
|
|
Transmitter = new BlockTransmitter(transmitterID).setUnlocalizedName("Transmitter");
|
|
|
|
//Registrations
|
|
GameRegistry.registerBlock(ObsidianTNT, "ObsidianTNT");
|
|
GameRegistry.registerBlock(BoundingBlock, "BoundingBlock");
|
|
GameRegistry.registerBlock(GasTank, "GasTank");
|
|
|
|
//Add block items into itemsList for blocks with common IDs.
|
|
Item.itemsList[basicBlockID] = new ItemBlockBasic(basicBlockID - 256, BasicBlock).setUnlocalizedName("BasicBlock");
|
|
Item.itemsList[machineBlockID] = new ItemBlockMachine(machineBlockID - 256, MachineBlock).setUnlocalizedName("MachineBlock");
|
|
Item.itemsList[oreBlockID] = new ItemBlockOre(oreBlockID - 256, OreBlock).setUnlocalizedName("OreBlock");
|
|
Item.itemsList[energyCubeID] = new ItemBlockEnergyCube(energyCubeID - 256, EnergyCube).setUnlocalizedName("EnergyCube");
|
|
Item.itemsList[transmitterID] = new ItemBlockTransmitter(transmitterID - 256, Transmitter).setUnlocalizedName("Transmitter");
|
|
}
|
|
|
|
/**
|
|
* Integrates the mod with other mods -- registering items and blocks with the Forge Ore Dictionary
|
|
* and adding machine recipes with other items' corresponding resources.
|
|
*/
|
|
public void addIntegratedItems()
|
|
{
|
|
OreDictionary.registerOre("dustIron", new ItemStack(Dust, 1, 0));
|
|
OreDictionary.registerOre("dustGold", new ItemStack(Dust, 1, 1));
|
|
OreDictionary.registerOre("dustOsmium", new ItemStack(Dust, 1, 2));
|
|
OreDictionary.registerOre("dustRefinedObsidian", new ItemStack(Dust, 1, 3));
|
|
OreDictionary.registerOre("dustDiamond", new ItemStack(Dust, 1, 4));
|
|
OreDictionary.registerOre("dustSteel", new ItemStack(Dust, 1, 5));
|
|
OreDictionary.registerOre("dustCopper", new ItemStack(Dust, 1, 6));
|
|
OreDictionary.registerOre("dustTin", new ItemStack(Dust, 1, 7));
|
|
OreDictionary.registerOre("dustSilver", new ItemStack(Dust, 1, 8));
|
|
|
|
OreDictionary.registerOre("ingotRefinedObsidian", new ItemStack(Ingot, 1, 0));
|
|
OreDictionary.registerOre("ingotOsmium", new ItemStack(Ingot, 1, 1));
|
|
OreDictionary.registerOre("ingotBronze", new ItemStack(Ingot, 1, 2));
|
|
OreDictionary.registerOre("ingotRefinedGlowstone", new ItemStack(Ingot, 1, 3));
|
|
OreDictionary.registerOre("ingotSteel", new ItemStack(Ingot, 1, 4));
|
|
|
|
OreDictionary.registerOre("blockOsmium", new ItemStack(BasicBlock, 1, 0));
|
|
OreDictionary.registerOre("blockBronze", new ItemStack(BasicBlock, 1, 1));
|
|
OreDictionary.registerOre("blockRefinedObsidian", new ItemStack(BasicBlock, 1, 2));
|
|
OreDictionary.registerOre("blockCoal", new ItemStack(BasicBlock, 1, 3));
|
|
OreDictionary.registerOre("blockRefinedGlowstone", new ItemStack(BasicBlock, 1, 4));
|
|
OreDictionary.registerOre("blockSteel", new ItemStack(BasicBlock, 1, 5));
|
|
|
|
OreDictionary.registerOre("dustDirtyIron", new ItemStack(DirtyDust, 1, 0));
|
|
OreDictionary.registerOre("dustDirtyGold", new ItemStack(DirtyDust, 1, 1));
|
|
OreDictionary.registerOre("dustDirtyOsmium", new ItemStack(DirtyDust, 1, 2));
|
|
OreDictionary.registerOre("dustDirtyCopper", new ItemStack(DirtyDust, 1, 3));
|
|
OreDictionary.registerOre("dustDirtyTin", new ItemStack(DirtyDust, 1, 4));
|
|
OreDictionary.registerOre("dustDirtySilver", new ItemStack(DirtyDust, 1, 5));
|
|
OreDictionary.registerOre("dustDirtyObsidian", new ItemStack(DirtyDust, 1, 6));
|
|
|
|
//for RailCraft. rc + mek = rawr
|
|
OreDictionary.registerOre("dustObsidian", new ItemStack(DirtyDust, 1, 6));
|
|
|
|
OreDictionary.registerOre("clumpIron", new ItemStack(Clump, 1, 0));
|
|
OreDictionary.registerOre("clumpGold", new ItemStack(Clump, 1, 1));
|
|
OreDictionary.registerOre("clumpOsmium", new ItemStack(Clump, 1, 2));
|
|
OreDictionary.registerOre("clumpCopper", new ItemStack(Clump, 1, 3));
|
|
OreDictionary.registerOre("clumpTin", new ItemStack(Clump, 1, 4));
|
|
OreDictionary.registerOre("clumpSilver", new ItemStack(Clump, 1, 5));
|
|
|
|
OreDictionary.registerOre("oreOsmium", new ItemStack(OreBlock, 1, 0));
|
|
|
|
try {
|
|
CraftingManagers.pulverizerManager.addRecipe(400, new ItemStack(OreBlock, 1, 0), new ItemStack(Dust, 2, 2), false);
|
|
|
|
CraftingManagers.pulverizerManager.addRecipe(40, new ItemStack(Mekanism.Ingot, 1, 1), new ItemStack(Mekanism.Dust, 1, 2), false);
|
|
CraftingManagers.pulverizerManager.addRecipe(40, new ItemStack(Mekanism.Ingot, 1, 0), new ItemStack(Mekanism.Dust, 1, 3), false);
|
|
CraftingManagers.pulverizerManager.addRecipe(40, new ItemStack(Mekanism.Ingot, 1, 3), new ItemStack(Item.lightStoneDust), false);
|
|
CraftingManagers.pulverizerManager.addRecipe(40, new ItemStack(Mekanism.Ingot, 1, 4), new ItemStack(Mekanism.Dust, 1, 5), false);
|
|
|
|
CraftingManagers.pulverizerManager.addRecipe(80, new ItemStack(Clump, 1, 0), new ItemStack(DirtyDust, 1, 0), false);
|
|
CraftingManagers.pulverizerManager.addRecipe(80, new ItemStack(Clump, 1, 1), new ItemStack(DirtyDust, 1, 1), false);
|
|
CraftingManagers.pulverizerManager.addRecipe(80, new ItemStack(Clump, 1, 2), new ItemStack(DirtyDust, 1, 2), false);
|
|
CraftingManagers.pulverizerManager.addRecipe(80, new ItemStack(Clump, 1, 3), new ItemStack(DirtyDust, 1, 3), false);
|
|
CraftingManagers.pulverizerManager.addRecipe(80, new ItemStack(Clump, 1, 4), new ItemStack(DirtyDust, 1, 4), false);
|
|
CraftingManagers.pulverizerManager.addRecipe(80, new ItemStack(Clump, 1, 5), new ItemStack(DirtyDust, 1, 5), false);
|
|
System.out.println("[Mekanism] Hooked into Thermal Expansion successfully.");
|
|
} catch(Exception e) {}
|
|
|
|
if(controlCircuitOreDict)
|
|
{
|
|
OreDictionary.registerOre("basicCircuit", new ItemStack(ControlCircuit));
|
|
}
|
|
|
|
OreDictionary.registerOre("itemCompressedCarbon", new ItemStack(CompressedCarbon));
|
|
OreDictionary.registerOre("itemEnrichedAlloy", new ItemStack(EnrichedAlloy));
|
|
|
|
if(hooks.IC2Loaded)
|
|
{
|
|
if(!hooks.RailcraftLoaded)
|
|
{
|
|
Recipes.macerator.addRecipe(new ItemStack(Block.obsidian), new ItemStack(DirtyDust, 1, 6));
|
|
}
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("dustRefinedObsidian"))
|
|
{
|
|
RecipeHandler.addOsmiumCompressorRecipe(MekanismUtils.size(ore, 1), new ItemStack(Ingot, 1, 0));
|
|
RecipeHandler.addCrusherRecipe(MekanismUtils.size(ore, 1), new ItemStack(DirtyDust, 1, 6));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("clumpIron"))
|
|
{
|
|
RecipeHandler.addCrusherRecipe(MekanismUtils.size(ore, 1), new ItemStack(DirtyDust, 1, 0));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("clumpGold"))
|
|
{
|
|
RecipeHandler.addCrusherRecipe(MekanismUtils.size(ore, 1), new ItemStack(DirtyDust, 1, 1));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("clumpOsmium"))
|
|
{
|
|
RecipeHandler.addCrusherRecipe(MekanismUtils.size(ore, 1), new ItemStack(DirtyDust, 1, 2));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("clumpCopper"))
|
|
{
|
|
RecipeHandler.addCrusherRecipe(MekanismUtils.size(ore, 1), new ItemStack(DirtyDust, 1, 3));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("clumpTin"))
|
|
{
|
|
RecipeHandler.addCrusherRecipe(MekanismUtils.size(ore, 1), new ItemStack(DirtyDust, 1, 4));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("clumpSilver"))
|
|
{
|
|
RecipeHandler.addCrusherRecipe(MekanismUtils.size(ore, 1), new ItemStack(DirtyDust, 1, 5));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("dustDirtyIron"))
|
|
{
|
|
RecipeHandler.addEnrichmentChamberRecipe(MekanismUtils.size(ore, 1), new ItemStack(Dust, 1, 0));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("dustDirtyGold"))
|
|
{
|
|
RecipeHandler.addEnrichmentChamberRecipe(MekanismUtils.size(ore, 1), new ItemStack(Dust, 1, 1));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("dustDirtyOsmium"))
|
|
{
|
|
RecipeHandler.addEnrichmentChamberRecipe(MekanismUtils.size(ore, 1), new ItemStack(Dust, 1, 2));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("dustDirtyCopper"))
|
|
{
|
|
RecipeHandler.addEnrichmentChamberRecipe(MekanismUtils.size(ore, 1), new ItemStack(Dust, 1, 6));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("dustDirtyTin"))
|
|
{
|
|
RecipeHandler.addEnrichmentChamberRecipe(MekanismUtils.size(ore, 1), new ItemStack(Dust, 1, 7));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("dustDirtySilver"))
|
|
{
|
|
RecipeHandler.addEnrichmentChamberRecipe(MekanismUtils.size(ore, 1), new ItemStack(Dust, 1, 8));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("oreCopper"))
|
|
{
|
|
RecipeHandler.addEnrichmentChamberRecipe(MekanismUtils.size(ore, 1), new ItemStack(Dust, 2, 6));
|
|
RecipeHandler.addPurificationChamberRecipe(MekanismUtils.size(ore, 1), new ItemStack(Clump, 3, 3));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("oreTin"))
|
|
{
|
|
RecipeHandler.addEnrichmentChamberRecipe(MekanismUtils.size(ore, 1), new ItemStack(Dust, 2, 7));
|
|
RecipeHandler.addPurificationChamberRecipe(MekanismUtils.size(ore, 1), new ItemStack(Clump, 3, 4));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("oreOsmium"))
|
|
{
|
|
RecipeHandler.addEnrichmentChamberRecipe(MekanismUtils.size(ore, 1), new ItemStack(Dust, 2, 2));
|
|
RecipeHandler.addPurificationChamberRecipe(MekanismUtils.size(ore, 1), new ItemStack(Clump, 3, 2));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("oreIron"))
|
|
{
|
|
RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Block.oreIron), new ItemStack(Dust, 2, 0));
|
|
RecipeHandler.addPurificationChamberRecipe(new ItemStack(Block.oreIron), new ItemStack(Clump, 3, 0));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("oreGold"))
|
|
{
|
|
RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Block.oreGold), new ItemStack(Dust, 2, 1));
|
|
RecipeHandler.addPurificationChamberRecipe(new ItemStack(Block.oreGold), new ItemStack(Clump, 3, 1));
|
|
}
|
|
|
|
try {
|
|
for(ItemStack ore : OreDictionary.getOres("oreLead"))
|
|
{
|
|
RecipeHandler.addEnrichmentChamberRecipe(MekanismUtils.size(ore, 1), MekanismUtils.size(OreDictionary.getOres("dustLead").get(0), 2));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("ingotLead"))
|
|
{
|
|
RecipeHandler.addCrusherRecipe(MekanismUtils.size(ore, 1), MekanismUtils.size(OreDictionary.getOres("dustLead").get(0), 1));
|
|
}
|
|
} catch(Exception e) {}
|
|
|
|
try {
|
|
for(ItemStack ore : OreDictionary.getOres("oreSilver"))
|
|
{
|
|
RecipeHandler.addEnrichmentChamberRecipe(MekanismUtils.size(ore, 1), new ItemStack(Dust, 2, 8));
|
|
RecipeHandler.addPurificationChamberRecipe(MekanismUtils.size(ore, 1), new ItemStack(Clump, 3, 5));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("ingotSilver"))
|
|
{
|
|
RecipeHandler.addCrusherRecipe(MekanismUtils.size(ore, 1), new ItemStack(Dust, 1, 8));
|
|
}
|
|
} catch(Exception e) {}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("ingotRefinedObsidian"))
|
|
{
|
|
RecipeHandler.addCrusherRecipe(MekanismUtils.size(ore, 1), new ItemStack(Dust, 1, 3));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("ingotOsmium"))
|
|
{
|
|
RecipeHandler.addCrusherRecipe(MekanismUtils.size(ore, 1), new ItemStack(Dust, 1, 2));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("ingotRedstone"))
|
|
{
|
|
RecipeHandler.addCrusherRecipe(MekanismUtils.size(ore, 1), new ItemStack(Item.redstone));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("ingotRefinedGlowstone"))
|
|
{
|
|
RecipeHandler.addCrusherRecipe(MekanismUtils.size(ore, 1), new ItemStack(Item.lightStoneDust));
|
|
}
|
|
|
|
try {
|
|
RecipeHandler.addCrusherRecipe(new ItemStack(Ingot, 1, 2), MekanismUtils.size(OreDictionary.getOres("dustBronze").get(0), 1));
|
|
|
|
if(hooks.IC2Loaded)
|
|
{
|
|
Recipes.macerator.addRecipe(new ItemStack(Ingot, 1, 2), MekanismUtils.size(OreDictionary.getOres("dustBronze").get(0), 1));
|
|
}
|
|
if(hooks.TELoaded)
|
|
{
|
|
CraftingManagers.pulverizerManager.addRecipe(40, new ItemStack(Ingot, 1, 2), MekanismUtils.size(OreDictionary.getOres("dustBronze").get(0), 1), false);
|
|
}
|
|
} catch(Exception e) {}
|
|
|
|
try {
|
|
FurnaceRecipes.smelting().addSmelting(Dust.itemID, 6, MekanismUtils.size(OreDictionary.getOres("ingotCopper").get(0), 1), 1.0F);
|
|
} catch(Exception e) {}
|
|
|
|
try {
|
|
FurnaceRecipes.smelting().addSmelting(Dust.itemID, 7, MekanismUtils.size(OreDictionary.getOres("ingotTin").get(0), 1), 1.0F);
|
|
} catch(Exception e) {}
|
|
|
|
try {
|
|
FurnaceRecipes.smelting().addSmelting(Dust.itemID, 8, MekanismUtils.size(OreDictionary.getOres("ingotSilver").get(0), 1), 1.0F);
|
|
} catch(Exception e) {}
|
|
|
|
try {
|
|
RecipeHandler.addCrusherRecipe(new ItemStack(Item.coal), MekanismUtils.size(OreDictionary.getOres("dustCoal").get(0), 1));
|
|
} catch(Exception e) {}
|
|
|
|
try {
|
|
RecipeHandler.addCrusherRecipe(new ItemStack(Item.coal, 1, 1), MekanismUtils.size(OreDictionary.getOres("dustCharcoal").get(0), 1));
|
|
} catch(Exception e) {}
|
|
|
|
try {
|
|
for(ItemStack ore : OreDictionary.getOres("ingotCopper"))
|
|
{
|
|
RecipeHandler.addCrusherRecipe(MekanismUtils.size(ore, 1), new ItemStack(Dust, 1, 6));
|
|
}
|
|
} catch(Exception e) {}
|
|
|
|
try {
|
|
for(ItemStack ore : OreDictionary.getOres("ingotTin"))
|
|
{
|
|
RecipeHandler.addCrusherRecipe(MekanismUtils.size(ore, 1), new ItemStack(Dust, 1, 7));
|
|
}
|
|
} catch(Exception e) {}
|
|
|
|
try {
|
|
for(ItemStack ore : OreDictionary.getOres("ingotSilver"))
|
|
{
|
|
RecipeHandler.addCrusherRecipe(MekanismUtils.size(ore, 1), new ItemStack(Dust, 1, 8));
|
|
}
|
|
} catch(Exception e) {}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("dustIron"))
|
|
{
|
|
RecipeHandler.addCombinerRecipe(MekanismUtils.size(ore, 8), new ItemStack(Block.oreIron));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("ingotSteel"))
|
|
{
|
|
RecipeHandler.addCrusherRecipe(MekanismUtils.size(ore, 1), new ItemStack(Dust, 1, 5));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("dustGold"))
|
|
{
|
|
RecipeHandler.addCombinerRecipe(MekanismUtils.size(ore, 8), new ItemStack(Block.oreGold));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("dustObsidian"))
|
|
{
|
|
RecipeHandler.addCombinerRecipe(MekanismUtils.size(ore, 1), new ItemStack(Block.obsidian));
|
|
RecipeHandler.addMetallurgicInfuserRecipe(InfusionInput.getInfusion(InfuseRegistry.get("DIAMOND"), 10, MekanismUtils.size(ore, 1)), new ItemStack(Dust, 1, 3));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("dustOsmium"))
|
|
{
|
|
RecipeHandler.addCombinerRecipe(MekanismUtils.size(ore, 8), new ItemStack(OreBlock, 1, 0));
|
|
}
|
|
|
|
for(ItemStack ore : OreDictionary.getOres("dustDiamond"))
|
|
{
|
|
InfuseRegistry.registerInfuseObject(ore, new InfuseObject(InfuseRegistry.get("DIAMOND"), 80));
|
|
RecipeHandler.addEnrichmentChamberRecipe(MekanismUtils.size(ore, 1), new ItemStack(Item.diamond));
|
|
}
|
|
|
|
try {
|
|
for(ItemStack ore : OreDictionary.getOres("dustCopper"))
|
|
{
|
|
RecipeHandler.addCombinerRecipe(MekanismUtils.size(ore, 8), MekanismUtils.size(OreDictionary.getOres("oreCopper").get(0), 1));
|
|
}
|
|
} catch(Exception e) {}
|
|
|
|
try {
|
|
for(ItemStack ore : OreDictionary.getOres("ingotCopper"))
|
|
{
|
|
RecipeHandler.addMetallurgicInfuserRecipe(InfusionInput.getInfusion(InfuseRegistry.get("TIN"), 10, MekanismUtils.size(ore, 1)), new ItemStack(Ingot, 1, 2));
|
|
}
|
|
} catch(Exception e) {}
|
|
|
|
try {
|
|
for(ItemStack ore : OreDictionary.getOres("dustTin"))
|
|
{
|
|
RecipeHandler.addCombinerRecipe(MekanismUtils.size(ore, 8), MekanismUtils.size(OreDictionary.getOres("oreTin").get(0), 1));
|
|
InfuseRegistry.registerInfuseObject(ore, new InfuseObject(InfuseRegistry.get("TIN"), 50));
|
|
}
|
|
} catch(Exception e) {}
|
|
|
|
try {
|
|
for(ItemStack ore : OreDictionary.getOres("dustLead"))
|
|
{
|
|
RecipeHandler.addCombinerRecipe(MekanismUtils.size(ore, 8), MekanismUtils.size(OreDictionary.getOres("oreLead").get(0), 1));
|
|
}
|
|
} catch(Exception e) {}
|
|
|
|
try {
|
|
for(ItemStack ore : OreDictionary.getOres("dustSilver"))
|
|
{
|
|
RecipeHandler.addCombinerRecipe(MekanismUtils.size(ore, 8), MekanismUtils.size(OreDictionary.getOres("oreSilver").get(0), 1));
|
|
}
|
|
} catch(Exception e) {}
|
|
|
|
if(hooks.MetallurgyCoreLoaded)
|
|
{
|
|
try {
|
|
String[] setNames = {"base", "precious", "nether", "fantasy", "ender", "utility"};
|
|
|
|
for(String setName : setNames )
|
|
{
|
|
for(IOreInfo oreInfo : MetallurgyAPI.getMetalSet(setName).getOreList().values())
|
|
{
|
|
switch(oreInfo.getType())
|
|
{
|
|
case ALLOY:
|
|
{
|
|
if(oreInfo.getIngot() != null && oreInfo.getDust() != null)
|
|
{
|
|
RecipeHandler.addCrusherRecipe(MekanismUtils.size(oreInfo.getIngot(), 1), MekanismUtils.size(oreInfo.getDust(), 1));
|
|
}
|
|
|
|
break;
|
|
}
|
|
case DROP:
|
|
{
|
|
ItemStack ore = oreInfo.getOre();
|
|
ItemStack drop = oreInfo.getDrop();
|
|
|
|
if(drop != null && ore != null)
|
|
{
|
|
RecipeHandler.addEnrichmentChamberRecipe(MekanismUtils.size(ore, 1), MekanismUtils.size(drop, 12));
|
|
}
|
|
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
ItemStack ore = oreInfo.getOre();
|
|
ItemStack dust = oreInfo.getDust();
|
|
ItemStack ingot = oreInfo.getIngot();
|
|
|
|
if(ore != null && dust != null)
|
|
{
|
|
RecipeHandler.addEnrichmentChamberRecipe(MekanismUtils.size(ore, 1), MekanismUtils.size(dust, 2));
|
|
RecipeHandler.addCombinerRecipe(MekanismUtils.size(dust, 8), MekanismUtils.size(ore, 1));
|
|
}
|
|
|
|
if(ingot != null && dust != null)
|
|
{
|
|
RecipeHandler.addCrusherRecipe(MekanismUtils.size(ingot, 1), MekanismUtils.size(dust, 1));
|
|
}
|
|
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} catch(Exception e) {}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Adds and registers all entities and tile entities.
|
|
*/
|
|
public void addEntities()
|
|
{
|
|
//Entity IDs
|
|
EntityRegistry.registerGlobalEntityID(EntityObsidianTNT.class, "ObsidianTNT", EntityRegistry.findGlobalUniqueEntityId());
|
|
EntityRegistry.registerGlobalEntityID(EntityRobit.class, "Robit", EntityRegistry.findGlobalUniqueEntityId());
|
|
|
|
//Registrations
|
|
EntityRegistry.registerModEntity(EntityObsidianTNT.class, "ObsidianTNT", 0, this, 40, 5, true);
|
|
EntityRegistry.registerModEntity(EntityRobit.class, "Robit", 1, this, 40, 5, true);
|
|
|
|
//Tile entities
|
|
GameRegistry.registerTileEntity(TileEntityEnergyCube.class, "EnergyCube");
|
|
GameRegistry.registerTileEntity(TileEntityBoundingBlock.class, "BoundingBlock");
|
|
GameRegistry.registerTileEntity(TileEntityControlPanel.class, "ControlPanel");
|
|
GameRegistry.registerTileEntity(TileEntityGasTank.class, "GasTank");
|
|
GameRegistry.registerTileEntity(TileEntityTeleporter.class, "MekanismTeleporter");
|
|
|
|
//Load tile entities that have special renderers.
|
|
proxy.registerSpecialTileEntities();
|
|
}
|
|
|
|
@ServerStarting
|
|
public void serverStarting(FMLServerStartingEvent event)
|
|
{
|
|
event.registerServerCommand(new CommandMekanism());
|
|
}
|
|
|
|
@ServerStopping
|
|
public void serverStopping(FMLServerStoppingEvent event)
|
|
{
|
|
teleporters.clear();
|
|
dynamicInventories.clear();
|
|
inventoryLocations.clear();
|
|
}
|
|
|
|
@PreInit
|
|
public void preInit(FMLPreInitializationEvent event)
|
|
{
|
|
File config = event.getSuggestedConfigurationFile();
|
|
|
|
//Set the mod's configuration
|
|
configuration = new Configuration(config);
|
|
|
|
if(config.getAbsolutePath().contains("voltz"))
|
|
{
|
|
System.out.println("[Mekanism] Detected Voltz in root directory - hello, fellow user!");
|
|
}
|
|
else if(config.getAbsolutePath().contains("tekkit"))
|
|
{
|
|
System.out.println("[Mekanism] Detected Tekkit in root directory - hello, fellow user!");
|
|
}
|
|
|
|
//Register infuses
|
|
InfuseRegistry.registerInfuseType(new InfuseType("CARBON", "/mods/mekanism/infuse/Infusions.png", 0, 0));
|
|
InfuseRegistry.registerInfuseType(new InfuseType("TIN", "/mods/mekanism/infuse/Infusions.png", 4, 0));
|
|
InfuseRegistry.registerInfuseType(new InfuseType("DIAMOND", "/mods/mekanism/infuse/Infusions.png", 8, 0));
|
|
}
|
|
|
|
@PostInit
|
|
public void postInit(FMLPostInitializationEvent event)
|
|
{
|
|
hooks = new MekanismHooks();
|
|
hooks.hook();
|
|
|
|
addIntegratedItems();
|
|
|
|
System.out.println("[Mekanism] Hooking complete.");
|
|
|
|
proxy.loadSoundHandler();
|
|
}
|
|
|
|
@Init
|
|
public void init(FMLInitializationEvent event)
|
|
{
|
|
//Register the mod's ore handler
|
|
GameRegistry.registerWorldGenerator(new OreHandler());
|
|
|
|
//Register the mod's GUI handler
|
|
NetworkRegistry.instance().registerGuiHandler(this, new CoreGuiHandler());
|
|
|
|
//Initialization notification
|
|
System.out.println("[Mekanism] Version " + versionNumber + " initializing...");
|
|
|
|
//Get data from server.
|
|
new ThreadGetData();
|
|
|
|
//Register to receive subscribed events
|
|
MinecraftForge.EVENT_BUS.register(this);
|
|
MinecraftForge.EVENT_BUS.register(new IC2EnergyHandler());
|
|
|
|
//Load configuration
|
|
proxy.loadConfiguration();
|
|
|
|
//Load this module
|
|
addItems();
|
|
addBlocks();
|
|
addNames();
|
|
addRecipes();
|
|
addEntities();
|
|
|
|
//Packet registrations
|
|
PacketHandler.registerPacket(PacketRobit.class);
|
|
PacketHandler.registerPacket(PacketTransmitterTransferUpdate.class);
|
|
PacketHandler.registerPacket(PacketTime.class);
|
|
PacketHandler.registerPacket(PacketWeather.class);
|
|
PacketHandler.registerPacket(PacketElectricChest.class);
|
|
PacketHandler.registerPacket(PacketElectricBowState.class);
|
|
PacketHandler.registerPacket(PacketConfiguratorState.class);
|
|
PacketHandler.registerPacket(PacketControlPanel.class);
|
|
PacketHandler.registerPacket(PacketTileEntity.class);
|
|
PacketHandler.registerPacket(PacketPortalFX.class);
|
|
PacketHandler.registerPacket(PacketDataRequest.class);
|
|
PacketHandler.registerPacket(PacketStatusUpdate.class);
|
|
PacketHandler.registerPacket(PacketDigitUpdate.class);
|
|
PacketHandler.registerPacket(PacketPortableTeleport.class);
|
|
|
|
//Load proxy
|
|
proxy.registerRenderInformation();
|
|
proxy.loadUtilities();
|
|
|
|
//Completion notification
|
|
System.out.println("[Mekanism] Loading complete.");
|
|
|
|
//Success message
|
|
logger.info("[Mekanism] Mod loaded.");
|
|
}
|
|
|
|
@ForgeSubscribe
|
|
public void onGasTransferred(GasTransferEvent event)
|
|
{
|
|
PacketHandler.sendPacket(Transmission.ALL_CLIENTS, new PacketTransmitterTransferUpdate().setParams(TransmitterTransferType.GAS, event.transferProtocol.pointer, event.transferProtocol.transferType));
|
|
}
|
|
|
|
@ForgeSubscribe
|
|
public void onLiquidTransferred(LiquidTransferEvent event)
|
|
{
|
|
PacketHandler.sendPacket(Transmission.ALL_CLIENTS, new PacketTransmitterTransferUpdate().setParams(TransmitterTransferType.LIQUID, event.transferProtocol.pointer, event.liquidSent));
|
|
}
|
|
|
|
@ForgeSubscribe
|
|
public void onEnergyTransferred(EnergyTransferEvent event)
|
|
{
|
|
PacketHandler.sendPacket(Transmission.ALL_CLIENTS, new PacketTransmitterTransferUpdate().setParams(TransmitterTransferType.ENERGY, event.transferProtocol.pointer));
|
|
}
|
|
} |