2012-11-05 14:29:04 -05:00
package mekanism.common ;
2012-08-18 23:29:38 -03:00
2016-01-12 18:41:15 -05:00
import java.io.File ;
import java.util.ArrayList ;
import java.util.HashMap ;
import java.util.HashSet ;
import java.util.Iterator ;
import java.util.List ;
import java.util.Map ;
import java.util.Set ;
import java.util.UUID ;
2013-12-20 16:09:09 -05:00
import mekanism.api.Coord4D ;
2013-12-22 00:42:46 -05:00
import mekanism.api.EnumColor ;
2014-01-12 21:23:34 -05:00
import mekanism.api.MekanismAPI ;
2014-02-01 19:02:51 -05:00
import mekanism.api.MekanismAPI.BoxBlacklistEvent ;
2014-08-02 00:10:29 -04:00
import mekanism.api.MekanismConfig.general ;
2015-02-24 10:59:03 -05:00
import mekanism.api.MekanismConfig.usage ;
2013-11-28 21:43:53 -05:00
import mekanism.api.gas.Gas ;
2013-08-26 18:49:32 -04:00
import mekanism.api.gas.GasNetwork.GasTransferEvent ;
2013-11-28 21:43:53 -05:00
import mekanism.api.gas.GasRegistry ;
2013-12-12 20:35:37 -05:00
import mekanism.api.gas.GasStack ;
2014-01-21 17:58:00 -05:00
import mekanism.api.gas.OreGas ;
2013-08-26 18:49:32 -04:00
import mekanism.api.infuse.InfuseObject ;
import mekanism.api.infuse.InfuseRegistry ;
import mekanism.api.infuse.InfuseType ;
2013-11-30 23:19:24 -05:00
import mekanism.api.transmitters.DynamicNetwork.ClientTickUpdate ;
2013-11-30 00:28:02 -05:00
import mekanism.api.transmitters.DynamicNetwork.NetworkClientRequest ;
2015-04-02 03:22:53 +01:00
import mekanism.api.transmitters.DynamicNetwork.TransmittersAddedEvent ;
2013-08-26 18:49:32 -04:00
import mekanism.api.transmitters.TransmitterNetworkRegistry ;
2013-11-30 23:19:24 -05:00
import mekanism.client.ClientTickHandler ;
2013-08-04 01:48:13 +01:00
import mekanism.common.EnergyNetwork.EnergyTransferEvent ;
2013-07-20 12:10:14 -04:00
import mekanism.common.FluidNetwork.FluidTransferEvent ;
2016-01-12 18:41:15 -05:00
import mekanism.common.Tier.BaseTier ;
import mekanism.common.Tier.EnergyCubeTier ;
import mekanism.common.Tier.FactoryTier ;
import mekanism.common.Tier.InductionCellTier ;
import mekanism.common.Tier.InductionProviderTier ;
2015-03-08 00:59:39 -06:00
import mekanism.common.base.IChunkLoadHandler ;
2014-08-09 22:20:49 -04:00
import mekanism.common.base.IFactory.RecipeType ;
2014-08-17 21:36:16 -04:00
import mekanism.common.base.IModule ;
2015-03-05 13:48:01 -05:00
import mekanism.common.block.BlockMachine.MachineType ;
2015-03-12 22:55:37 -05:00
import mekanism.common.chunkloading.ChunkManager ;
2015-01-09 02:50:18 +00:00
import mekanism.common.content.boiler.BoilerManager ;
2014-08-23 11:41:35 -04:00
import mekanism.common.content.boiler.SynchronizedBoilerData ;
2014-08-20 15:22:55 -04:00
import mekanism.common.content.matrix.SynchronizedMatrixData ;
import mekanism.common.content.tank.SynchronizedTankData ;
import mekanism.common.content.transporter.PathfinderCache ;
import mekanism.common.content.transporter.TransporterManager ;
2016-01-12 18:41:15 -05:00
import mekanism.common.entity.EntityBabySkeleton ;
import mekanism.common.entity.EntityBalloon ;
import mekanism.common.entity.EntityFlame ;
import mekanism.common.entity.EntityObsidianTNT ;
import mekanism.common.entity.EntityRobit ;
2015-03-11 10:58:15 -05:00
import mekanism.common.frequency.Frequency ;
import mekanism.common.frequency.FrequencyManager ;
2014-01-07 20:55:50 -05:00
import mekanism.common.integration.MekanismHooks ;
import mekanism.common.integration.OreDictManager ;
2014-08-01 13:04:31 -04:00
import mekanism.common.multiblock.MultiblockManager ;
2013-12-12 20:23:03 +00:00
import mekanism.common.multipart.MultipartMekanism ;
2014-06-11 11:57:49 +02:00
import mekanism.common.network.PacketDataRequest.DataRequestMessage ;
2016-01-25 00:13:42 -05:00
import mekanism.common.network.PacketSimpleGui ;
2014-06-14 01:35:25 +02:00
import mekanism.common.network.PacketTransmitterUpdate.PacketType ;
2014-06-11 11:57:49 +02:00
import mekanism.common.network.PacketTransmitterUpdate.TransmitterUpdateMessage ;
2014-02-01 19:02:51 -05:00
import mekanism.common.recipe.BinRecipe ;
2014-01-07 20:55:50 -05:00
import mekanism.common.recipe.RecipeHandler ;
2014-09-05 18:31:10 +01:00
import mekanism.common.recipe.RecipeHandler.Recipe ;
2016-01-12 18:41:15 -05:00
import mekanism.common.recipe.ShapedMekanismRecipe ;
import mekanism.common.recipe.ShapelessMekanismRecipe ;
2014-09-05 18:31:10 +01:00
import mekanism.common.recipe.inputs.ItemStackInput ;
import mekanism.common.recipe.machines.SmeltingRecipe ;
import mekanism.common.recipe.outputs.ItemStackOutput ;
2016-01-12 18:41:15 -05:00
import mekanism.common.tile.TileEntityAdvancedBoundingBlock ;
import mekanism.common.tile.TileEntityBoundingBlock ;
import mekanism.common.tile.TileEntityCardboardBox ;
import mekanism.common.tile.TileEntityElectricBlock ;
import mekanism.common.tile.TileEntityEntangledBlock ;
import mekanism.common.tile.TileEntitySolarEvaporationBlock ;
import mekanism.common.tile.TileEntitySolarEvaporationValve ;
2016-01-17 15:59:02 -05:00
import mekanism.common.tile.TileEntityThermoelectricBoiler ;
import mekanism.common.tile.TileEntityThermoelectricValve ;
2013-08-26 18:57:08 -04:00
import mekanism.common.util.MekanismUtils ;
2013-10-14 14:08:15 -04:00
import mekanism.common.voice.VoiceServerManager ;
2014-07-09 22:06:36 -04:00
import mekanism.common.world.GenHandler ;
2014-07-12 22:34:58 -04:00
import net.minecraft.entity.EnumCreatureType ;
2014-04-20 04:34:19 +01:00
import net.minecraft.init.Blocks ;
import net.minecraft.init.Items ;
2012-12-20 16:53:39 -05:00
import net.minecraft.item.ItemStack ;
import net.minecraft.item.crafting.CraftingManager ;
import net.minecraft.item.crafting.FurnaceRecipes ;
2014-07-09 22:06:36 -04:00
import net.minecraft.nbt.NBTTagCompound ;
2013-11-03 16:54:33 -05:00
import net.minecraft.tileentity.TileEntity ;
2014-07-09 22:06:36 -04:00
import net.minecraft.world.ChunkCoordIntPair ;
2014-07-12 22:34:58 -04:00
import net.minecraft.world.biome.BiomeGenBase ;
import net.minecraft.world.biome.WorldChunkManager ;
2015-03-12 22:55:37 -05:00
import net.minecraftforge.common.ForgeChunkManager ;
2012-12-20 16:53:39 -05:00
import net.minecraftforge.common.MinecraftForge ;
2014-06-02 23:57:40 +02:00
import net.minecraftforge.common.config.Configuration ;
2014-07-09 22:06:36 -04:00
import net.minecraftforge.event.world.ChunkDataEvent ;
2013-11-03 16:54:33 -05:00
import net.minecraftforge.event.world.ChunkEvent ;
2015-02-17 21:27:35 -05:00
import net.minecraftforge.fluids.Fluid ;
2014-01-02 04:02:00 +00:00
import net.minecraftforge.fluids.FluidRegistry ;
2014-04-06 01:16:09 +01:00
import net.minecraftforge.fluids.FluidStack ;
2012-11-02 22:27:30 -04:00
import net.minecraftforge.oredict.OreDictionary ;
2014-06-03 11:25:12 +02:00
import net.minecraftforge.oredict.RecipeSorter ;
import net.minecraftforge.oredict.RecipeSorter.Category ;
2016-01-12 18:41:15 -05:00
2015-02-17 21:27:35 -05:00
import org.apache.logging.log4j.LogManager ;
import org.apache.logging.log4j.Logger ;
2016-01-12 18:41:15 -05:00
2015-02-17 21:27:35 -05:00
import rebelkeithy.mods.metallurgy.api.IOreInfo ;
import rebelkeithy.mods.metallurgy.api.MetallurgyAPI ;
2016-01-12 18:41:15 -05:00
import codechicken.multipart.handler.MultipartProxy ;
2015-05-23 11:36:53 -04:00
2016-01-12 18:41:15 -05:00
import com.mojang.authlib.GameProfile ;
import cpw.mods.fml.client.event.ConfigChangedEvent ;
import cpw.mods.fml.common.FMLCommonHandler ;
import cpw.mods.fml.common.IFuelHandler ;
import cpw.mods.fml.common.Loader ;
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.FMLInterModComms ;
import cpw.mods.fml.common.event.FMLLoadCompleteEvent ;
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.eventhandler.SubscribeEvent ;
import cpw.mods.fml.common.network.NetworkRegistry ;
import cpw.mods.fml.common.registry.EntityRegistry ;
import cpw.mods.fml.common.registry.GameRegistry ;
2012-08-15 16:41:41 -04:00
/**
2014-06-19 15:44:08 +02:00
* Mekanism - a Minecraft mod
2012-08-15 16:41:41 -04:00
* @author AidanBrady
2013-12-01 00:04:20 -05:00
*
2012-08-15 16:41:41 -04:00
*/
2016-01-17 15:59:02 -05:00
@Mod ( modid = "Mekanism" , name = "Mekanism" , version = "9.0.0" , guiFactory = "mekanism.client.gui.ConfigGuiFactory" ,
2015-03-16 15:47:18 +00:00
dependencies = "after:ForgeMultipart;after:BuildCraft;after:BuildCraftAPI;after:IC2;after:CoFHCore;" +
"after:ComputerCraft;after:Galacticraft API;after:MetallurgyCore" )
2012-11-05 14:29:04 -05:00
public class Mekanism
2012-08-15 16:41:41 -04:00
{
2014-04-20 04:34:19 +01:00
/** Mekanism Packet Pipeline */
2014-06-11 11:57:49 +02:00
public static PacketHandler packetHandler = new PacketHandler ();
2014-04-20 04:34:19 +01:00
2012-11-05 14:29:04 -05:00
/** Mekanism logger instance */
2014-06-03 08:46:03 +02:00
public static Logger logger = LogManager . getLogger ( "Mekanism" );
2013-12-01 00:04:20 -05:00
2012-11-05 14:29:04 -05:00
/** Mekanism proxy instance */
@SidedProxy ( clientSide = "mekanism.client.ClientProxy" , serverSide = "mekanism.common.CommonProxy" )
2012-08-15 16:41:41 -04:00
public static CommonProxy proxy ;
2013-12-01 00:04:20 -05:00
/** Mekanism mod instance */
2012-11-05 14:29:04 -05:00
@Instance ( "Mekanism" )
2013-12-01 00:04:20 -05:00
public static Mekanism instance ;
/** Mekanism hooks instance */
2015-07-20 10:53:12 -07:00
public static MekanismHooks hooks = new MekanismHooks ();
2013-12-01 00:04:20 -05:00
/** Mekanism configuration instance */
public static Configuration configuration ;
2012-11-05 14:29:04 -05:00
/** Mekanism version number */
2016-01-17 15:59:02 -05:00
public static Version versionNumber = new Version ( 9 , 0 , 0 );
2013-12-01 00:04:20 -05:00
2014-08-23 11:41:35 -04:00
/** MultiblockManagers for various structrures */
2015-03-25 21:49:07 -04:00
public static MultiblockManager < SynchronizedTankData > tankManager = new MultiblockManager < SynchronizedTankData > ( "dynamicTank" );
public static MultiblockManager < SynchronizedMatrixData > matrixManager = new MultiblockManager < SynchronizedMatrixData > ( "inductionMatrix" );
2015-01-09 02:50:18 +00:00
public static MultiblockManager < SynchronizedBoilerData > boilerManager = new BoilerManager ( "thermoelectricBoiler" );
2014-08-19 12:40:57 -04:00
2015-03-11 10:58:15 -05:00
/** FrequencyManagers for various networks */
2015-03-11 17:42:33 -05:00
public static FrequencyManager publicTeleporters = new FrequencyManager ( Frequency . class );
public static Map < String , FrequencyManager > privateTeleporters = new HashMap < String , FrequencyManager > ();
2015-03-11 10:58:15 -05:00
2012-11-05 14:29:04 -05:00
/** Mekanism creative tab */
public static CreativeTabMekanism tabMekanism = new CreativeTabMekanism ();
2013-12-01 00:04:20 -05:00
2013-04-05 16:26:48 -04:00
/** List of Mekanism modules loaded */
2013-04-06 13:28:59 -04:00
public static List < IModule > modulesLoaded = new ArrayList < IModule > ();
2013-12-01 00:04:20 -05:00
2012-11-05 14:29:04 -05:00
/** The latest version number which is received from the Mekanism server */
2012-08-15 16:41:41 -04:00
public static String latestVersionNumber ;
2013-12-01 00:04:20 -05:00
2012-11-05 14:29:04 -05:00
/** The recent news which is received from the Mekanism server */
2012-08-15 16:41:41 -04:00
public static String recentNews ;
2013-12-01 00:04:20 -05:00
2013-10-13 22:50:21 -04:00
/** The VoiceServer manager for walkie talkies */
public static VoiceServerManager voiceManager ;
2013-12-01 00:04:20 -05:00
2013-06-21 11:47:01 -04:00
/** A list of the usernames of players who have donated to Mekanism. */
public static List < String > donators = new ArrayList < String > ();
2013-12-01 00:04:20 -05:00
2014-07-20 15:27:35 -04:00
/** The server's world tick handler. */
2014-07-09 22:06:36 -04:00
public static CommonWorldTickHandler worldTickHandler = new CommonWorldTickHandler ();
/** The Mekanism world generation handler. */
public static GenHandler genHandler = new GenHandler ();
/** The version of ore generation in this version of Mekanism. Increment this every time the default ore generation changes. */
public static int baseWorldGenVersion = 0 ;
2015-05-23 11:36:53 -04:00
/** The GameProfile used by the dummy Mekanism player */
public static GameProfile gameProfile = new GameProfile ( UUID . nameUUIDFromBytes ( "mekanism.common" . getBytes ()), "[Mekanism]" );
2013-12-05 22:39:54 -05:00
public static KeySync keyMap = new KeySync ();
2013-12-05 16:42:00 -05:00
2013-12-09 17:34:53 -05:00
public static Set < String > jetpackOn = new HashSet < String > ();
public static Set < String > gasmaskOn = new HashSet < String > ();
2014-07-17 17:18:53 -04:00
public static Set < String > flamethrowerActive = new HashSet < String > ();
2013-12-01 00:04:20 -05:00
2014-03-15 20:05:26 -04:00
public static Set < Coord4D > activeVibrators = new HashSet < Coord4D > ();
2014-04-10 03:05:28 +01:00
2012-08-15 16:41:41 -04:00
/**
2014-06-19 15:44:08 +02:00
* Adds all in-game crafting, smelting and machine recipes.
2012-08-15 16:41:41 -04:00
*/
public void addRecipes ()
{
2013-12-01 00:04:20 -05:00
//Storage Recipes
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . BasicBlock , 1 , 3 ), new Object [] {
2014-04-20 04:34:19 +01:00
"***" , "***" , "***" , Character . valueOf ( '*' ), new ItemStack ( Items . coal , 1 , 1 )
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( Items . coal , 9 , 1 ), new Object [] {
2014-08-01 00:58:12 +01:00
"*" , Character . valueOf ( '*' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 3 )
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . BasicBlock , 1 , 2 ), new Object [] {
2013-12-01 00:04:20 -05:00
"***" , "***" , "***" , Character . valueOf ( '*' ), "ingotRefinedObsidian"
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . Ingot , 9 , 0 ), new Object [] {
2014-08-01 00:58:12 +01:00
"*" , Character . valueOf ( '*' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 2 )
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . BasicBlock , 1 , 4 ), new Object [] {
2013-12-01 00:04:20 -05:00
"***" , "***" , "***" , Character . valueOf ( '*' ), "ingotRefinedGlowstone"
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . Ingot , 9 , 3 ), new Object [] {
2014-08-01 00:58:12 +01:00
"*" , Character . valueOf ( '*' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 4 )
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . BasicBlock , 1 , 0 ), new Object [] {
2013-12-01 00:04:20 -05:00
"XXX" , "XXX" , "XXX" , Character . valueOf ( 'X' ), "ingotOsmium"
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . Ingot , 9 , 1 ), new Object [] {
2014-08-01 00:58:12 +01:00
"*" , Character . valueOf ( '*' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 0 )
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . BasicBlock , 1 , 1 ), new Object [] {
2013-12-01 00:04:20 -05:00
"***" , "***" , "***" , Character . valueOf ( '*' ), "ingotBronze"
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . Ingot , 9 , 2 ), new Object [] {
2014-08-01 00:58:12 +01:00
"*" , Character . valueOf ( '*' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 1 )
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . BasicBlock , 1 , 5 ), new Object [] {
2013-12-01 00:04:20 -05:00
"***" , "***" , "***" , Character . valueOf ( '*' ), "ingotSteel"
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . Ingot , 9 , 4 ), new Object [] {
2014-08-01 00:58:12 +01:00
"*" , Character . valueOf ( '*' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 5 )
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . BasicBlock , 1 , 12 ), new Object [] {
2013-12-02 20:52:44 -05:00
"***" , "***" , "***" , Character . valueOf ( '*' ), "ingotCopper"
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . Ingot , 9 , 5 ), new Object [] {
2014-08-01 00:58:12 +01:00
"*" , Character . valueOf ( '*' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 12 )
2013-12-02 20:52:44 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . BasicBlock , 1 , 13 ), new Object [] {
2013-12-02 20:52:44 -05:00
"***" , "***" , "***" , Character . valueOf ( '*' ), "ingotTin"
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . Ingot , 9 , 6 ), new Object [] {
2014-08-01 00:58:12 +01:00
"*" , Character . valueOf ( '*' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 13 )
2013-12-02 20:52:44 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . SaltBlock ), new Object [] {
2014-08-01 00:58:12 +01:00
"**" , "**" , Character . valueOf ( '*' ), MekanismItems . Salt
2014-07-09 22:06:36 -04:00
}));
2013-12-01 00:04:20 -05:00
//Base Recipes
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . ObsidianTNT , 1 ), new Object [] {
2014-04-20 04:34:19 +01:00
"***" , "XXX" , "***" , Character . valueOf ( '*' ), Blocks . obsidian , Character . valueOf ( 'X' ), Blocks . tnt
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismItems . ElectricBow . getUnchargedItem (), new Object [] {
2014-08-01 00:58:12 +01:00
" AB" , "E B" , " AB" , Character . valueOf ( 'A' ), MekanismItems . EnrichedAlloy , Character . valueOf ( 'B' ), Items . string , Character . valueOf ( 'E' ), MekanismItems . EnergyTablet . getUnchargedItem ()
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismItems . EnergyTablet . getUnchargedItem (), new Object [] {
2015-02-24 10:42:55 -05:00
"RCR" , "ECE" , "RCR" , Character . valueOf ( 'C' ), "ingotGold" , Character . valueOf ( 'R' ), "dustRedstone" , Character . valueOf ( 'E' ), MekanismItems . EnrichedAlloy
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
MachineType . ENRICHMENT_CHAMBER . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock , 1 , 0 ), new Object [] {
2015-05-10 19:45:09 -04:00
"RCR" , "iIi" , "RCR" , Character . valueOf ( 'i' ), "ingotIron" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 'R' ), "alloyBasic" , Character . valueOf ( 'I' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 8 )
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
MachineType . OSMIUM_COMPRESSOR . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock , 1 , 1 ), new Object [] {
2015-05-10 19:45:09 -04:00
"ECE" , "BIB" , "ECE" , Character . valueOf ( 'E' ), "alloyAdvanced" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . ADVANCED ), Character . valueOf ( 'B' ), Items . bucket , Character . valueOf ( 'I' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 8 )
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
MachineType . COMBINER . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock , 1 , 2 ), new Object [] {
2015-05-10 19:45:09 -04:00
"RCR" , "SIS" , "RCR" , Character . valueOf ( 'S' ), Blocks . cobblestone , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . ELITE ), Character . valueOf ( 'R' ), "alloyElite" , Character . valueOf ( 'I' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 8 )
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
MachineType . CRUSHER . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock , 1 , 3 ), new Object [] {
2015-05-10 19:45:09 -04:00
"RCR" , "LIL" , "RCR" , Character . valueOf ( 'R' ), "dustRedstone" , Character . valueOf ( 'L' ), Items . lava_bucket , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 'I' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 8 )
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . SpeedUpgrade ), new Object [] {
2015-03-22 14:41:47 +00:00
" G " , "ADA" , " G " , Character . valueOf ( 'G' ), "blockGlass" , Character . valueOf ( 'A' ), MekanismItems . EnrichedAlloy , Character . valueOf ( 'D' ), "dustOsmium"
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . EnergyUpgrade ), new Object [] {
2014-08-01 00:58:12 +01:00
" G " , "ADA" , " G " , Character . valueOf ( 'G' ), "blockGlass" , Character . valueOf ( 'A' ), MekanismItems . EnrichedAlloy , Character . valueOf ( 'D' ), "dustGold"
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . FilterUpgrade ), new Object [] {
2015-02-17 21:27:35 -05:00
" G " , "ADA" , " G " , Character . valueOf ( 'G' ), "blockGlass" , Character . valueOf ( 'A' ), MekanismItems . EnrichedAlloy , Character . valueOf ( 'D' ), "dustTin"
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . GasUpgrade ), new Object [] {
2015-03-22 14:41:47 +00:00
" G " , "ADA" , " G " , Character . valueOf ( 'G' ), "blockGlass" , Character . valueOf ( 'A' ), MekanismItems . EnrichedAlloy , Character . valueOf ( 'D' ), "dustIron"
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismItems . AtomicDisassembler . getUnchargedItem (), new Object [] {
2014-08-01 00:58:12 +01:00
"AEA" , "ACA" , " O " , Character . valueOf ( 'A' ), MekanismItems . EnrichedAlloy , Character . valueOf ( 'E' ), MekanismItems . EnergyTablet . getUnchargedItem (), Character . valueOf ( 'C' ), MekanismItems . AtomicAlloy , Character . valueOf ( 'O' ), "ingotRefinedObsidian"
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismUtils . getEmptyGasTank (), new Object [] {
2013-12-01 00:04:20 -05:00
"PPP" , "PDP" , "PPP" , Character . valueOf ( 'P' ), "ingotOsmium" , Character . valueOf ( 'D' ), "dustIron"
}));
2016-01-12 18:41:15 -05:00
MachineType . METALLURGIC_INFUSER . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock , 1 , 8 ), new Object [] {
2015-02-24 10:32:41 -05:00
"IFI" , "ROR" , "IFI" , Character . valueOf ( 'I' ), "ingotIron" , Character . valueOf ( 'F' ), Blocks . furnace , Character . valueOf ( 'R' ), "dustRedstone" , Character . valueOf ( 'O' ), "ingotOsmium"
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . TeleportationCore ), new Object [] {
2015-02-24 10:42:55 -05:00
"LAL" , "GDG" , "LAL" , Character . valueOf ( 'L' ), new ItemStack ( Items . dye , 1 , 4 ), Character . valueOf ( 'A' ), MekanismItems . AtomicAlloy , Character . valueOf ( 'G' ), "ingotGold" , Character . valueOf ( 'D' ), Items . diamond
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismItems . PortableTeleporter . getUnchargedItem (), new Object [] {
2015-05-10 19:45:09 -04:00
" E " , "CTC" , " E " , Character . valueOf ( 'E' ), MekanismItems . EnergyTablet . getUnchargedItem (), Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 'T' ), MekanismItems . TeleportationCore
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
MachineType . TELEPORTER . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock , 1 , 11 ), new Object [] {
2015-05-10 19:45:09 -04:00
"COC" , "OTO" , "COC" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 'O' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 8 ), Character . valueOf ( 'T' ), MekanismItems . TeleportationCore
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
MachineType . PURIFICATION_CHAMBER . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock , 1 , 9 ), new Object [] {
2015-05-10 19:45:09 -04:00
"ECE" , "ORO" , "ECE" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . ADVANCED ), Character . valueOf ( 'E' ), "alloyAdvanced" , Character . valueOf ( 'O' ), "ingotOsmium" , Character . valueOf ( 'R' ), new ItemStack ( MekanismBlocks . MachineBlock , 1 , 0 )
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismItems . Configurator . getUnchargedItem (), new Object [] {
2014-08-01 00:58:12 +01:00
" L " , "AEA" , " S " , Character . valueOf ( 'L' ), new ItemStack ( Items . dye , 1 , 4 ), Character . valueOf ( 'A' ), MekanismItems . EnrichedAlloy , Character . valueOf ( 'E' ), MekanismItems . EnergyTablet . getUnchargedItem (), Character . valueOf ( 'S' ), Items . stick
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . BasicBlock , 9 , 7 ), new Object [] {
2013-12-01 00:04:20 -05:00
"OOO" , "OGO" , "OOO" , Character . valueOf ( 'O' ), "ingotRefinedObsidian" , Character . valueOf ( 'G' ), "ingotRefinedGlowstone"
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . BasicBlock , 1 , 8 ), new Object [] {
2013-12-01 00:04:20 -05:00
" S " , "SPS" , " S " , Character . valueOf ( 'S' ), "ingotSteel" , Character . valueOf ( 'P' ), "ingotOsmium"
}));
2016-01-12 18:41:15 -05:00
MachineType . ENERGIZED_SMELTER . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock , 1 , 10 ), new Object [] {
2015-05-10 19:45:09 -04:00
"RCR" , "GIG" , "RCR" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 'R' ), "alloyBasic" , Character . valueOf ( 'G' ), "blockGlass" , Character . valueOf ( 'I' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 8 )
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
MachineType . ELECTRIC_PUMP . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock , 1 , 12 ), new Object [] {
2014-08-01 00:58:12 +01:00
" B " , "ECE" , "OOO" , Character . valueOf ( 'B' ), Items . bucket , Character . valueOf ( 'E' ), MekanismItems . EnrichedAlloy , Character . valueOf ( 'C' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 8 ), Character . valueOf ( 'O' ), "ingotOsmium"
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
MachineType . ELECTRIC_CHEST . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock , 1 , 13 ), new Object [] {
2015-05-10 19:45:09 -04:00
"SGS" , "CcC" , "SSS" , Character . valueOf ( 'S' ), "ingotSteel" , Character . valueOf ( 'G' ), "blockGlass" , Character . valueOf ( 'C' ), Blocks . chest , Character . valueOf ( 'c' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC )
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . BasicBlock , 4 , 9 ), new Object [] {
2015-03-04 20:54:03 -05:00
" I " , "IBI" , " I " , Character . valueOf ( 'I' ), "ingotSteel" , Character . valueOf ( 'B' ), Items . bucket
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . BasicBlock , 4 , 10 ), new Object [] {
2015-03-04 20:54:03 -05:00
" I " , "IGI" , " I " , Character . valueOf ( 'I' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 9 ), Character . valueOf ( 'G' ), "blockGlass"
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . BasicBlock , 2 , 11 ), new Object [] {
2015-05-10 19:45:09 -04:00
" I " , "ICI" , " I " , Character . valueOf ( 'I' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 9 ), Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC )
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
MachineType . CHARGEPAD . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock , 1 , 14 ), new Object [] {
2014-08-01 00:58:12 +01:00
"PPP" , "SES" , Character . valueOf ( 'P' ), Blocks . stone_pressure_plate , Character . valueOf ( 'S' ), "ingotSteel" , Character . valueOf ( 'E' ), MekanismItems . EnergyTablet . getUnchargedItem ()
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismItems . Robit . getUnchargedItem (), new Object [] {
2014-08-01 00:58:12 +01:00
" S " , "ECE" , "OIO" , Character . valueOf ( 'S' ), "ingotSteel" , Character . valueOf ( 'E' ), MekanismItems . EnergyTablet . getUnchargedItem (), Character . valueOf ( 'C' ), MekanismItems . AtomicAlloy , Character . valueOf ( 'O' ), "ingotRefinedObsidian" , Character . valueOf ( 'I' ), new ItemStack ( MekanismBlocks . MachineBlock , 1 , 13 )
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismItems . NetworkReader . getUnchargedItem (), new Object [] {
2014-08-01 00:58:12 +01:00
" G " , "AEA" , " I " , Character . valueOf ( 'G' ), "blockGlass" , Character . valueOf ( 'A' ), MekanismItems . EnrichedAlloy , Character . valueOf ( 'E' ), MekanismItems . EnergyTablet . getUnchargedItem (), Character . valueOf ( 'I' ), "ingotSteel"
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . WalkieTalkie ), new Object [] {
2015-05-10 19:45:09 -04:00
" O" , "SCS" , " S " , Character . valueOf ( 'O' ), "ingotOsmium" , Character . valueOf ( 'S' ), "ingotSteel" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC )
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
MachineType . LOGISTICAL_SORTER . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock , 1 , 15 ), new Object [] {
2015-05-10 19:45:09 -04:00
"IPI" , "ICI" , "III" , Character . valueOf ( 'I' ), "ingotIron" , Character . valueOf ( 'P' ), Blocks . piston , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC )
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . BasicBlock , 1 , 6 ), new Object [] {
2015-05-10 19:45:09 -04:00
"SSS" , "SCS" , "SSS" , Character . valueOf ( 'S' ), Blocks . cobblestone , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC )
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
MachineType . DIGITAL_MINER . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock , 1 , 4 ), new Object [] {
2015-05-10 19:45:09 -04:00
"ACA" , "SES" , "TIT" , Character . valueOf ( 'A' ), MekanismItems . AtomicAlloy , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 'S' ), new ItemStack ( MekanismBlocks . MachineBlock , 1 , 15 ), Character . valueOf ( 'E' ), MekanismItems . Robit . getUnchargedItem (),
2014-08-01 00:58:12 +01:00
Character . valueOf ( 'I' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 8 ), Character . valueOf ( 'T' ), MekanismItems . TeleportationCore
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
MachineType . ROTARY_CONDENSENTRATOR . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock2 , 1 , 0 ), new Object [] {
2015-06-15 12:39:48 -04:00
"GCG" , "tEI" , "GCG" , Character . valueOf ( 'G' ), "blockGlass" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 't' ), MekanismUtils . getEmptyGasTank (), Character . valueOf ( 'E' ), MekanismItems . EnergyTablet . getUnchargedItem (),
2015-06-11 19:59:19 -04:00
Character . valueOf ( 'T' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 9 ), Character . valueOf ( 'I' ), new ItemStack ( MekanismBlocks . MachineBlock2 , 1 , 11 )
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismItems . Jetpack . getEmptyItem (), new Object [] {
2015-05-10 19:45:09 -04:00
"SCS" , "TGT" , " T " , Character . valueOf ( 'S' ), "ingotSteel" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 'T' ), "ingotTin" , Character . valueOf ( 'G' ), MekanismUtils . getEmptyGasTank ()
2013-12-05 21:10:15 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . Dictionary ), new Object [] {
2015-05-10 19:45:09 -04:00
"C" , "B" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 'B' ), Items . book
2013-12-09 20:52:49 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . GasMask ), new Object [] {
2015-05-10 19:45:09 -04:00
" S " , "GCG" , "S S" , Character . valueOf ( 'S' ), "ingotSteel" , Character . valueOf ( 'G' ), "blockGlass" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC )
2013-12-15 18:54:43 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismItems . ScubaTank . getEmptyItem (), new Object [] {
2015-05-10 19:45:09 -04:00
" C " , "ATA" , "SSS" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 'A' ), MekanismItems . EnrichedAlloy , Character . valueOf ( 'S' ), "ingotSteel"
2013-12-15 18:54:43 -05:00
}));
2016-01-12 18:41:15 -05:00
MachineType . CHEMICAL_OXIDIZER . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock2 , 1 , 1 ), new Object [] {
2015-05-10 19:45:09 -04:00
"ACA" , "ERG" , "ACA" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 'R' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 9 ), Character . valueOf ( 'G' ), MekanismUtils . getEmptyGasTank (), Character . valueOf ( 'E' ), new ItemStack ( MekanismBlocks . MachineBlock , 1 , 13 ), Character . valueOf ( 'A' ), MekanismItems . EnrichedAlloy
2014-01-01 00:58:58 -05:00
}));
2016-01-12 18:41:15 -05:00
MachineType . CHEMICAL_INFUSER . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock2 , 1 , 2 ), new Object [] {
2015-05-10 19:45:09 -04:00
"ACA" , "GRG" , "ACA" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 'R' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 9 ), Character . valueOf ( 'G' ), MekanismUtils . getEmptyGasTank (), Character . valueOf ( 'A' ), MekanismItems . EnrichedAlloy
2014-01-01 00:58:58 -05:00
}));
2016-01-12 18:41:15 -05:00
MachineType . CHEMICAL_INJECTION_CHAMBER . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock2 , 1 , 3 ), new Object [] {
2015-05-10 19:45:09 -04:00
"RCR" , "GPG" , "RCR" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . ELITE ), Character . valueOf ( 'R' ), "alloyElite" , Character . valueOf ( 'G' ), "ingotGold" , Character . valueOf ( 'P' ), new ItemStack ( MekanismBlocks . MachineBlock , 1 , 9 )
2014-01-01 00:58:58 -05:00
}));
2016-01-12 18:41:15 -05:00
MachineType . ELECTROLYTIC_SEPARATOR . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock2 , 1 , 4 ), new Object [] {
2015-02-24 10:42:55 -05:00
"IRI" , "ECE" , "IRI" , Character . valueOf ( 'I' ), "ingotIron" , Character . valueOf ( 'R' ), "dustRedstone" , Character . valueOf ( 'E' ), MekanismItems . EnrichedAlloy , Character . valueOf ( 'C' ), MekanismItems . ElectrolyticCore
2014-01-03 02:09:21 +00:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . ElectrolyticCore ), new Object [] {
2014-08-01 00:58:12 +01:00
"EPE" , "IEG" , "EPE" , Character . valueOf ( 'E' ), MekanismItems . EnrichedAlloy , Character . valueOf ( 'P' ), "dustOsmium" , Character . valueOf ( 'I' ), "dustIron" , Character . valueOf ( 'G' ), "dustGold"
2014-01-03 02:09:21 +00:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . CardboardBox ), new Object [] {
2014-01-22 07:43:28 -05:00
"SS" , "SS" , Character . valueOf ( 'S' ), "pulpWood"
2014-01-13 21:43:36 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( Items . paper , 6 ), new Object [] {
2014-08-01 00:58:12 +01:00
"SSS" , Character . valueOf ( 'S' ), MekanismItems . Sawdust
2014-01-13 21:43:36 -05:00
}));
2016-01-12 18:41:15 -05:00
MachineType . PRECISION_SAWMILL . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock2 , 1 , 5 ), new Object [] {
2015-05-10 19:45:09 -04:00
"ICI" , "ASA" , "ICI" , Character . valueOf ( 'I' ), "ingotIron" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 'A' ), MekanismItems . EnrichedAlloy , Character . valueOf ( 'S' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 8 )
2014-01-13 21:43:36 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . BasicBlock , 1 , 14 ), new Object [] {
2015-05-10 19:45:09 -04:00
"CGC" , "IBI" , "CGC" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 'G' ), "paneGlass" , Character . valueOf ( 'I' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 8 ), Character . valueOf ( 'B' ), "blockCopper"
2014-01-15 23:52:10 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . BasicBlock , 1 , 15 ), new Object [] {
2015-05-10 19:45:09 -04:00
"ITI" , "CBC" , "ITI" , Character . valueOf ( 'I' ), "ingotCopper" , Character . valueOf ( 'T' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 11 ), Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 'B' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 8 )
2014-01-15 23:52:10 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . BasicBlock2 , 1 , 0 ), new Object [] {
2014-08-01 00:58:12 +01:00
"CCC" , "CTC" , "CCC" , Character . valueOf ( 'C' ), "ingotCopper" , Character . valueOf ( 'T' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 9 )
2014-01-17 20:38:05 -05:00
}));
2016-01-12 18:41:15 -05:00
MachineType . CHEMICAL_DISSOLUTION_CHAMBER . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock2 , 1 , 6 ), new Object [] {
2015-05-10 19:45:09 -04:00
"CGC" , "EAE" , "CGC" , Character . valueOf ( 'G' ), MekanismUtils . getEmptyGasTank (), Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 'A' ), MekanismItems . AtomicAlloy , Character . valueOf ( 'E' ), MekanismItems . EnrichedAlloy
2014-01-30 17:02:56 -05:00
}));
2016-01-12 18:41:15 -05:00
MachineType . CHEMICAL_WASHER . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock2 , 1 , 7 ), new Object [] {
2015-05-10 19:45:09 -04:00
"CWC" , "EIE" , "CGC" , Character . valueOf ( 'W' ), Items . bucket , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 'E' ), MekanismItems . EnrichedAlloy , Character . valueOf ( 'G' ), MekanismUtils . getEmptyGasTank (), Character . valueOf ( 'I' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 8 )
2014-01-30 17:02:56 -05:00
}));
2016-01-12 18:41:15 -05:00
MachineType . CHEMICAL_CRYSTALLIZER . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock2 , 1 , 8 ), new Object [] {
2015-05-10 19:45:09 -04:00
"CGC" , "ASA" , "CGC" , Character . valueOf ( 'G' ), MekanismUtils . getEmptyGasTank (), Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 'A' ), MekanismItems . AtomicAlloy , Character . valueOf ( 'S' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 8 )
2014-01-30 17:02:56 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismItems . FreeRunners . getUnchargedItem (), new Object [] {
2015-05-10 19:45:09 -04:00
"C C" , "A A" , "T T" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 'A' ), MekanismItems . EnrichedAlloy , Character . valueOf ( 'T' ), MekanismItems . EnergyTablet . getUnchargedItem ()
2014-02-01 16:33:27 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismItems . ArmoredJetpack . getEmptyItem (), new Object [] {
2014-08-01 00:58:12 +01:00
"D D" , "BSB" , " J " , Character . valueOf ( 'D' ), "dustDiamond" , Character . valueOf ( 'B' ), "ingotBronze" , Character . valueOf ( 'S' ), "blockSteel" , Character . valueOf ( 'J' ), MekanismItems . Jetpack . getEmptyItem ()
2014-02-05 21:37:17 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . FilterCard ), new Object [] {
2015-05-10 19:45:09 -04:00
" A " , "ACA" , " A " , Character . valueOf ( 'A' ), MekanismItems . EnrichedAlloy , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC )
2014-03-08 17:47:39 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismItems . SeismicReader . getUnchargedItem (), new Object [] {
2015-03-04 20:54:03 -05:00
"SLS" , "STS" , "SSS" , Character . valueOf ( 'S' ), "ingotSteel" , Character . valueOf ( 'L' ), new ItemStack ( Items . dye , 1 , 4 ), Character . valueOf ( 'T' ), MekanismItems . EnergyTablet . getUnchargedItem ()
2014-06-09 17:15:34 +02:00
}));
2016-01-12 18:41:15 -05:00
MachineType . SEISMIC_VIBRATOR . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock2 , 1 , 9 ), new Object [] {
2015-05-10 19:45:09 -04:00
"TLT" , "CIC" , "TTT" , Character . valueOf ( 'T' ), "ingotTin" , Character . valueOf ( 'L' ), new ItemStack ( Items . dye , 1 , 4 ), Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 'I' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 8 )
2014-06-16 02:09:31 +02:00
}));
2016-01-12 18:41:15 -05:00
MachineType . PRESSURIZED_REACTION_CHAMBER . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock2 , 1 , 10 ), new Object [] {
2015-05-10 19:45:09 -04:00
"TET" , "CIC" , "GFG" , Character . valueOf ( 'S' ), "ingotSteel" , Character . valueOf ( 'E' ), MekanismItems . EnrichedAlloy , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 'G' ), MekanismUtils . getEmptyGasTank (),
2014-08-01 00:58:12 +01:00
Character . valueOf ( 'I' ), new ItemStack ( MekanismBlocks . MachineBlock , 1 , 0 ), Character . valueOf ( 'F' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 9 )
2014-06-09 17:15:34 +02:00
}));
2016-01-12 18:41:15 -05:00
MachineType . PORTABLE_TANK . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock2 , 1 , 11 ), new Object [] {
2015-05-10 19:45:09 -04:00
"III" , "GCG" , "III" , Character . valueOf ( 'I' ), "ingotIron" , Character . valueOf ( 'G' ), "blockGlass" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC )
2014-06-19 01:13:23 +02:00
}));
2016-01-12 18:41:15 -05:00
MachineType . FLUIDIC_PLENISHER . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock2 , 1 , 12 ), new Object [] {
2015-05-10 19:45:09 -04:00
"TTT" , "CPC" , "TTT" , Character . valueOf ( 'P' ), new ItemStack ( MekanismBlocks . MachineBlock , 1 , 12 ), Character . valueOf ( 'T' ), "ingotTin" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC )
2014-06-19 14:42:11 +02:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( Blocks . rail , 24 ), new Object [] {
2014-06-27 10:56:56 -04:00
"O O" , "OSO" , "O O" , Character . valueOf ( 'O' ), "ingotOsmium" , Character . valueOf ( 'S' ), "stickWood"
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismItems . Flamethrower . getEmptyItem (), new Object [] {
2015-05-10 19:45:09 -04:00
"TTT" , "TGS" , "BCB" , Character . valueOf ( 'T' ), "ingotTin" , Character . valueOf ( 'G' ), MekanismUtils . getEmptyGasTank (), Character . valueOf ( 'S' ), Items . flint_and_steel , Character . valueOf ( 'B' ), "ingotBronze" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . ADVANCED )
2014-07-19 14:41:27 -04:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismItems . GaugeDropper . getEmptyItem (), new Object [] {
2015-02-26 21:09:04 -05:00
" O " , "G G" , "GGG" , Character . valueOf ( 'O' ), "ingotOsmium" , Character . valueOf ( 'G' ), "paneGlass"
}));
2016-01-12 18:41:15 -05:00
MachineType . SOLAR_NEUTRON_ACTIVATOR . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock3 , 1 , 1 ), new Object [] {
2015-05-10 19:45:09 -04:00
"APA" , "CSC" , "BBB" , Character . valueOf ( 'A' ), "alloyElite" , Character . valueOf ( 'S' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 8 ), Character . valueOf ( 'P' ), new ItemStack ( MekanismItems . Polyethene , 1 , 2 ), Character . valueOf ( 'B' ), "ingotBronze" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . ELITE )
2015-02-27 13:42:38 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . BasicBlock2 , 4 , 1 ), new Object [] {
2015-03-04 20:54:03 -05:00
" S " , "SES" , " S " , Character . valueOf ( 'S' ), "ingotSteel" , Character . valueOf ( 'E' ), MekanismItems . EnergyTablet . getUnchargedItem ()
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . BasicBlock2 , 2 , 2 ), new Object [] {
2015-05-10 19:45:09 -04:00
" I " , "ICI" , " I " , Character . valueOf ( 'I' ), new ItemStack ( MekanismBlocks . BasicBlock2 , 1 , 1 ), Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . ELITE )
2015-03-04 20:54:03 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . FactoryInstaller , 1 , 0 ), new Object [] {
2015-05-10 19:45:09 -04:00
"RCR" , "iWi" , "RCR" , Character . valueOf ( 'R' ), "alloyBasic" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 'i' ), "ingotIron" , Character . valueOf ( 'W' ), "plankWood"
2015-03-05 08:24:00 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . FactoryInstaller , 1 , 1 ), new Object [] {
2015-05-10 19:45:09 -04:00
"ECE" , "oWo" , "ECE" , Character . valueOf ( 'E' ), "alloyAdvanced" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . ADVANCED ), Character . valueOf ( 'o' ), "ingotOsmium" , Character . valueOf ( 'W' ), "plankWood"
2015-03-05 08:24:00 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . FactoryInstaller , 1 , 2 ), new Object [] {
2015-05-10 19:45:09 -04:00
"RCR" , "gWg" , "RCR" , Character . valueOf ( 'R' ), "alloyElite" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . ELITE ), Character . valueOf ( 'g' ), "ingotGold" , Character . valueOf ( 'W' ), "plankWood"
2015-03-05 08:24:00 -05:00
}));
2016-01-12 18:41:15 -05:00
MachineType . OREDICTIONIFICATOR . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock3 , 1 , 3 ), new Object [] {
2015-05-10 19:45:09 -04:00
"SGS" , "CBC" , "SWS" , Character . valueOf ( 'S' ), "ingotSteel" , Character . valueOf ( 'G' ), "paneGlass" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 'B' ), MekanismItems . Dictionary , Character . valueOf ( 'W' ), Blocks . chest
2015-03-15 17:57:15 -04:00
}));
2016-01-12 18:41:15 -05:00
MachineType . LASER . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock2 , 1 , 13 ), new Object [] {
2015-03-15 17:57:15 -04:00
"RE " , "RCD" , "RE " , Character . valueOf ( 'R' ), "alloyElite" , Character . valueOf ( 'E' ), MekanismItems . EnergyTablet . getUnchargedItem (), Character . valueOf ( 'C' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 8 ), Character . valueOf ( 'D' ), "gemDiamond"
}));
2016-01-12 18:41:15 -05:00
MachineType . LASER_AMPLIFIER . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock2 , 1 , 14 ), new Object [] {
2015-03-30 20:18:08 -04:00
"SSS" , "SED" , "SSS" , Character . valueOf ( 'S' ), "ingotSteel" , Character . valueOf ( 'E' ), MekanismUtils . getEnergyCube ( EnergyCubeTier . BASIC ), Character . valueOf ( 'D' ), "gemDiamond"
2015-03-15 17:57:15 -04:00
}));
2016-01-12 18:41:15 -05:00
MachineType . LASER_TRACTOR_BEAM . addRecipe ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . MachineBlock2 , 1 , 15 ), new Object [] {
2015-03-15 17:57:15 -04:00
"C" , "F" , Character . valueOf ( 'C' ), new ItemStack ( MekanismBlocks . MachineBlock , 1 , 13 ), Character . valueOf ( 'F' ), new ItemStack ( MekanismBlocks . MachineBlock2 , 1 , 14 )
}));
2014-07-09 23:52:01 -04:00
2014-07-11 01:45:44 -04:00
//Energy Cube recipes
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismUtils . getEnergyCube ( EnergyCubeTier . BASIC ), new Object [] {
2014-08-01 00:58:12 +01:00
"RTR" , "iIi" , "RTR" , Character . valueOf ( 'R' ), "alloyBasic" , Character . valueOf ( 'i' ), "ingotIron" , Character . valueOf ( 'T' ), MekanismItems . EnergyTablet . getUnchargedItem (), Character . valueOf ( 'I' ), new ItemStack ( MekanismBlocks . BasicBlock , 1 , 8 )
2014-07-11 01:45:44 -04:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismUtils . getEnergyCube ( EnergyCubeTier . ADVANCED ), new Object [] {
2014-08-01 00:58:12 +01:00
"ETE" , "oBo" , "ETE" , Character . valueOf ( 'E' ), "alloyAdvanced" , Character . valueOf ( 'o' ), "ingotOsmium" , Character . valueOf ( 'T' ), MekanismItems . EnergyTablet . getUnchargedItem (), Character . valueOf ( 'B' ), MekanismUtils . getEnergyCube ( EnergyCubeTier . BASIC )
2014-07-11 01:45:44 -04:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismUtils . getEnergyCube ( EnergyCubeTier . ELITE ), new Object [] {
2014-08-01 00:58:12 +01:00
"RTR" , "gAg" , "RTR" , Character . valueOf ( 'R' ), "alloyElite" , Character . valueOf ( 'g' ), "ingotGold" , Character . valueOf ( 'T' ), MekanismItems . EnergyTablet . getUnchargedItem (), Character . valueOf ( 'A' ), MekanismUtils . getEnergyCube ( EnergyCubeTier . ADVANCED )
2014-07-09 23:52:01 -04:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismUtils . getEnergyCube ( EnergyCubeTier . ULTIMATE ), new Object [] {
2014-08-01 00:58:12 +01:00
"ATA" , "dEd" , "ATA" , Character . valueOf ( 'A' ), "alloyUltimate" , Character . valueOf ( 'd' ), "gemDiamond" , Character . valueOf ( 'T' ), MekanismItems . EnergyTablet . getUnchargedItem (), Character . valueOf ( 'E' ), MekanismUtils . getEnergyCube ( EnergyCubeTier . ELITE )
2014-07-11 01:45:44 -04:00
}));
2015-03-04 20:35:52 -05:00
//Induction Cell recipes
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismUtils . getInductionCell ( InductionCellTier . BASIC ), new Object [] {
2015-03-06 07:50:09 -05:00
"LTL" , "TET" , "LTL" , Character . valueOf ( 'T' ), MekanismItems . EnergyTablet . getUnchargedItem (), Character . valueOf ( 'E' ), MekanismUtils . getEnergyCube ( EnergyCubeTier . BASIC ), Character . valueOf ( 'L' ), "dustLithium"
2015-03-04 20:35:52 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismUtils . getInductionCell ( InductionCellTier . ADVANCED ), new Object [] {
2015-03-04 20:35:52 -05:00
"TCT" , "CEC" , "TCT" , Character . valueOf ( 'T' ), MekanismItems . EnergyTablet . getUnchargedItem (), Character . valueOf ( 'E' ), MekanismUtils . getEnergyCube ( EnergyCubeTier . ADVANCED ), Character . valueOf ( 'C' ), MekanismUtils . getInductionCell ( InductionCellTier . BASIC )
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismUtils . getInductionCell ( InductionCellTier . ELITE ), new Object [] {
2015-03-04 20:35:52 -05:00
"TCT" , "CEC" , "TCT" , Character . valueOf ( 'T' ), MekanismItems . EnergyTablet . getUnchargedItem (), Character . valueOf ( 'E' ), MekanismUtils . getEnergyCube ( EnergyCubeTier . ELITE ), Character . valueOf ( 'C' ), MekanismUtils . getInductionCell ( InductionCellTier . ADVANCED )
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismUtils . getInductionCell ( InductionCellTier . ULTIMATE ), new Object [] {
2015-03-04 20:35:52 -05:00
"TCT" , "CEC" , "TCT" , Character . valueOf ( 'T' ), MekanismItems . EnergyTablet . getUnchargedItem (), Character . valueOf ( 'E' ), MekanismUtils . getEnergyCube ( EnergyCubeTier . ULTIMATE ), Character . valueOf ( 'C' ), MekanismUtils . getInductionCell ( InductionCellTier . ELITE )
}));
//Induction Provider recipes
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismUtils . getInductionProvider ( InductionProviderTier . BASIC ), new Object [] {
2015-05-10 19:45:09 -04:00
"LCL" , "CEC" , "LCL" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 'E' ), MekanismUtils . getEnergyCube ( EnergyCubeTier . BASIC ), Character . valueOf ( 'L' ), "dustLithium"
2015-03-04 20:35:52 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismUtils . getInductionProvider ( InductionProviderTier . ADVANCED ), new Object [] {
2015-05-10 19:45:09 -04:00
"CPC" , "PEP" , "CPC" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . ADVANCED ), Character . valueOf ( 'E' ), MekanismUtils . getEnergyCube ( EnergyCubeTier . ADVANCED ), Character . valueOf ( 'P' ), MekanismUtils . getInductionProvider ( InductionProviderTier . BASIC )
2015-03-04 20:35:52 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismUtils . getInductionProvider ( InductionProviderTier . ELITE ), new Object [] {
2015-05-10 19:45:09 -04:00
"CPC" , "PEP" , "CPC" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . ELITE ), Character . valueOf ( 'E' ), MekanismUtils . getEnergyCube ( EnergyCubeTier . ELITE ), Character . valueOf ( 'P' ), MekanismUtils . getInductionProvider ( InductionProviderTier . ADVANCED )
2015-03-04 20:35:52 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( MekanismUtils . getInductionProvider ( InductionProviderTier . ULTIMATE ), new Object [] {
2015-05-10 19:45:09 -04:00
"CPC" , "PEP" , "CPC" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . ULTIMATE ), Character . valueOf ( 'E' ), MekanismUtils . getEnergyCube ( EnergyCubeTier . ULTIMATE ), Character . valueOf ( 'P' ), MekanismUtils . getInductionProvider ( InductionProviderTier . ELITE )
2015-03-04 20:35:52 -05:00
}));
2014-07-11 01:45:44 -04:00
//Circuit recipes
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . ControlCircuit , 1 , 1 ), new Object [] {
2014-08-01 00:58:12 +01:00
"ECE" , Character . valueOf ( 'C' ), new ItemStack ( MekanismItems . ControlCircuit , 1 , 0 ), Character . valueOf ( 'E' ), "alloyAdvanced"
2014-07-09 23:52:01 -04:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . ControlCircuit , 1 , 2 ), new Object [] {
2014-08-01 00:58:12 +01:00
"RCR" , Character . valueOf ( 'C' ), new ItemStack ( MekanismItems . ControlCircuit , 1 , 1 ), Character . valueOf ( 'R' ), "alloyElite"
2014-07-09 23:52:01 -04:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . ControlCircuit , 1 , 3 ), new Object [] {
2014-08-01 00:58:12 +01:00
"ACA" , Character . valueOf ( 'C' ), new ItemStack ( MekanismItems . ControlCircuit , 1 , 2 ), Character . valueOf ( 'A' ), "alloyUltimate"
2014-07-09 23:52:01 -04:00
}));
2014-01-03 02:09:21 +00:00
2014-07-09 23:52:01 -04:00
//Factory recipes
2013-12-01 00:04:20 -05:00
for ( RecipeType type : RecipeType . values ())
{
2016-01-12 18:41:15 -05:00
MachineType . BASIC_FACTORY . addRecipe ( new ShapedMekanismRecipe ( MekanismUtils . getFactory ( FactoryTier . BASIC , type ), new Object [] {
2015-05-10 19:45:09 -04:00
"RCR" , "iOi" , "RCR" , Character . valueOf ( 'R' ), "alloyBasic" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC ), Character . valueOf ( 'i' ), "ingotIron" , Character . valueOf ( 'O' ), type . getStack ()
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
MachineType . ADVANCED_FACTORY . addRecipe ( new ShapedMekanismRecipe ( MekanismUtils . getFactory ( FactoryTier . ADVANCED , type ), new Object [] {
2015-05-10 19:45:09 -04:00
"ECE" , "oOo" , "ECE" , Character . valueOf ( 'E' ), "alloyAdvanced" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . ADVANCED ), Character . valueOf ( 'o' ), "ingotOsmium" , Character . valueOf ( 'O' ), MekanismUtils . getFactory ( FactoryTier . BASIC , type )
2013-12-01 00:04:20 -05:00
}));
2016-01-12 18:41:15 -05:00
MachineType . ELITE_FACTORY . addRecipe ( new ShapedMekanismRecipe ( MekanismUtils . getFactory ( FactoryTier . ELITE , type ), new Object [] {
2015-05-10 19:45:09 -04:00
"RCR" , "gOg" , "RCR" , Character . valueOf ( 'R' ), "alloyElite" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . ELITE ), Character . valueOf ( 'g' ), "ingotGold" , Character . valueOf ( 'O' ), MekanismUtils . getFactory ( FactoryTier . ADVANCED , type )
2013-12-01 00:04:20 -05:00
}));
}
2014-07-09 23:52:01 -04:00
//Add the bin recipe system to the CraftingManager
2013-11-11 22:52:12 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new BinRecipe ());
2013-12-12 01:56:05 +00:00
2013-12-12 08:43:21 -05:00
//Transmitters
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . PartTransmitter , 8 , 0 ), new Object [] {
2015-02-24 10:32:41 -05:00
"SRS" , Character . valueOf ( 'S' ), "ingotSteel" , Character . valueOf ( 'R' ), "dustRedstone"
2014-06-04 11:05:29 +02:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . PartTransmitter , 8 , 1 ), new Object [] {
2014-08-01 00:58:12 +01:00
"TTT" , "TET" , "TTT" , Character . valueOf ( 'E' ), "alloyAdvanced" , Character . valueOf ( 'T' ), new ItemStack ( MekanismItems . PartTransmitter , 1 , 0 )
2014-01-08 22:26:01 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . PartTransmitter , 8 , 2 ), new Object [] {
2014-08-01 00:58:12 +01:00
"TTT" , "TRT" , "TTT" , Character . valueOf ( 'R' ), "alloyElite" , Character . valueOf ( 'T' ), new ItemStack ( MekanismItems . PartTransmitter , 1 , 1 )
2014-01-08 22:26:01 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . PartTransmitter , 8 , 3 ), new Object [] {
2014-08-01 00:58:12 +01:00
"TTT" , "TAT" , "TTT" , Character . valueOf ( 'A' ), "alloyUltimate" , Character . valueOf ( 'T' ), new ItemStack ( MekanismItems . PartTransmitter , 1 , 2 )
2014-01-08 22:26:01 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . PartTransmitter , 8 , 4 ), new Object [] {
2014-04-20 21:15:44 +01:00
"SBS" , Character . valueOf ( 'S' ), "ingotSteel" , Character . valueOf ( 'B' ), Items . bucket
2013-12-12 08:43:21 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . PartTransmitter , 8 , 5 ), new Object [] {
2014-08-01 00:58:12 +01:00
"TTT" , "TET" , "TTT" , Character . valueOf ( 'E' ), "alloyAdvanced" , Character . valueOf ( 'T' ), new ItemStack ( MekanismItems . PartTransmitter , 1 , 4 )
2014-04-19 20:30:36 +01:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . PartTransmitter , 8 , 6 ), new Object [] {
2014-08-01 00:58:12 +01:00
"TTT" , "TRT" , "TTT" , Character . valueOf ( 'R' ), "alloyElite" , Character . valueOf ( 'T' ), new ItemStack ( MekanismItems . PartTransmitter , 1 , 5 )
2014-04-19 20:30:36 +01:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . PartTransmitter , 8 , 7 ), new Object [] {
2014-08-01 00:58:12 +01:00
"TTT" , "TAT" , "TTT" , Character . valueOf ( 'A' ), "alloyUltimate" , Character . valueOf ( 'T' ), new ItemStack ( MekanismItems . PartTransmitter , 1 , 6 )
2014-04-19 20:30:36 +01:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . PartTransmitter , 8 , 8 ), new Object [] {
2014-07-11 01:45:44 -04:00
"SGS" , Character . valueOf ( 'S' ), "ingotSteel" , Character . valueOf ( 'G' ), "blockGlass"
2013-12-12 08:43:21 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . PartTransmitter , 8 , 9 ), new Object [] {
2015-03-31 17:46:09 -04:00
"TTT" , "TET" , "TTT" , Character . valueOf ( 'E' ), "alloyAdvanced" , Character . valueOf ( 'T' ), new ItemStack ( MekanismItems . PartTransmitter , 1 , 8 )
2013-12-27 00:54:33 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . PartTransmitter , 8 , 10 ), new Object [] {
2015-03-31 17:46:09 -04:00
"TTT" , "TRT" , "TTT" , Character . valueOf ( 'R' ), "alloyElite" , Character . valueOf ( 'T' ), new ItemStack ( MekanismItems . PartTransmitter , 1 , 9 )
2015-03-31 11:39:10 -04:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . PartTransmitter , 8 , 11 ), new Object [] {
2015-03-31 17:46:09 -04:00
"TTT" , "TAT" , "TTT" , Character . valueOf ( 'A' ), "alloyUltimate" , Character . valueOf ( 'T' ), new ItemStack ( MekanismItems . PartTransmitter , 1 , 10 )
2015-03-31 11:39:10 -04:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . PartTransmitter , 8 , 12 ), new Object [] {
2015-05-10 19:45:09 -04:00
"SCS" , Character . valueOf ( 'S' ), "ingotSteel" , Character . valueOf ( 'C' ), MekanismUtils . getControlCircuit ( BaseTier . BASIC )
2013-12-27 00:54:33 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . PartTransmitter , 8 , 13 ), new Object [] {
2015-03-31 17:46:09 -04:00
"TTT" , "TET" , "TTT" , Character . valueOf ( 'E' ), "alloyAdvanced" , Character . valueOf ( 'T' ), new ItemStack ( MekanismItems . PartTransmitter , 1 , 12 )
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . PartTransmitter , 8 , 14 ), new Object [] {
2015-03-31 17:46:09 -04:00
"TTT" , "TRT" , "TTT" , Character . valueOf ( 'R' ), "alloyElite" , Character . valueOf ( 'T' ), new ItemStack ( MekanismItems . PartTransmitter , 1 , 13 )
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . PartTransmitter , 8 , 15 ), new Object [] {
2015-03-31 17:46:09 -04:00
"TTT" , "TAT" , "TTT" , Character . valueOf ( 'A' ), "alloyUltimate" , Character . valueOf ( 'T' ), new ItemStack ( MekanismItems . PartTransmitter , 1 , 14 )
2015-03-31 11:39:10 -04:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . PartTransmitter , 2 , 16 ), new Object [] {
2014-04-20 21:15:44 +01:00
"SBS" , Character . valueOf ( 'S' ), "ingotSteel" , Character . valueOf ( 'B' ), Blocks . iron_bars
2013-12-27 00:54:33 -05:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . PartTransmitter , 2 , 17 ), new Object [] {
2015-02-24 10:32:41 -05:00
"RRR" , "SBS" , "RRR" , Character . valueOf ( 'R' ), "dustRedstone" , Character . valueOf ( 'S' ), "ingotSteel" , Character . valueOf ( 'B' ), Blocks . iron_bars
2013-12-27 00:54:33 -05:00
}));
2014-06-04 11:05:29 +02:00
2014-07-09 23:52:01 -04:00
//Plastic stuff
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . Polyethene , 1 , 1 ), new Object [] {
2015-03-05 08:53:01 -05:00
"PP" , "PP" , Character . valueOf ( 'P' ), new ItemStack ( MekanismItems . Polyethene , 1 , 0 )
2014-04-10 03:05:28 +01:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . Polyethene , 1 , 2 ), new Object [] {
2014-08-01 00:58:12 +01:00
"PPP" , "P P" , "PPP" , Character . valueOf ( 'P' ), new ItemStack ( MekanismItems . Polyethene , 1 , 0 )
2014-04-10 03:05:28 +01:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . Polyethene , 1 , 3 ), new Object [] {
2014-08-01 00:58:12 +01:00
"R" , "R" , Character . valueOf ( 'R' ), new ItemStack ( MekanismItems . Polyethene , 1 , 1 )
2014-04-10 03:05:28 +01:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . PlasticBlock , 4 , 15 ), new Object [] {
2014-08-01 00:58:12 +01:00
"SSS" , "S S" , "SSS" , Character . valueOf ( 'S' ), new ItemStack ( MekanismItems . Polyethene , 1 , 2 )
2014-04-11 18:22:25 +01:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . GlowPanel , 2 , 15 ), new Object [] {
2014-08-01 00:58:12 +01:00
"PSP" , "S S" , "GSG" , Character . valueOf ( 'P' ), "paneGlass" , Character . valueOf ( 'S' ), new ItemStack ( MekanismItems . Polyethene , 1 , 2 ), Character . valueOf ( 'G' ), Items . glowstone_dust
2014-04-16 00:08:09 +01:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . PlasticFence , 3 , 15 ), new Object [] {
2014-09-02 20:29:09 +01:00
"BSB" , "BSB" , Character . valueOf ( 'B' ), new ItemStack ( MekanismBlocks . PlasticBlock , 1 , 15 ), Character . valueOf ( 'S' ), new ItemStack ( MekanismItems . Polyethene , 1 , 3 )
}));
2014-04-11 21:10:14 +01:00
2014-04-11 18:22:25 +01:00
for ( int i = 0 ; i < EnumColor . DYES . length - 1 ; i ++ )
{
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . PlasticBlock , 4 , i ), new Object [] {
2014-08-01 00:58:12 +01:00
"SSS" , "SDS" , "SSS" , Character . valueOf ( 'S' ), new ItemStack ( MekanismItems . Polyethene , 1 , 2 ), Character . valueOf ( 'D' ), "dye" + EnumColor . DYES [ i ] . dyeName
2014-04-11 18:22:25 +01:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . GlowPanel , 2 , i ), new Object [] {
2014-08-01 00:58:12 +01:00
"PSP" , "SDS" , "GSG" , Character . valueOf ( 'P' ), "paneGlass" , Character . valueOf ( 'S' ), new ItemStack ( MekanismItems . Polyethene , 1 , 2 ), Character . valueOf ( 'D' ), "dye" + EnumColor . DYES [ i ] . dyeName , Character . valueOf ( 'G' ), Items . glowstone_dust
2014-04-16 00:08:09 +01:00
}));
2014-04-11 18:22:25 +01:00
}
for ( int i = 0 ; i < EnumColor . DYES . length ; i ++ )
2013-12-22 00:42:46 -05:00
{
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapelessMekanismRecipe ( new ItemStack ( MekanismItems . Balloon , 2 , i ), new Object [] {
2014-06-14 14:16:33 +02:00
Items . leather , Items . string , "dye" + EnumColor . DYES [ i ] . dyeName
2014-04-11 18:22:25 +01:00
}));
for ( int j = 0 ; j < EnumColor . DYES . length ; j ++ )
{
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapelessMekanismRecipe ( new ItemStack ( MekanismItems . Balloon , 1 , i ), new Object [] {
2014-08-01 00:58:12 +01:00
new ItemStack ( MekanismItems . Balloon , 1 , j ), "dye" + EnumColor . DYES [ i ] . dyeName
2014-04-11 18:22:25 +01:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . PlasticBlock , 4 , i ), new Object [] {
2014-08-03 20:21:07 +01:00
" P " , "PDP" , " P " , Character . valueOf ( 'P' ), new ItemStack ( MekanismBlocks . PlasticBlock , 1 , j ), Character . valueOf ( 'D' ), "dye" + EnumColor . DYES [ i ] . dyeName
2014-04-15 01:31:13 +01:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . SlickPlasticBlock , 4 , i ), new Object [] {
2014-08-03 20:21:07 +01:00
" P " , "PDP" , " P " , Character . valueOf ( 'P' ), new ItemStack ( MekanismBlocks . SlickPlasticBlock , 1 , j ), Character . valueOf ( 'D' ), "dye" + EnumColor . DYES [ i ] . dyeName
2014-04-15 01:31:13 +01:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . GlowPlasticBlock , 4 , i ), new Object [] {
2014-08-03 20:21:07 +01:00
" P " , "PDP" , " P " , Character . valueOf ( 'P' ), new ItemStack ( MekanismBlocks . GlowPlasticBlock , 1 , j ), Character . valueOf ( 'D' ), "dye" + EnumColor . DYES [ i ] . dyeName
2014-04-15 01:31:13 +01:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . ReinforcedPlasticBlock , 4 , i ), new Object [] {
2014-08-03 20:21:07 +01:00
" P " , "PDP" , " P " , Character . valueOf ( 'P' ), new ItemStack ( MekanismBlocks . ReinforcedPlasticBlock , 1 , j ), Character . valueOf ( 'D' ), "dye" + EnumColor . DYES [ i ] . dyeName
2014-04-15 01:31:13 +01:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismItems . GlowPanel , 4 , i ), new Object [] {
2014-08-01 00:58:12 +01:00
" P " , "PDP" , " P " , Character . valueOf ( 'P' ), new ItemStack ( MekanismItems . GlowPanel , 1 , j ), Character . valueOf ( 'D' ), "dye" + EnumColor . DYES [ i ] . dyeName
2014-04-16 00:08:09 +01:00
}));
2014-04-11 18:22:25 +01:00
}
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapelessMekanismRecipe ( new ItemStack ( MekanismBlocks . GlowPlasticBlock , 3 , i ), new Object [] {
2014-08-03 20:21:07 +01:00
new ItemStack ( MekanismBlocks . PlasticBlock , 1 , i ), new ItemStack ( MekanismBlocks . PlasticBlock , 1 , i ), new ItemStack ( MekanismBlocks . PlasticBlock , 1 , i ), new ItemStack ( Items . glowstone_dust )
2014-04-11 18:22:25 +01:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . ReinforcedPlasticBlock , 4 , i ), new Object [] {
2015-03-17 19:16:36 -04:00
" P " , "POP" , " P " , Character . valueOf ( 'P' ), new ItemStack ( MekanismBlocks . PlasticBlock , 1 , i ), Character . valueOf ( 'O' ), "dustOsmium"
2014-04-16 00:08:09 +01:00
}));
2016-01-12 18:41:15 -05:00
CraftingManager . getInstance (). getRecipeList (). add ( new ShapedMekanismRecipe ( new ItemStack ( MekanismBlocks . RoadPlasticBlock , 3 , i ), new Object [] {
2014-08-03 20:21:07 +01:00
"SSS" , "PPP" , "SSS" , Character . valueOf ( 'S' ), Blocks . sand , Character . valueOf ( 'P' ), new ItemStack ( MekanismBlocks . SlickPlasticBlock , 1 , i )
2014-04-11 18:22:25 +01:00
}));
2013-12-22 00:42:46 -05:00
}
2013-12-01 00:04:20 -05:00
//Furnace Recipes
2014-08-01 00:58:12 +01:00
FurnaceRecipes . smelting (). func_151394_a ( new ItemStack ( MekanismBlocks . OreBlock , 1 , 0 ), new ItemStack ( MekanismItems . Ingot , 1 , 1 ), 1 . 0F );
FurnaceRecipes . smelting (). func_151394_a ( new ItemStack ( MekanismBlocks . OreBlock , 1 , 1 ), new ItemStack ( MekanismItems . Ingot , 1 , 5 ), 1 . 0F );
FurnaceRecipes . smelting (). func_151394_a ( new ItemStack ( MekanismBlocks . OreBlock , 1 , 2 ), new ItemStack ( MekanismItems . Ingot , 1 , 6 ), 1 . 0F );
2015-03-17 19:16:36 -04:00
FurnaceRecipes . smelting (). func_151394_a ( new ItemStack ( MekanismItems . Dust , 1 , Resource . OSMIUM . ordinal ()), new ItemStack ( MekanismItems . Ingot , 1 , 1 ), 0 . 0F );
FurnaceRecipes . smelting (). func_151394_a ( new ItemStack ( MekanismItems . Dust , 1 , Resource . IRON . ordinal ()), new ItemStack ( Items . iron_ingot ), 0 . 0F );
FurnaceRecipes . smelting (). func_151394_a ( new ItemStack ( MekanismItems . Dust , 1 , Resource . GOLD . ordinal ()), new ItemStack ( Items . gold_ingot ), 0 . 0F );
FurnaceRecipes . smelting (). func_151394_a ( new ItemStack ( MekanismItems . OtherDust , 1 , 1 ), new ItemStack ( MekanismItems . Ingot , 1 , 4 ), 0 . 0F );
FurnaceRecipes . smelting (). func_151394_a ( new ItemStack ( MekanismItems . Dust , 1 , Resource . COPPER . ordinal ()), new ItemStack ( MekanismItems . Ingot , 1 , 5 ), 0 . 0F );
FurnaceRecipes . smelting (). func_151394_a ( new ItemStack ( MekanismItems . Dust , 1 , Resource . TIN . ordinal ()), new ItemStack ( MekanismItems . Ingot , 1 , 6 ), 0 . 0F );
2013-12-01 00:04:20 -05:00
//Enrichment Chamber Recipes
2014-04-20 21:15:44 +01:00
RecipeHandler . addEnrichmentChamberRecipe ( new ItemStack ( Blocks . redstone_ore ), new ItemStack ( Items . redstone , 12 ));
2015-03-17 19:16:36 -04:00
RecipeHandler . addEnrichmentChamberRecipe ( new ItemStack ( Blocks . obsidian ), new ItemStack ( MekanismItems . OtherDust , 2 , 6 ));
2014-08-01 00:58:12 +01:00
RecipeHandler . addEnrichmentChamberRecipe ( new ItemStack ( Items . coal , 1 , 0 ), new ItemStack ( MekanismItems . CompressedCarbon ));
RecipeHandler . addEnrichmentChamberRecipe ( new ItemStack ( Items . coal , 1 , 1 ), new ItemStack ( MekanismItems . CompressedCarbon ));
RecipeHandler . addEnrichmentChamberRecipe ( new ItemStack ( Items . redstone ), new ItemStack ( MekanismItems . CompressedRedstone ));
2014-04-20 21:15:44 +01:00
RecipeHandler . addEnrichmentChamberRecipe ( new ItemStack ( Blocks . lapis_ore ), new ItemStack ( Items . dye , 12 , 4 ));
RecipeHandler . addEnrichmentChamberRecipe ( new ItemStack ( Blocks . coal_ore ), new ItemStack ( Items . coal , 2 ));
RecipeHandler . addEnrichmentChamberRecipe ( new ItemStack ( Blocks . diamond_ore ), new ItemStack ( Items . diamond , 2 ));
RecipeHandler . addEnrichmentChamberRecipe ( new ItemStack ( Blocks . mossy_cobblestone ), new ItemStack ( Blocks . cobblestone ));
RecipeHandler . addEnrichmentChamberRecipe ( new ItemStack ( Blocks . stone ), new ItemStack ( Blocks . stonebrick , 1 , 2 ));
2014-04-20 04:34:19 +01:00
RecipeHandler . addEnrichmentChamberRecipe ( new ItemStack ( Blocks . sand ), new ItemStack ( Blocks . gravel ));
RecipeHandler . addEnrichmentChamberRecipe ( new ItemStack ( Blocks . gravel ), new ItemStack ( Blocks . cobblestone ));
RecipeHandler . addEnrichmentChamberRecipe ( new ItemStack ( Items . gunpowder ), new ItemStack ( Items . flint ));
2014-04-20 21:15:44 +01:00
RecipeHandler . addEnrichmentChamberRecipe ( new ItemStack ( Blocks . stonebrick , 1 , 2 ), new ItemStack ( Blocks . stonebrick , 1 , 0 ));
RecipeHandler . addEnrichmentChamberRecipe ( new ItemStack ( Blocks . stonebrick , 1 , 0 ), new ItemStack ( Blocks . stonebrick , 1 , 3 ));
RecipeHandler . addEnrichmentChamberRecipe ( new ItemStack ( Blocks . stonebrick , 1 , 1 ), new ItemStack ( Blocks . stonebrick , 1 , 0 ));
2014-07-09 22:06:36 -04:00
RecipeHandler . addEnrichmentChamberRecipe ( new ItemStack ( Blocks . glowstone ), new ItemStack ( Items . glowstone_dust , 4 ));
RecipeHandler . addEnrichmentChamberRecipe ( new ItemStack ( Blocks . clay ), new ItemStack ( Items . clay_ball , 4 ));
2014-08-01 00:58:12 +01:00
RecipeHandler . addEnrichmentChamberRecipe ( new ItemStack ( MekanismBlocks . SaltBlock ), new ItemStack ( MekanismItems . Salt , 4 ));
RecipeHandler . addEnrichmentChamberRecipe ( new ItemStack ( Items . diamond ), new ItemStack ( MekanismItems . CompressedDiamond ));
2015-03-05 08:53:01 -05:00
RecipeHandler . addEnrichmentChamberRecipe ( new ItemStack ( MekanismItems . Polyethene , 3 , 0 ), new ItemStack ( MekanismItems . Polyethene , 1 , 2 ));
2014-06-03 11:25:12 +02:00
2014-04-11 18:22:25 +01:00
for ( int i = 0 ; i < EnumColor . DYES . length ; i ++ )
{
2014-08-03 20:21:07 +01:00
RecipeHandler . addEnrichmentChamberRecipe ( new ItemStack ( MekanismBlocks . PlasticBlock , 1 , i ), new ItemStack ( MekanismBlocks . SlickPlasticBlock , 1 , i ));
2014-04-11 18:22:25 +01:00
}
2013-12-01 00:04:20 -05:00
//Combiner recipes
2014-04-20 21:15:44 +01:00
RecipeHandler . addCombinerRecipe ( new ItemStack ( Items . redstone , 16 ), new ItemStack ( Blocks . redstone_ore ));
2014-04-20 04:34:19 +01:00
RecipeHandler . addCombinerRecipe ( new ItemStack ( Items . dye , 16 , 4 ), new ItemStack ( Blocks . lapis_ore ));
RecipeHandler . addCombinerRecipe ( new ItemStack ( Items . flint ), new ItemStack ( Blocks . gravel ));
2013-12-01 00:04:20 -05:00
//Osmium Compressor Recipes
2014-08-01 00:58:12 +01:00
RecipeHandler . addOsmiumCompressorRecipe ( new ItemStack ( Items . glowstone_dust ), new ItemStack ( MekanismItems . Ingot , 1 , 3 ));
2013-12-01 00:04:20 -05:00
//Crusher Recipes
2015-03-17 19:16:36 -04:00
RecipeHandler . addCrusherRecipe ( new ItemStack ( Items . diamond ), new ItemStack ( MekanismItems . OtherDust , 1 , 0 ));
RecipeHandler . addCrusherRecipe ( new ItemStack ( Items . iron_ingot ), new ItemStack ( MekanismItems . Dust , 1 , Resource . IRON . ordinal ()));
RecipeHandler . addCrusherRecipe ( new ItemStack ( Items . gold_ingot ), new ItemStack ( MekanismItems . Dust , 1 , Resource . GOLD . ordinal ()));
2014-04-20 04:34:19 +01:00
RecipeHandler . addCrusherRecipe ( new ItemStack ( Blocks . gravel ), new ItemStack ( Blocks . sand ));
RecipeHandler . addCrusherRecipe ( new ItemStack ( Blocks . stone ), new ItemStack ( Blocks . cobblestone ));
RecipeHandler . addCrusherRecipe ( new ItemStack ( Blocks . cobblestone ), new ItemStack ( Blocks . gravel ));
2014-04-20 21:15:44 +01:00
RecipeHandler . addCrusherRecipe ( new ItemStack ( Blocks . stonebrick , 1 , 2 ), new ItemStack ( Blocks . stone ));
RecipeHandler . addCrusherRecipe ( new ItemStack ( Blocks . stonebrick , 1 , 0 ), new ItemStack ( Blocks . stonebrick , 1 , 2 ));
RecipeHandler . addCrusherRecipe ( new ItemStack ( Blocks . stonebrick , 1 , 3 ), new ItemStack ( Blocks . stonebrick , 1 , 0 ));
2014-07-09 22:06:36 -04:00
RecipeHandler . addCrusherRecipe ( new ItemStack ( Items . flint ), new ItemStack ( Items . gunpowder ));
2014-04-20 21:15:44 +01:00
RecipeHandler . addCrusherRecipe ( new ItemStack ( Blocks . sandstone ), new ItemStack ( Blocks . sand , 2 ));
2014-06-06 00:16:36 +02:00
2014-07-07 15:54:26 -04:00
for ( int i = 0 ; i < 16 ; i ++ )
{
RecipeHandler . addCrusherRecipe ( new ItemStack ( Blocks . wool , 1 , i ), new ItemStack ( Items . string , 4 ));
}
2014-04-06 01:16:09 +01:00
//BioFuel Crusher Recipes
2014-08-01 00:58:12 +01:00
RecipeHandler . addCrusherRecipe ( new ItemStack ( Blocks . tallgrass ), new ItemStack ( MekanismItems . BioFuel , 4 ));
RecipeHandler . addCrusherRecipe ( new ItemStack ( Items . reeds ), new ItemStack ( MekanismItems . BioFuel , 2 ));
RecipeHandler . addCrusherRecipe ( new ItemStack ( Items . wheat_seeds ), new ItemStack ( MekanismItems . BioFuel , 2 ));
RecipeHandler . addCrusherRecipe ( new ItemStack ( Items . wheat ), new ItemStack ( MekanismItems . BioFuel , 4 ));
RecipeHandler . addCrusherRecipe ( new ItemStack ( Items . pumpkin_seeds ), new ItemStack ( MekanismItems . BioFuel , 2 ));
RecipeHandler . addCrusherRecipe ( new ItemStack ( Items . melon_seeds ), new ItemStack ( MekanismItems . BioFuel , 2 ));
RecipeHandler . addCrusherRecipe ( new ItemStack ( Items . apple ), new ItemStack ( MekanismItems . BioFuel , 4 ));
RecipeHandler . addCrusherRecipe ( new ItemStack ( Items . bread ), new ItemStack ( MekanismItems . BioFuel , 4 ));
RecipeHandler . addCrusherRecipe ( new ItemStack ( Items . potato ), new ItemStack ( MekanismItems . BioFuel , 4 ));
RecipeHandler . addCrusherRecipe ( new ItemStack ( Items . carrot ), new ItemStack ( MekanismItems . BioFuel , 4 ));
RecipeHandler . addCrusherRecipe ( new ItemStack ( Items . rotten_flesh ), new ItemStack ( MekanismItems . BioFuel , 2 ));
2015-06-30 14:54:04 -07:00
RecipeHandler . addCrusherRecipe ( new ItemStack ( Items . melon ), new ItemStack ( MekanismItems . BioFuel , 4 ));
RecipeHandler . addCrusherRecipe ( new ItemStack ( Blocks . pumpkin ), new ItemStack ( MekanismItems . BioFuel , 6 ));
2013-12-30 02:59:45 +00:00
2014-04-06 01:16:09 +01:00
//Purification Chamber Recipes
2014-07-21 16:34:31 -04:00
RecipeHandler . addPurificationChamberRecipe ( new ItemStack ( Blocks . gravel ), new ItemStack ( Items . flint ));
2013-12-01 00:04:20 -05:00
2013-12-24 00:23:30 -05:00
//Chemical Injection Chamber Recipes
2014-09-04 04:26:55 +01:00
RecipeHandler . addChemicalInjectionChamberRecipe ( new ItemStack ( Blocks . dirt ), "water" , new ItemStack ( Blocks . clay ));
2015-06-23 15:18:10 -07:00
RecipeHandler . addChemicalInjectionChamberRecipe ( new ItemStack ( Blocks . hardened_clay ), "water" , new ItemStack ( Blocks . clay ));
RecipeHandler . addChemicalInjectionChamberRecipe ( new ItemStack ( Items . brick ), "water" , new ItemStack ( Items . clay_ball ));
2015-03-17 19:16:36 -04:00
RecipeHandler . addChemicalInjectionChamberRecipe ( new ItemStack ( Items . gunpowder ), "hydrogenChloride" , new ItemStack ( MekanismItems . OtherDust , 1 , 3 ));
2014-01-13 18:37:54 -05:00
//Precision Sawmill Recipes
2014-09-04 04:26:55 +01:00
RecipeHandler . addPrecisionSawmillRecipe ( new ItemStack ( Blocks . ladder , 3 ), new ItemStack ( Items . stick , 7 ));
2015-02-24 10:42:55 -05:00
RecipeHandler . addPrecisionSawmillRecipe ( new ItemStack ( Blocks . torch , 4 ), new ItemStack ( Items . stick ), new ItemStack ( Items . coal ), 1 );
2014-09-04 04:26:55 +01:00
RecipeHandler . addPrecisionSawmillRecipe ( new ItemStack ( Blocks . chest ), new ItemStack ( Blocks . planks , 8 ));
RecipeHandler . addPrecisionSawmillRecipe ( new ItemStack ( Blocks . trapdoor ), new ItemStack ( Blocks . planks , 3 ));
RecipeHandler . addPrecisionSawmillRecipe ( new ItemStack ( Items . boat ), new ItemStack ( Blocks . planks , 5 ));
RecipeHandler . addPrecisionSawmillRecipe ( new ItemStack ( Items . bed ), new ItemStack ( Blocks . planks , 3 ), new ItemStack ( Blocks . wool , 3 ), 1 );
2015-02-24 10:42:55 -05:00
RecipeHandler . addPrecisionSawmillRecipe ( new ItemStack ( Items . wooden_door ), new ItemStack ( Blocks . planks , 6 ));
2014-09-04 04:26:55 +01:00
RecipeHandler . addPrecisionSawmillRecipe ( new ItemStack ( Blocks . jukebox ), new ItemStack ( Blocks . planks , 8 ), new ItemStack ( Items . diamond ), 1 );
RecipeHandler . addPrecisionSawmillRecipe ( new ItemStack ( Blocks . bookshelf ), new ItemStack ( Blocks . planks , 6 ), new ItemStack ( Items . book , 3 ), 1 );
RecipeHandler . addPrecisionSawmillRecipe ( new ItemStack ( Blocks . wooden_pressure_plate ), new ItemStack ( Blocks . planks , 2 ));
RecipeHandler . addPrecisionSawmillRecipe ( new ItemStack ( Blocks . fence ), new ItemStack ( Items . stick , 3 ));
RecipeHandler . addPrecisionSawmillRecipe ( new ItemStack ( Blocks . fence_gate ), new ItemStack ( Blocks . planks , 2 ), new ItemStack ( Items . stick , 4 ), 1 );
RecipeHandler . addPrecisionSawmillRecipe ( new ItemStack ( Blocks . noteblock ), new ItemStack ( Blocks . planks , 8 ), new ItemStack ( Items . redstone ), 1 );
RecipeHandler . addPrecisionSawmillRecipe ( new ItemStack ( Blocks . redstone_torch ), new ItemStack ( Items . stick ), new ItemStack ( Items . redstone ), 1 );
RecipeHandler . addPrecisionSawmillRecipe ( new ItemStack ( Blocks . crafting_table ), new ItemStack ( Blocks . planks , 4 ));
2014-01-13 18:37:54 -05:00
2013-12-01 00:04:20 -05:00
//Metallurgic Infuser Recipes
2014-09-04 04:26:55 +01:00
RecipeHandler . addMetallurgicInfuserRecipe ( InfuseRegistry . get ( "CARBON" ), 10 , new ItemStack ( Items . iron_ingot ), new ItemStack ( MekanismItems . EnrichedIron ));
2015-03-17 19:16:36 -04:00
RecipeHandler . addMetallurgicInfuserRecipe ( InfuseRegistry . get ( "CARBON" ), 10 , new ItemStack ( MekanismItems . EnrichedIron ), new ItemStack ( MekanismItems . OtherDust , 1 , 1 ));
2014-09-04 04:26:55 +01:00
RecipeHandler . addMetallurgicInfuserRecipe ( InfuseRegistry . get ( "REDSTONE" ), 10 , new ItemStack ( Items . iron_ingot ), new ItemStack ( MekanismItems . EnrichedAlloy ));
RecipeHandler . addMetallurgicInfuserRecipe ( InfuseRegistry . get ( "FUNGI" ), 10 , new ItemStack ( Blocks . dirt ), new ItemStack ( Blocks . mycelium ));
RecipeHandler . addMetallurgicInfuserRecipe ( InfuseRegistry . get ( "BIO" ), 10 , new ItemStack ( Blocks . cobblestone ), new ItemStack ( Blocks . mossy_cobblestone ));
RecipeHandler . addMetallurgicInfuserRecipe ( InfuseRegistry . get ( "BIO" ), 10 , new ItemStack ( Blocks . stonebrick , 1 , 0 ), new ItemStack ( Blocks . stonebrick , 1 , 1 ));
RecipeHandler . addMetallurgicInfuserRecipe ( InfuseRegistry . get ( "BIO" ), 10 , new ItemStack ( Blocks . sand ), new ItemStack ( Blocks . dirt ));
2015-04-26 19:39:02 -07:00
RecipeHandler . addMetallurgicInfuserRecipe ( InfuseRegistry . get ( "BIO" ), 10 , new ItemStack ( Blocks . dirt ), new ItemStack ( Blocks . dirt , 1 , 2 ));
2014-09-04 04:26:55 +01:00
RecipeHandler . addMetallurgicInfuserRecipe ( InfuseRegistry . get ( "DIAMOND" ), 10 , new ItemStack ( MekanismItems . EnrichedAlloy ), new ItemStack ( MekanismItems . ReinforcedAlloy ));
RecipeHandler . addMetallurgicInfuserRecipe ( InfuseRegistry . get ( "OBSIDIAN" ), 10 , new ItemStack ( MekanismItems . ReinforcedAlloy ), new ItemStack ( MekanismItems . AtomicAlloy ));
2013-12-01 00:04:20 -05:00
2013-12-12 20:35:37 -05:00
//Chemical Infuser Recipes
2014-09-04 04:26:55 +01:00
RecipeHandler . addChemicalInfuserRecipe ( new GasStack ( GasRegistry . getGas ( "oxygen" ), 1 ), new GasStack ( GasRegistry . getGas ( "sulfurDioxideGas" ), 2 ), new GasStack ( GasRegistry . getGas ( "sulfurTrioxideGas" ), 2 ));
RecipeHandler . addChemicalInfuserRecipe ( new GasStack ( GasRegistry . getGas ( "sulfurTrioxideGas" ), 1 ), new GasStack ( GasRegistry . getGas ( "water" ), 1 ), new GasStack ( GasRegistry . getGas ( "sulfuricAcid" ), 1 ));
RecipeHandler . addChemicalInfuserRecipe ( new GasStack ( GasRegistry . getGas ( "hydrogen" ), 1 ), new GasStack ( GasRegistry . getGas ( "chlorine" ), 1 ), new GasStack ( GasRegistry . getGas ( "hydrogenChloride" ), 1 ));
2015-03-05 22:53:07 -05:00
RecipeHandler . addChemicalInfuserRecipe ( new GasStack ( GasRegistry . getGas ( "deuterium" ), 1 ), new GasStack ( GasRegistry . getGas ( "tritium" ), 1 ), new GasStack ( GasRegistry . getGas ( "fusionFuelDT" ), 2 ));
2014-01-01 03:03:23 +00:00
2014-01-02 04:02:00 +00:00
//Electrolytic Separator Recipes
2014-09-05 04:20:12 +01:00
RecipeHandler . addElectrolyticSeparatorRecipe ( FluidRegistry . getFluidStack ( "water" , 2 ), 2 * general . FROM_H2 , new GasStack ( GasRegistry . getGas ( "hydrogen" ), 2 ), new GasStack ( GasRegistry . getGas ( "oxygen" ), 1 ));
RecipeHandler . addElectrolyticSeparatorRecipe ( FluidRegistry . getFluidStack ( "brine" , 10 ), 2 * general . FROM_H2 , new GasStack ( GasRegistry . getGas ( "sodium" ), 1 ), new GasStack ( GasRegistry . getGas ( "chlorine" ), 1 ));
2015-02-24 10:59:03 -05:00
RecipeHandler . addElectrolyticSeparatorRecipe ( FluidRegistry . getFluidStack ( "heavywater" , 2 ), usage . heavyWaterElectrolysisUsage , new GasStack ( GasRegistry . getGas ( "deuterium" ), 2 ), new GasStack ( GasRegistry . getGas ( "oxygen" ), 1 ));
2014-01-28 15:51:30 -05:00
2015-02-24 14:11:26 -05:00
//Solar Evaporation Plant Recipes
2015-05-06 08:34:04 -04:00
RecipeHandler . addSolarEvaporationRecipe ( FluidRegistry . getFluidStack ( "water" , 10 ), FluidRegistry . getFluidStack ( "brine" , 1 ));
2015-02-24 14:11:26 -05:00
RecipeHandler . addSolarEvaporationRecipe ( FluidRegistry . getFluidStack ( "brine" , 10 ), FluidRegistry . getFluidStack ( "lithium" , 1 ));
2015-02-25 09:03:14 -05:00
//Chemical Crystallizer Recipes
2015-03-19 17:44:27 -04:00
RecipeHandler . addChemicalCrystallizerRecipe ( new GasStack ( GasRegistry . getGas ( "lithium" ), 100 ), new ItemStack ( MekanismItems . OtherDust , 1 , 4 ));
RecipeHandler . addChemicalCrystallizerRecipe ( new GasStack ( GasRegistry . getGas ( "brine" ), 15 ), new ItemStack ( MekanismItems . Salt ));
2015-02-25 09:03:14 -05:00
2014-03-15 20:41:42 -04:00
//T4 Processing Recipes
2014-01-28 15:51:30 -05:00
for ( Gas gas : GasRegistry . getRegisteredGasses ())
{
if ( gas instanceof OreGas && ! (( OreGas ) gas ). isClean ())
{
OreGas oreGas = ( OreGas ) gas ;
RecipeHandler . addChemicalWasherRecipe ( new GasStack ( oreGas , 1 ), new GasStack ( oreGas . getCleanGas (), 1 ));
2014-08-01 00:58:12 +01:00
RecipeHandler . addChemicalCrystallizerRecipe ( new GasStack ( oreGas . getCleanGas (), 200 ), new ItemStack ( MekanismItems . Crystal , 1 , Resource . getFromName ( oreGas . getName ()). ordinal ()));
2014-01-28 15:51:30 -05:00
}
}
2014-01-02 04:02:00 +00:00
2014-04-06 01:16:09 +01:00
//Pressurized Reaction Chamber Recipes
RecipeHandler . addPRCRecipe (
2014-09-04 04:26:55 +01:00
new ItemStack ( MekanismItems . BioFuel , 2 ), new FluidStack ( FluidRegistry . WATER , 10 ), new GasStack ( GasRegistry . getGas ( "hydrogen" ), 100 ),
new ItemStack ( MekanismItems . Substrate ), new GasStack ( GasRegistry . getGas ( "ethene" ), 100 ),
2014-04-06 01:16:09 +01:00
0 ,
100
);
RecipeHandler . addPRCRecipe (
2014-09-04 04:26:55 +01:00
new ItemStack ( MekanismItems . Substrate ), new FluidStack ( FluidRegistry . getFluid ( "ethene" ), 50 ), new GasStack ( GasRegistry . getGas ( "oxygen" ), 10 ),
new ItemStack ( MekanismItems . Polyethene ), new GasStack ( GasRegistry . getGas ( "oxygen" ), 5 ),
2014-04-06 01:16:09 +01:00
1000 ,
60
);
2015-03-05 08:53:01 -05:00
RecipeHandler . addPRCRecipe (
new ItemStack ( MekanismItems . Substrate ), new FluidStack ( FluidRegistry . WATER , 200 ), new GasStack ( GasRegistry . getGas ( "ethene" ), 100 ),
new ItemStack ( MekanismItems . Substrate , 8 ), new GasStack ( GasRegistry . getGas ( "oxygen" ), 10 ),
200 ,
400
);
2015-02-26 17:36:24 -05:00
//Solar Neutron Activator Recipes
RecipeHandler . addSolarNeutronRecipe ( new GasStack ( GasRegistry . getGas ( "lithium" ), 1 ), new GasStack ( GasRegistry . getGas ( "tritium" ), 1 ));
2014-12-19 02:23:42 +00:00
2013-12-01 00:04:20 -05:00
//Infuse objects
2014-08-01 00:58:12 +01:00
InfuseRegistry . registerInfuseObject ( new ItemStack ( MekanismItems . BioFuel ), new InfuseObject ( InfuseRegistry . get ( "BIO" ), 5 ));
2014-04-20 04:34:19 +01:00
InfuseRegistry . registerInfuseObject ( new ItemStack ( Items . coal , 1 , 0 ), new InfuseObject ( InfuseRegistry . get ( "CARBON" ), 10 ));
InfuseRegistry . registerInfuseObject ( new ItemStack ( Items . coal , 1 , 1 ), new InfuseObject ( InfuseRegistry . get ( "CARBON" ), 20 ));
2014-08-01 00:58:12 +01:00
InfuseRegistry . registerInfuseObject ( new ItemStack ( MekanismItems . CompressedCarbon ), new InfuseObject ( InfuseRegistry . get ( "CARBON" ), 100 ));
2014-04-20 04:34:19 +01:00
InfuseRegistry . registerInfuseObject ( new ItemStack ( Items . redstone ), new InfuseObject ( InfuseRegistry . get ( "REDSTONE" ), 10 ));
2014-04-20 21:15:44 +01:00
InfuseRegistry . registerInfuseObject ( new ItemStack ( Blocks . redstone_block ), new InfuseObject ( InfuseRegistry . get ( "REDSTONE" ), 90 ));
2014-08-01 00:58:12 +01:00
InfuseRegistry . registerInfuseObject ( new ItemStack ( MekanismItems . CompressedRedstone ), new InfuseObject ( InfuseRegistry . get ( "REDSTONE" ), 100 ));
2014-04-20 21:15:44 +01:00
InfuseRegistry . registerInfuseObject ( new ItemStack ( Blocks . red_mushroom ), new InfuseObject ( InfuseRegistry . get ( "FUNGI" ), 10 ));
InfuseRegistry . registerInfuseObject ( new ItemStack ( Blocks . brown_mushroom ), new InfuseObject ( InfuseRegistry . get ( "FUNGI" ), 10 ));
2014-08-01 00:58:12 +01:00
InfuseRegistry . registerInfuseObject ( new ItemStack ( MekanismItems . CompressedDiamond ), new InfuseObject ( InfuseRegistry . get ( "DIAMOND" ), 100 ));
InfuseRegistry . registerInfuseObject ( new ItemStack ( MekanismItems . CompressedObsidian ), new InfuseObject ( InfuseRegistry . get ( "OBSIDIAN" ), 100 ));
2014-02-10 21:10:30 -05:00
//Fuels
GameRegistry . registerFuelHandler ( new IFuelHandler () {
@Override
public int getBurnTime ( ItemStack fuel )
{
2014-08-01 00:58:12 +01:00
if ( fuel . isItemEqual ( new ItemStack ( MekanismBlocks . BasicBlock , 1 , 3 )))
2014-02-10 21:10:30 -05:00
{
2014-06-09 17:15:34 +02:00
return 200 * 8 * 9 ;
2014-02-10 21:10:30 -05:00
}
return 0 ;
}
2014-08-03 20:21:07 +01:00
});
2014-04-07 00:07:59 +01:00
//Fuel Gases
2014-08-01 00:58:12 +01:00
FuelHandler . addGas ( GasRegistry . getGas ( "hydrogen" ), 1 , general . FROM_H2 );
2014-06-03 11:25:12 +02:00
//RecipeSorter registrations
2016-01-12 18:41:15 -05:00
RecipeSorter . register ( "mekanism_shaped" , ShapedMekanismRecipe . class , Category . SHAPED , "" );
RecipeSorter . register ( "mekanism_shapeless" , ShapelessMekanismRecipe . class , Category . SHAPELESS , "" );
2014-06-03 11:25:12 +02:00
RecipeSorter . register ( "bin" , BinRecipe . class , Category . SHAPELESS , "" );
2012-08-15 16:41:41 -04:00
}
2014-08-03 20:21:07 +01:00
2012-08-26 09:48:42 -04:00
/**
2013-12-01 00:29:08 -05:00
* Registers specified items with the Ore Dictionary.
2012-08-26 09:48:42 -04:00
*/
2013-12-01 00:29:08 -05:00
public void registerOreDict ()
2012-08-26 09:48:42 -04:00
{
2014-07-09 22:06:36 -04:00
//Add specific items to ore dictionary for recipe usage in other mods.
2014-08-01 00:58:12 +01:00
OreDictionary . registerOre ( "universalCable" , new ItemStack ( MekanismItems . PartTransmitter , 8 , 0 ));
OreDictionary . registerOre ( "battery" , MekanismItems . EnergyTablet . getUnchargedItem ());
OreDictionary . registerOre ( "pulpWood" , MekanismItems . Sawdust );
2014-08-09 13:42:13 -04:00
OreDictionary . registerOre ( "dustWood" , MekanismItems . Sawdust );
2014-08-01 00:58:12 +01:00
OreDictionary . registerOre ( "blockSalt" , MekanismBlocks . SaltBlock );
2013-12-01 00:04:20 -05:00
2014-07-09 23:52:01 -04:00
//Alloys!
OreDictionary . registerOre ( "alloyBasic" , new ItemStack ( Items . redstone ));
2014-08-01 00:58:12 +01:00
OreDictionary . registerOre ( "alloyAdvanced" , new ItemStack ( MekanismItems . EnrichedAlloy ));
OreDictionary . registerOre ( "alloyElite" , new ItemStack ( MekanismItems . ReinforcedAlloy ));
OreDictionary . registerOre ( "alloyUltimate" , new ItemStack ( MekanismItems . AtomicAlloy ));
2014-07-09 23:52:01 -04:00
2014-01-17 18:07:29 -05:00
//GregoriousT?
2014-08-01 00:58:12 +01:00
OreDictionary . registerOre ( "itemSalt" , MekanismItems . Salt );
OreDictionary . registerOre ( "dustSalt" , MekanismItems . Salt );
2014-01-13 15:41:23 -05:00
2015-03-17 19:16:36 -04:00
OreDictionary . registerOre ( "dustDiamond" , new ItemStack ( MekanismItems . OtherDust , 1 , 0 ));
OreDictionary . registerOre ( "dustSteel" , new ItemStack ( MekanismItems . OtherDust , 1 , 1 ));
OreDictionary . registerOre ( "dustLead" , new ItemStack ( MekanismItems . OtherDust , 1 , 2 ));
OreDictionary . registerOre ( "dustSulfur" , new ItemStack ( MekanismItems . OtherDust , 1 , 3 ));
OreDictionary . registerOre ( "dustLithium" , new ItemStack ( MekanismItems . OtherDust , 1 , 4 ));
OreDictionary . registerOre ( "dustRefinedObsidian" , new ItemStack ( MekanismItems . OtherDust , 1 , 5 ));
OreDictionary . registerOre ( "dustObsidian" , new ItemStack ( MekanismItems . OtherDust , 1 , 6 ));
2013-12-01 00:04:20 -05:00
2014-08-01 00:58:12 +01:00
OreDictionary . registerOre ( "ingotRefinedObsidian" , new ItemStack ( MekanismItems . Ingot , 1 , 0 ));
OreDictionary . registerOre ( "ingotOsmium" , new ItemStack ( MekanismItems . Ingot , 1 , 1 ));
OreDictionary . registerOre ( "ingotBronze" , new ItemStack ( MekanismItems . Ingot , 1 , 2 ));
OreDictionary . registerOre ( "ingotRefinedGlowstone" , new ItemStack ( MekanismItems . Ingot , 1 , 3 ));
OreDictionary . registerOre ( "ingotSteel" , new ItemStack ( MekanismItems . Ingot , 1 , 4 ));
OreDictionary . registerOre ( "ingotCopper" , new ItemStack ( MekanismItems . Ingot , 1 , 5 ));
OreDictionary . registerOre ( "ingotTin" , new ItemStack ( MekanismItems . Ingot , 1 , 6 ));
2013-12-01 00:04:20 -05:00
2014-08-01 00:58:12 +01:00
OreDictionary . registerOre ( "blockOsmium" , new ItemStack ( MekanismBlocks . BasicBlock , 1 , 0 ));
OreDictionary . registerOre ( "blockBronze" , new ItemStack ( MekanismBlocks . BasicBlock , 1 , 1 ));
OreDictionary . registerOre ( "blockRefinedObsidian" , new ItemStack ( MekanismBlocks . BasicBlock , 1 , 2 ));
OreDictionary . registerOre ( "blockCharcoal" , new ItemStack ( MekanismBlocks . BasicBlock , 1 , 3 ));
OreDictionary . registerOre ( "blockRefinedGlowstone" , new ItemStack ( MekanismBlocks . BasicBlock , 1 , 4 ));
OreDictionary . registerOre ( "blockSteel" , new ItemStack ( MekanismBlocks . BasicBlock , 1 , 5 ));
OreDictionary . registerOre ( "blockCopper" , new ItemStack ( MekanismBlocks . BasicBlock , 1 , 12 ));
OreDictionary . registerOre ( "blockTin" , new ItemStack ( MekanismBlocks . BasicBlock , 1 , 13 ));
2013-12-01 00:04:20 -05:00
2014-01-21 17:58:00 -05:00
for ( Resource resource : Resource . values ())
{
2015-03-17 19:16:36 -04:00
OreDictionary . registerOre ( "dust" + resource . getName (), new ItemStack ( MekanismItems . Dust , 1 , resource . ordinal ()));
2014-08-01 00:58:12 +01:00
OreDictionary . registerOre ( "dustDirty" + resource . getName (), new ItemStack ( MekanismItems . DirtyDust , 1 , resource . ordinal ()));
OreDictionary . registerOre ( "clump" + resource . getName (), new ItemStack ( MekanismItems . Clump , 1 , resource . ordinal ()));
OreDictionary . registerOre ( "shard" + resource . getName (), new ItemStack ( MekanismItems . Shard , 1 , resource . ordinal ()));
OreDictionary . registerOre ( "crystal" + resource . getName (), new ItemStack ( MekanismItems . Crystal , 1 , resource . ordinal ()));
2014-01-21 17:58:00 -05:00
}
2014-01-21 11:28:43 -05:00
2014-08-01 00:58:12 +01:00
OreDictionary . registerOre ( "oreOsmium" , new ItemStack ( MekanismBlocks . OreBlock , 1 , 0 ));
OreDictionary . registerOre ( "oreCopper" , new ItemStack ( MekanismBlocks . OreBlock , 1 , 1 ));
OreDictionary . registerOre ( "oreTin" , new ItemStack ( MekanismBlocks . OreBlock , 1 , 2 ));
2013-12-03 16:56:03 -05:00
2014-08-01 00:58:12 +01:00
if ( general . controlCircuitOreDict )
2013-02-14 13:26:13 -05:00
{
2014-08-01 00:58:12 +01:00
OreDictionary . registerOre ( "circuitBasic" , new ItemStack ( MekanismItems . ControlCircuit , 1 , 0 ));
OreDictionary . registerOre ( "circuitAdvanced" , new ItemStack ( MekanismItems . ControlCircuit , 1 , 1 ));
OreDictionary . registerOre ( "circuitElite" , new ItemStack ( MekanismItems . ControlCircuit , 1 , 2 ));
OreDictionary . registerOre ( "circuitUltimate" , new ItemStack ( MekanismItems . ControlCircuit , 1 , 3 ));
2013-02-14 13:26:13 -05:00
}
2013-12-01 00:04:20 -05:00
2014-08-01 00:58:12 +01:00
OreDictionary . registerOre ( "itemCompressedCarbon" , new ItemStack ( MekanismItems . CompressedCarbon ));
OreDictionary . registerOre ( "itemEnrichedAlloy" , new ItemStack ( MekanismItems . EnrichedAlloy ));
OreDictionary . registerOre ( "itemBioFuel" , new ItemStack ( MekanismItems . BioFuel ));
2013-12-24 11:55:40 -05:00
}
/**
* 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 ()
{
2013-12-01 00:04:20 -05:00
if ( hooks . MetallurgyCoreLoaded )
{
try {
String [] setNames = { "base" , "precious" , "nether" , "fantasy" , "ender" , "utility" };
for ( String setName : setNames )
2013-06-01 23:20:15 -04:00
{
2013-12-01 00:04:20 -05:00
for ( IOreInfo oreInfo : MetallurgyAPI . getMetalSet ( setName ). getOreList (). values ())
2013-06-01 23:20:15 -04:00
{
2013-12-01 00:04:20 -05:00
switch ( oreInfo . getType ())
2013-06-07 11:16:47 -04:00
{
2013-12-01 00:04:20 -05:00
case ALLOY :
2013-06-01 23:20:15 -04:00
{
2013-12-01 00:04:20 -05:00
if ( oreInfo . getIngot () != null && oreInfo . getDust () != null )
2013-06-01 23:20:15 -04:00
{
2013-06-07 11:33:12 -04:00
RecipeHandler . addCrusherRecipe ( MekanismUtils . size ( oreInfo . getIngot (), 1 ), MekanismUtils . size ( oreInfo . getDust (), 1 ));
2013-04-28 23:38:46 +03:00
}
2013-12-01 00:04:20 -05:00
2013-04-28 23:38:46 +03:00
break ;
}
2013-12-01 00:04:20 -05:00
case DROP :
2013-06-01 23:20:15 -04:00
{
2013-04-28 23:38:46 +03:00
ItemStack ore = oreInfo . getOre ();
ItemStack drop = oreInfo . getDrop ();
2013-12-01 00:04:20 -05:00
if ( drop != null && ore != null )
{
2013-06-07 11:33:12 -04:00
RecipeHandler . addEnrichmentChamberRecipe ( MekanismUtils . size ( ore , 1 ), MekanismUtils . size ( drop , 12 ));
2013-04-28 23:38:46 +03:00
}
2013-12-01 00:04:20 -05:00
2013-04-28 23:38:46 +03:00
break ;
}
2013-12-01 00:04:20 -05:00
default :
2013-06-01 23:20:15 -04:00
{
2013-04-28 23:38:46 +03:00
ItemStack ore = oreInfo . getOre ();
ItemStack dust = oreInfo . getDust ();
ItemStack ingot = oreInfo . getIngot ();
2013-12-01 00:04:20 -05:00
if ( ore != null && dust != null )
2013-06-01 23:20:15 -04:00
{
2013-06-07 11:33:12 -04:00
RecipeHandler . addEnrichmentChamberRecipe ( MekanismUtils . size ( ore , 1 ), MekanismUtils . size ( dust , 2 ));
RecipeHandler . addCombinerRecipe ( MekanismUtils . size ( dust , 8 ), MekanismUtils . size ( ore , 1 ));
2013-04-28 23:38:46 +03:00
}
2013-12-01 00:04:20 -05:00
if ( ingot != null && dust != null )
2013-06-01 23:20:15 -04:00
{
2013-06-07 11:33:12 -04:00
RecipeHandler . addCrusherRecipe ( MekanismUtils . size ( ingot , 1 ), MekanismUtils . size ( dust , 1 ));
2013-04-28 23:38:46 +03:00
}
2013-12-01 00:04:20 -05:00
2013-04-28 23:38:46 +03:00
break ;
}
}
}
}
2013-12-01 00:04:20 -05:00
} catch ( Exception e ) {}
2013-04-28 23:38:46 +03:00
}
2012-08-26 09:48:42 -04:00
}
2013-12-01 00:04:20 -05:00
2012-08-15 16:41:41 -04:00
/**
* Adds and registers all entities and tile entities.
*/
public void addEntities ()
{
2013-12-01 00:04:20 -05:00
//Registrations
2014-07-17 20:06:51 -04:00
EntityRegistry . registerModEntity ( EntityObsidianTNT . class , "ObsidianTNT" , 0 , this , 64 , 5 , true );
EntityRegistry . registerModEntity ( EntityRobit . class , "Robit" , 1 , this , 64 , 2 , true );
EntityRegistry . registerModEntity ( EntityBalloon . class , "Balloon" , 2 , this , 64 , 1 , true );
2014-07-12 22:34:58 -04:00
EntityRegistry . registerModEntity ( EntityBabySkeleton . class , "BabySkeleton" , 3 , this , 64 , 5 , true );
2014-07-17 20:06:51 -04:00
EntityRegistry . registerModEntity ( EntityFlame . class , "Flame" , 4 , this , 64 , 5 , true );
2013-12-01 00:04:20 -05:00
//Tile entities
2013-03-11 13:49:01 -04:00
GameRegistry . registerTileEntity ( TileEntityBoundingBlock . class , "BoundingBlock" );
2013-11-21 14:35:33 -05:00
GameRegistry . registerTileEntity ( TileEntityAdvancedBoundingBlock . class , "AdvancedBoundingBlock" );
2014-01-12 21:23:34 -05:00
GameRegistry . registerTileEntity ( TileEntityCardboardBox . class , "CardboardBox" );
2015-02-23 08:08:54 -05:00
GameRegistry . registerTileEntity ( TileEntitySolarEvaporationValve . class , "SalinationValve" );
GameRegistry . registerTileEntity ( TileEntitySolarEvaporationBlock . class , "SalinationTank" );
2014-08-10 02:16:35 +01:00
GameRegistry . registerTileEntity ( TileEntityEntangledBlock . class , "EntangledBlock" );
2016-01-13 18:02:47 -05:00
GameRegistry . registerTileEntity ( TileEntityThermoelectricBoiler . class , "ThermoelectricBoiler" );
GameRegistry . registerTileEntity ( TileEntityThermoelectricValve . class , "ThermoelectricValve" );
2014-04-10 03:05:28 +01:00
2013-12-01 00:04:20 -05:00
//Load tile entities that have special renderers.
2012-11-21 10:14:35 -05:00
proxy . registerSpecialTileEntities ();
2012-08-15 16:41:41 -04:00
}
2013-12-01 00:04:20 -05:00
2013-07-20 12:10:14 -04:00
@EventHandler
2013-02-14 13:26:13 -05:00
public void serverStarting ( FMLServerStartingEvent event )
2012-10-03 15:12:17 -04:00
{
2014-08-01 00:58:12 +01:00
if ( general . voiceServerEnabled )
2013-10-26 23:55:11 -04:00
{
voiceManager . start ();
}
2013-12-01 00:04:20 -05:00
2014-01-01 16:21:55 -05:00
//Load cached furnace recipes
2014-09-05 18:31:10 +01:00
Recipe . ENERGIZED_SMELTER . get (). clear ();
2014-01-01 16:21:55 -05:00
for ( Object obj : FurnaceRecipes . smelting (). getSmeltingList (). entrySet ())
{
2014-05-31 22:42:02 +02:00
Map . Entry < ItemStack , ItemStack > entry = ( Map . Entry < ItemStack , ItemStack > ) obj ;
2014-09-05 18:31:10 +01:00
SmeltingRecipe recipe = new SmeltingRecipe ( new ItemStackInput ( entry . getKey ()), new ItemStackOutput ( entry . getValue ()));
Recipe . ENERGIZED_SMELTER . put ( recipe );
2014-01-01 16:21:55 -05:00
}
2013-02-14 13:26:13 -05:00
event . registerServerCommand ( new CommandMekanism ());
2012-10-03 15:12:17 -04:00
}
2013-12-01 00:04:20 -05:00
2013-07-20 12:10:14 -04:00
@EventHandler
2012-12-30 16:34:45 -05:00
public void serverStopping ( FMLServerStoppingEvent event )
{
2014-08-01 00:58:12 +01:00
if ( general . voiceServerEnabled )
2013-10-26 23:55:11 -04:00
{
voiceManager . stop ();
}
2013-12-01 00:04:20 -05:00
2013-12-24 13:25:31 -05:00
//Clear all cache data
2013-12-04 15:43:03 -05:00
jetpackOn . clear ();
2013-12-06 15:26:44 -05:00
gasmaskOn . clear ();
2014-03-15 20:05:26 -04:00
activeVibrators . clear ();
2014-07-09 22:06:36 -04:00
worldTickHandler . resetRegenChunks ();
2015-03-12 01:18:21 -05:00
privateTeleporters . clear ();
2013-12-06 15:26:44 -05:00
2014-08-08 00:13:17 -04:00
//Reset consistent managers
2014-08-01 13:04:31 -04:00
MultiblockManager . reset ();
2015-03-11 17:42:33 -05:00
FrequencyManager . reset ();
2014-08-08 00:13:17 -04:00
TransporterManager . reset ();
2014-08-17 21:36:16 -04:00
PathfinderCache . reset ();
2015-04-02 03:22:53 +01:00
TransmitterNetworkRegistry . reset ();
2012-12-30 16:34:45 -05:00
}
2013-12-01 00:04:20 -05:00
2015-03-17 08:43:41 -04:00
@EventHandler
public void loadComplete ( FMLLoadCompleteEvent event )
{
new IMCHandler (). onIMCEvent ( FMLInterModComms . fetchRuntimeMessages ( this ));
}
2013-07-20 12:10:14 -04:00
@EventHandler
2012-10-18 10:26:34 -04:00
public void preInit ( FMLPreInitializationEvent event )
{
2013-03-18 12:23:57 -04:00
File config = event . getSuggestedConfigurationFile ();
2013-12-01 00:04:20 -05:00
//Set the mod's configuration
2013-03-18 12:23:57 -04:00
configuration = new Configuration ( config );
2013-12-01 00:04:20 -05:00
if ( config . getAbsolutePath (). contains ( "voltz" ))
2013-03-18 12:23:57 -04:00
{
2014-04-20 21:15:44 +01:00
logger . info ( "Detected Voltz in root directory - hello, fellow user!" );
2013-03-18 12:23:57 -04:00
}
2013-12-01 00:04:20 -05:00
else if ( config . getAbsolutePath (). contains ( "tekkit" ))
2013-05-19 18:43:01 -04:00
{
2014-04-20 21:15:44 +01:00
logger . info ( "Detected Tekkit in root directory - hello, fellow user!" );
2013-05-19 18:43:01 -04:00
}
2013-12-01 00:04:20 -05:00
2013-11-28 21:43:53 -05:00
GasRegistry . register ( new Gas ( "hydrogen" )). registerFluid ();
GasRegistry . register ( new Gas ( "oxygen" )). registerFluid ();
2014-01-01 19:55:18 +00:00
GasRegistry . register ( new Gas ( "water" )). registerFluid ();
2014-01-03 00:24:22 +00:00
GasRegistry . register ( new Gas ( "chlorine" )). registerFluid ();
2013-12-31 22:21:28 +00:00
GasRegistry . register ( new Gas ( "sulfurDioxideGas" )). registerFluid ();
GasRegistry . register ( new Gas ( "sulfurTrioxideGas" )). registerFluid ();
2013-12-12 20:35:37 -05:00
GasRegistry . register ( new Gas ( "sulfuricAcid" )). registerFluid ();
2014-01-05 03:47:41 +00:00
GasRegistry . register ( new Gas ( "hydrogenChloride" )). registerFluid ();
2014-01-16 19:00:53 -05:00
GasRegistry . register ( new Gas ( "liquidOsmium" ). setVisible ( false ));
GasRegistry . register ( new Gas ( "liquidStone" ). setVisible ( false ));
2014-04-06 01:16:09 +01:00
GasRegistry . register ( new Gas ( "ethene" ). registerFluid ());
2014-07-09 23:52:01 -04:00
GasRegistry . register ( new Gas ( "sodium" ). registerFluid ());
GasRegistry . register ( new Gas ( "brine" ). registerFluid ());
2014-07-15 00:13:20 +01:00
GasRegistry . register ( new Gas ( "deuterium" )). registerFluid ();
GasRegistry . register ( new Gas ( "tritium" )). registerFluid ();
GasRegistry . register ( new Gas ( "fusionFuelDT" )). registerFluid ();
GasRegistry . register ( new Gas ( "steam" )). registerFluid ();
2015-02-25 08:44:24 -05:00
GasRegistry . register ( new Gas ( "lithium" )). registerFluid ();
2014-01-21 17:58:00 -05:00
2015-02-17 21:27:35 -05:00
FluidRegistry . registerFluid ( new Fluid ( "heavyWater" ));
2014-01-21 17:58:00 -05:00
for ( Resource resource : Resource . values ())
{
String name = resource . getName ();
2014-01-28 15:51:30 -05:00
OreGas clean = ( OreGas ) GasRegistry . register ( new OreGas ( "clean" + name , "oregas." + name . toLowerCase ()). setVisible ( false ));
GasRegistry . register ( new OreGas ( name . toLowerCase (), "oregas." + name . toLowerCase ()). setCleanGas ( clean ). setVisible ( false ));
2014-01-21 17:58:00 -05:00
}
2013-12-01 00:04:20 -05:00
2013-11-24 12:12:42 -06:00
Mekanism . proxy . preInit ();
2014-08-03 20:21:07 +01:00
//Register blocks and items
MekanismItems . register ();
MekanismBlocks . register ();
2013-12-01 00:04:20 -05:00
//Register infuses
2016-01-29 17:47:41 -07:00
InfuseRegistry . registerInfuseType ( new InfuseType ( "CARBON" , "mekanism:infuse/Carbon" ). setUnlocalizedName ( "carbon" ));
InfuseRegistry . registerInfuseType ( new InfuseType ( "TIN" , "mekanism:infuse/Tin" ). setUnlocalizedName ( "tin" ));
InfuseRegistry . registerInfuseType ( new InfuseType ( "DIAMOND" , "mekanism:infuse/Diamond" ). setUnlocalizedName ( "diamond" ));
InfuseRegistry . registerInfuseType ( new InfuseType ( "REDSTONE" , "mekanism:infuse/Redstone" ). setUnlocalizedName ( "redstone" ));
InfuseRegistry . registerInfuseType ( new InfuseType ( "FUNGI" , "mekanism:infuse/Fungi" ). setUnlocalizedName ( "fungi" ));
InfuseRegistry . registerInfuseType ( new InfuseType ( "BIO" , "mekanism:infuse/Bio" ). setUnlocalizedName ( "bio" ));
InfuseRegistry . registerInfuseType ( new InfuseType ( "OBSIDIAN" , "mekanism:infuse/Obsidian" ). setUnlocalizedName ( "obsidian" ));
2012-10-18 10:26:34 -04:00
}
2013-12-01 00:04:20 -05:00
2013-07-20 12:10:14 -04:00
@EventHandler
2013-12-01 00:04:20 -05:00
public void init ( FMLInitializationEvent event )
2012-08-15 16:41:41 -04:00
{
2014-07-09 22:06:36 -04:00
//Register the mod's world generators
GameRegistry . registerWorldGenerator ( genHandler , 1 );
2013-12-01 00:04:20 -05:00
//Register the mod's GUI handler
2014-04-20 21:15:44 +01:00
NetworkRegistry . INSTANCE . registerGuiHandler ( this , new CoreGuiHandler ());
2013-12-01 00:04:20 -05:00
2014-06-03 19:54:45 +02:00
//Register player tracker
FMLCommonHandler . instance (). bus (). register ( new CommonPlayerTracker ());
2014-06-10 12:49:49 +02:00
FMLCommonHandler . instance (). bus (). register ( new CommonPlayerTickHandler ());
2014-06-03 19:54:45 +02:00
2013-12-01 00:04:20 -05:00
//Initialization notification
2014-06-03 08:46:03 +02:00
logger . info ( "Version " + versionNumber + " initializing..." );
2013-12-01 00:04:20 -05:00
//Get data from server.
2012-09-08 12:48:24 -04:00
new ThreadGetData ();
2013-12-01 00:04:20 -05:00
2015-03-12 22:55:37 -05:00
//Register with ForgeChunkManager
ForgeChunkManager . setForcedChunkLoadingCallback ( this , new ChunkManager ());
2013-12-01 00:04:20 -05:00
//Register to receive subscribed events
2014-07-07 21:17:15 +01:00
FMLCommonHandler . instance (). bus (). register ( this );
2012-11-08 21:22:18 -05:00
MinecraftForge . EVENT_BUS . register ( this );
2016-01-25 00:13:42 -05:00
//Register this module's GUI handler in the simple packet protocol
PacketSimpleGui . handlers . add ( 0 , proxy );
2013-12-12 20:23:03 +00:00
2013-12-01 00:04:20 -05:00
//Set up VoiceServerManager
2014-08-01 00:58:12 +01:00
if ( general . voiceServerEnabled )
2013-10-26 23:55:11 -04:00
{
voiceManager = new VoiceServerManager ();
}
2013-12-01 00:04:20 -05:00
//Register with TransmitterNetworkRegistry
2013-08-18 16:51:47 -04:00
TransmitterNetworkRegistry . initiate ();
2013-12-01 00:04:20 -05:00
//Load configuration
2013-05-23 13:30:12 -04:00
proxy . loadConfiguration ();
2015-03-21 00:50:19 -05:00
proxy . onConfigSync ( false );
2014-07-12 22:34:58 -04:00
//Add baby skeleton spawner
2014-08-01 00:58:12 +01:00
if ( general . spawnBabySkeletons )
2014-07-12 22:34:58 -04:00
{
for ( BiomeGenBase biome : WorldChunkManager . allowedBiomes )
{
if ( biome . getSpawnableList ( EnumCreatureType . monster ) != null && biome . getSpawnableList ( EnumCreatureType . monster ). size () > 0 )
{
2014-07-12 23:59:39 -04:00
EntityRegistry . addSpawn ( EntityBabySkeleton . class , 40 , 1 , 3 , EnumCreatureType . monster , new BiomeGenBase [] { biome });
2014-07-12 22:34:58 -04:00
}
}
}
2012-09-08 12:48:24 -04:00
2013-12-01 00:04:20 -05:00
//Load this module
2012-08-15 16:41:41 -04:00
addRecipes ();
addEntities ();
2013-12-01 00:04:20 -05:00
2015-03-22 01:33:17 -05:00
//Integrate certain OreDictionary recipes
2013-12-01 13:58:12 +08:00
registerOreDict ();
2013-12-22 01:42:18 +00:00
2015-03-22 01:33:17 -05:00
//Set up multiparts
2013-12-22 01:42:18 +00:00
new MultipartMekanism ();
2015-03-22 01:33:17 -05:00
//Integrate with Waila
FMLInterModComms . sendMessage ( "Waila" , "register" , "mekanism.common.integration.WailaDataProvider.register" );
2013-12-22 01:42:18 +00:00
2015-07-20 10:53:12 -07:00
//Integrate with OpenComputers
if ( Loader . isModLoaded ( "OpenComputers" ))
{
hooks . loadOCDrivers ();
}
2015-07-25 10:20:06 +08:00
if ( Loader . isModLoaded ( "appliedenergistics2" ))
{
hooks . registerAE2P2P ();
}
2013-12-01 00:04:20 -05:00
//Packet registrations
2014-06-11 11:57:49 +02:00
packetHandler . initialize ();
2014-04-20 21:15:44 +01:00
2013-12-01 00:04:20 -05:00
//Load proxy
2013-05-19 18:43:01 -04:00
proxy . registerRenderInformation ();
proxy . loadUtilities ();
2013-12-01 00:04:20 -05:00
//Completion notification
2014-04-20 21:15:44 +01:00
logger . info ( "Loading complete." );
2013-12-01 00:04:20 -05:00
//Success message
2014-04-20 21:15:44 +01:00
logger . info ( "Mod loaded." );
2013-12-01 13:23:27 +08:00
}
@EventHandler
public void postInit ( FMLPostInitializationEvent event )
2015-06-29 10:45:39 -07:00
{
logger . info ( "Fake player readout: UUID = " + gameProfile . getId (). toString () + ", name = " + gameProfile . getName ());
2015-07-20 10:53:12 -07:00
2013-12-01 00:29:08 -05:00
hooks . hook ();
2014-02-01 19:02:51 -05:00
MinecraftForge . EVENT_BUS . post ( new BoxBlacklistEvent ());
2014-01-18 00:50:56 -05:00
2013-12-01 00:29:08 -05:00
addIntegratedItems ();
2013-12-24 11:55:40 -05:00
OreDictManager . init ();
2015-03-21 00:50:19 -05:00
//Update the config-dependent recipes after the recipes have actually been added in the first place
Mekanism . proxy . updateConfigRecipes ();
2014-04-20 21:15:44 +01:00
logger . info ( "Hooking complete." );
2012-08-15 16:41:41 -04:00
}
2013-12-01 00:04:20 -05:00
2014-04-20 04:34:19 +01:00
@SubscribeEvent
2013-08-04 01:48:13 +01:00
public void onEnergyTransferred ( EnergyTransferEvent event )
{
2013-12-01 00:04:20 -05:00
try {
2015-04-02 03:22:53 +01:00
packetHandler . sendToReceivers ( new TransmitterUpdateMessage ( PacketType . ENERGY , event . energyNetwork . transmitters . iterator (). next (). coord (), event . power ), event . energyNetwork . getPacketRange ());
2013-12-01 00:04:20 -05:00
} catch ( Exception e ) {}
2013-08-04 01:48:13 +01:00
}
2013-12-01 00:04:20 -05:00
2014-04-20 04:34:19 +01:00
@SubscribeEvent
2013-04-23 15:36:43 -04:00
public void onGasTransferred ( GasTransferEvent event )
{
2013-12-01 00:04:20 -05:00
try {
2015-04-02 03:22:53 +01:00
packetHandler . sendToReceivers ( new TransmitterUpdateMessage ( PacketType . GAS , event . gasNetwork . transmitters . iterator (). next (). coord (), event . transferType , event . didTransfer ), event . gasNetwork . getPacketRange ());
2013-12-01 00:04:20 -05:00
} catch ( Exception e ) {}
2013-04-23 15:36:43 -04:00
}
2013-12-01 00:04:20 -05:00
2014-04-20 04:34:19 +01:00
@SubscribeEvent
2013-07-20 12:10:14 -04:00
public void onLiquidTransferred ( FluidTransferEvent event )
2013-04-28 15:23:08 -04:00
{
2013-12-01 00:04:20 -05:00
try {
2015-04-06 01:29:07 +01:00
packetHandler . sendToReceivers ( new TransmitterUpdateMessage ( PacketType . FLUID , event . fluidNetwork . transmitters . iterator (). next (). coord (), event . fluidType , event . didTransfer ), event . fluidNetwork . getPacketRange ());
2015-04-02 03:22:53 +01:00
} catch ( Exception e ) {}
}
@SubscribeEvent
public void onTransmittersAddedEvent ( TransmittersAddedEvent event )
{
try {
2015-04-03 18:04:56 +01:00
packetHandler . sendToReceivers ( new TransmitterUpdateMessage ( PacketType . UPDATE , event . network . transmitters . iterator (). next (). coord (), event . newNetwork , event . newTransmitters ), event . network . getPacketRange ());
2013-12-01 00:04:20 -05:00
} catch ( Exception e ) {}
2013-04-28 15:23:08 -04:00
}
2013-12-01 00:04:20 -05:00
2014-04-20 04:34:19 +01:00
@SubscribeEvent
2013-11-30 00:28:02 -05:00
public void onNetworkClientRequest ( NetworkClientRequest event )
{
2013-12-01 00:04:20 -05:00
try {
2014-06-11 11:57:49 +02:00
packetHandler . sendToServer ( new DataRequestMessage ( Coord4D . get ( event . tileEntity )));
2013-12-01 00:04:20 -05:00
} catch ( Exception e ) {}
2013-11-30 00:28:02 -05:00
}
2013-12-01 00:04:20 -05:00
2014-04-20 04:34:19 +01:00
@SubscribeEvent
2013-11-30 23:19:24 -05:00
public void onClientTickUpdate ( ClientTickUpdate event )
{
2013-12-01 00:04:20 -05:00
try {
if ( event . operation == 0 )
2013-11-30 23:19:24 -05:00
{
ClientTickHandler . tickingSet . remove ( event . network );
}
2013-12-01 00:04:20 -05:00
else {
2013-11-30 23:19:24 -05:00
ClientTickHandler . tickingSet . add ( event . network );
}
2013-12-01 00:04:20 -05:00
} catch ( Exception e ) {}
2013-11-30 23:19:24 -05:00
}
2013-12-01 00:04:20 -05:00
2014-04-20 04:34:19 +01:00
@SubscribeEvent
2014-02-01 19:02:51 -05:00
public void onBlacklistUpdate ( BoxBlacklistEvent event )
{
2014-08-01 00:58:12 +01:00
MekanismAPI . addBoxBlacklist ( MekanismBlocks . CardboardBox , OreDictionary . WILDCARD_VALUE );
MekanismAPI . addBoxBlacklist ( MekanismBlocks . BoundingBlock , OreDictionary . WILDCARD_VALUE );
2014-04-20 21:15:44 +01:00
MekanismAPI . addBoxBlacklist ( Blocks . bedrock , 0 );
MekanismAPI . addBoxBlacklist ( Blocks . portal , OreDictionary . WILDCARD_VALUE );
MekanismAPI . addBoxBlacklist ( Blocks . end_portal , OreDictionary . WILDCARD_VALUE );
MekanismAPI . addBoxBlacklist ( Blocks . end_portal_frame , OreDictionary . WILDCARD_VALUE );
MekanismAPI . addBoxBlacklist ( Blocks . bed , OreDictionary . WILDCARD_VALUE );
MekanismAPI . addBoxBlacklist ( Blocks . wooden_door , OreDictionary . WILDCARD_VALUE );
MekanismAPI . addBoxBlacklist ( Blocks . iron_door , OreDictionary . WILDCARD_VALUE );
MekanismAPI . addBoxBlacklist ( MultipartProxy . block (), OreDictionary . WILDCARD_VALUE );
2014-02-01 19:02:51 -05:00
BoxBlacklistParser . load ();
}
2014-04-20 04:34:19 +01:00
@SubscribeEvent
2013-11-30 12:29:49 -05:00
public synchronized void onChunkLoad ( ChunkEvent . Load event )
2013-11-03 16:54:33 -05:00
{
2013-12-02 11:20:25 -05:00
if ( event . getChunk () != null && ! event . world . isRemote )
{
Map copy = ( Map )(( HashMap ) event . getChunk (). chunkTileEntityMap ). clone ();
2013-12-01 00:04:20 -05:00
2013-12-02 11:20:25 -05:00
for ( Iterator iter = copy . values (). iterator (); iter . hasNext ();)
{
Object obj = iter . next ();
if ( obj instanceof TileEntity )
{
TileEntity tileEntity = ( TileEntity ) obj ;
2014-06-26 18:16:33 +01:00
if ( tileEntity instanceof TileEntityElectricBlock && MekanismUtils . useIC2 ())
2013-12-02 11:20:25 -05:00
{
(( TileEntityElectricBlock ) tileEntity ). register ();
}
2015-03-08 00:59:39 -06:00
else if ( tileEntity instanceof IChunkLoadHandler )
{
(( IChunkLoadHandler ) tileEntity ). onChunkLoad ();
}
2013-12-02 11:20:25 -05:00
}
}
}
2013-11-03 16:54:33 -05:00
}
2014-07-09 22:06:36 -04:00
2014-07-20 15:27:35 -04:00
@SubscribeEvent
public void chunkSave ( ChunkDataEvent . Save event )
{
if ( ! event . world . isRemote )
{
NBTTagCompound nbtTags = event . getData ();
nbtTags . setInteger ( "MekanismWorldGen" , baseWorldGenVersion );
2014-08-01 00:58:12 +01:00
nbtTags . setInteger ( "MekanismUserWorldGen" , general . userWorldGenVersion );
2014-07-20 15:27:35 -04:00
}
}
2014-07-09 22:06:36 -04:00
@SubscribeEvent
public synchronized void onChunkDataLoad ( ChunkDataEvent . Load event )
{
if ( ! event . world . isRemote )
{
2014-08-01 00:58:12 +01:00
if ( general . enableWorldRegeneration )
2014-07-09 22:06:36 -04:00
{
NBTTagCompound loadData = event . getData ();
2014-08-01 00:58:12 +01:00
if ( loadData . getInteger ( "MekanismWorldGen" ) == baseWorldGenVersion && loadData . getInteger ( "MekanismUserWorldGen" ) == general . userWorldGenVersion )
2014-07-09 22:06:36 -04:00
{
return ;
}
ChunkCoordIntPair coordPair = event . getChunk (). getChunkCoordIntPair ();
worldTickHandler . addRegenChunk ( event . world . provider . dimensionId , coordPair );
}
}
}
2014-06-27 03:22:46 +01:00
@SubscribeEvent
public void onConfigChanged ( ConfigChangedEvent . OnConfigChangedEvent event )
{
2014-07-07 21:17:15 +01:00
if ( event . modID . equals ( "Mekanism" ))
2014-06-27 03:22:46 +01:00
{
proxy . loadConfiguration ();
2015-03-21 00:50:19 -05:00
proxy . onConfigSync ( false );
2014-06-27 03:22:46 +01:00
}
}
2013-09-07 23:21:25 +08:00
}