From f465c6cf477499638f234efe3fa18388a338d4e5 Mon Sep 17 00:00:00 2001 From: drcrazy Date: Tue, 22 Aug 2017 00:25:13 +0300 Subject: [PATCH] Refactored Crafting Table recipies; Fixed IDE warnings for unused (#1241) imports; Update CoFH deps to fix build --- build.gradle | 4 +- src/main/java/techreborn/init/IC2Dict.java | 4 +- src/main/java/techreborn/init/ModItems.java | 1 - src/main/java/techreborn/init/ModRecipes.java | 201 +----------------- src/main/java/techreborn/init/OreDict.java | 2 - .../init/recipes/CraftingTableRecipes.java | 179 +++++++++------- 6 files changed, 121 insertions(+), 270 deletions(-) diff --git a/build.gradle b/build.gradle index e6ce90e69..05e4248ca 100644 --- a/build.gradle +++ b/build.gradle @@ -118,8 +118,8 @@ dependencies { compile "CraftTweaker2:CraftTweaker2-MC1120-Main:1.12-4.0.0.5" deobfCompile 'net.industrial-craft:industrialcraft-2:2.8.7-ex112' //compile name: 'buildcraft', version: '7.99.4', ext: 'jar' - deobfCompile 'cofh:ThermalDynamics:1.12-2.3.1.6:universal' - deobfCompile 'cofh:ThermalExpansion:1.12-5.3.1.6:universal' + deobfCompile 'cofh:ThermalDynamics:1.12-2.3.4.11:universal' + deobfCompile 'cofh:ThermalExpansion:1.12-5.3.4.16:universal' } diff --git a/src/main/java/techreborn/init/IC2Dict.java b/src/main/java/techreborn/init/IC2Dict.java index 0cdcd7808..65710fc8d 100644 --- a/src/main/java/techreborn/init/IC2Dict.java +++ b/src/main/java/techreborn/init/IC2Dict.java @@ -36,7 +36,6 @@ import ic2.core.ref.BlockName; import ic2.core.ref.ItemName; import ic2.core.ref.TeBlock; import net.minecraft.item.ItemStack; -import net.minecraftforge.oredict.OreDictionary; import reborncore.api.recipe.RecipeHandler; import reborncore.common.util.OreUtil; import techreborn.Core; @@ -150,8 +149,7 @@ public class IC2Dict { if (insulation > type.maxInsulation) { return null; } - ItemCable itemCable = ItemName.cable.getInstance(); - return itemCable.getCable(type, insulation); + return ItemCable.getCable(type, insulation); } } diff --git a/src/main/java/techreborn/init/ModItems.java b/src/main/java/techreborn/init/ModItems.java index 485246a6b..e150bf1d9 100644 --- a/src/main/java/techreborn/init/ModItems.java +++ b/src/main/java/techreborn/init/ModItems.java @@ -27,7 +27,6 @@ package techreborn.init; import net.minecraft.inventory.EntityEquipmentSlot; import net.minecraft.item.Item; import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.oredict.OreDictionary; import reborncore.RebornRegistry; import reborncore.api.power.IEnergyInterfaceItem; import reborncore.api.power.IEnergyItemInfo; diff --git a/src/main/java/techreborn/init/ModRecipes.java b/src/main/java/techreborn/init/ModRecipes.java index cbd0b463d..deaadfbd3 100644 --- a/src/main/java/techreborn/init/ModRecipes.java +++ b/src/main/java/techreborn/init/ModRecipes.java @@ -28,9 +28,9 @@ import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; -import net.minecraftforge.common.ForgeModContainer; import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.UniversalBucket; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.FluidUtil; import net.minecraftforge.fml.common.Loader; import net.minecraftforge.oredict.OreDictionary; import reborncore.api.recipe.RecipeHandler; @@ -38,7 +38,6 @@ import reborncore.common.registration.RebornRegistry; import reborncore.common.util.ItemUtils; import reborncore.common.util.OreUtil; import reborncore.common.util.RebornCraftingHelper; -import reborncore.common.util.StringUtils; import techreborn.Core; import techreborn.api.reactor.FusionReactorRecipe; import techreborn.api.reactor.FusionReactorRecipeHelper; @@ -53,6 +52,7 @@ import techreborn.lib.ModInfo; import java.util.Iterator; import java.util.Map; +import java.util.Map.Entry; import static techreborn.utils.OreDictUtils.getDictData; import static techreborn.utils.OreDictUtils.getDictOreOrEmpty; @@ -79,15 +79,10 @@ public class ModRecipes { ImplosionCompressorRecipes.init(); ScrapboxRecipes.init(); - addGeneralShapedRecipes(); - addMachineRecipes(); - addAlloySmelterRecipes(); addChemicalReactorRecipes(); - addBlastFurnaceRecipes(); addVacuumFreezerRecipes(); - addReactorRecipes(); addIc2Recipes(); addGrinderRecipes(); @@ -96,10 +91,10 @@ public class ModRecipes { public static void postInit() { if (ConfigTechReborn.disableRailcraftSteelNuggetRecipe) { - Iterator iterator = FurnaceRecipes.instance().getSmeltingList().entrySet().iterator(); - Map.Entry entry; + Iterator> iterator = FurnaceRecipes.instance().getSmeltingList().entrySet().iterator(); + Map.Entry entry; while (iterator.hasNext()) { - entry = (Map.Entry) iterator.next(); + entry = iterator.next(); if (entry.getValue() instanceof ItemStack && entry.getKey() instanceof ItemStack) { ItemStack input = (ItemStack) entry.getKey(); ItemStack output = (ItemStack) entry.getValue(); @@ -171,8 +166,8 @@ public class ModRecipes { static void addGrinderRecipes() { // Vanilla - int eutick = 2; - int ticktime = 300; + // int eutick = 2; + // int ticktime = 300; RecipeHandler.addRecipe(new GrinderRecipe( new ItemStack(Items.BONE), @@ -264,183 +259,6 @@ public class ModRecipes { BlockOre.getOreByName("iridium"), 90000000, -2048, 1024)); } - static void addGeneralShapedRecipes() { - RebornCraftingHelper - .addShapedOreRecipe(new ItemStack(ModItems.CLOAKING_DEVICE), "CIC", "IOI", "CIC", 'C', "ingotChrome", - 'I', "plateIridium", 'O', new ItemStack(ModItems.LAPOTRONIC_ORB)); - - RebornCraftingHelper.addShapedOreRecipe(new ItemStack(ModItems.TREE_TAP), " S ", "PPP", "P ", 'S', "stickWood", 'P', - "plankWood"); - - RebornCraftingHelper - .addShapedOreRecipe(new ItemStack(ModItems.ROCK_CUTTER), "DT ", "DT ", "DCB", 'D', "dustDiamond", 'T', - "ingotTitanium", 'C', "circuitBasic", 'B', new ItemStack(ModItems.RE_BATTERY)); - - for (String part : ItemParts.types) { - if (part.endsWith("Gear")) { - RebornCraftingHelper.addShapedOreRecipe(ItemParts.getPartByName(part), " O ", "OIO", " O ", 'I', - new ItemStack(Items.IRON_INGOT), 'O', - "ingot" + StringUtils.toFirstCapital(part.replace("Gear", ""))); - } - } - - RebornCraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("heliumCoolantSimple"), " T ", "TCT", " T ", 'T', - "ingotTin", 'C', ItemCells.getCellByName("helium", 1)); - - RebornCraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("HeliumCoolantTriple"), "TTT", "CCC", "TTT", 'T', - "ingotTin", 'C', ItemParts.getPartByName("heliumCoolantSimple")); - - RebornCraftingHelper - .addShapedOreRecipe(ItemParts.getPartByName("HeliumCoolantSix"), "THT", "TCT", "THT", 'T', "ingotTin", - 'C', "ingotCopper", 'H', ItemParts.getPartByName("HeliumCoolantTriple")); - - RebornCraftingHelper - .addShapedOreRecipe(ItemParts.getPartByName("NaKCoolantTriple"), "TTT", "CCC", "TTT", 'T', "ingotTin", - 'C', ItemParts.getPartByName("NaKCoolantSimple")); - - RebornCraftingHelper - .addShapedOreRecipe(ItemParts.getPartByName("NaKCoolantSix"), "THT", "TCT", "THT", 'T', "ingotTin", 'C', - "ingotCopper", 'H', ItemParts.getPartByName("NaKCoolantTriple")); - - RebornCraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.ADJUSTABLE_SU), "LLL", "LCL", "LLL", 'L', - new ItemStack(ModItems.LAPOTRONIC_ORB), 'C', new ItemStack(ModItems.ENERGY_CRYSTAL)); - - RebornCraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.INTERDIMENSIONAL_SU), "PAP", "ACA", "PAP", 'P', - "plateIridium", 'C', new ItemStack(Blocks.ENDER_CHEST), 'A', - new ItemStack(ModBlocks.ADJUSTABLE_SU)); - - RebornCraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.FUSION_CONTROL_COMPUTER), "CCC", "PTP", "CCC", 'P', - new ItemStack(ModItems.ENERGY_CRYSTAL), 'T', new ItemStack(ModBlocks.FUSION_COIL), 'C', - "circuitMaster"); - - RebornCraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.LIGHTNING_ROD), "CAC", "ACA", "CAC", 'A', - new ItemStack(ModBlocks.MACHINE_CASINGS, 1, 2), 'C', - "circuitMaster"); - - RebornCraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.FUSION_COIL), "CSC", "NAN", "CRC", 'A', - new ItemStack(ModBlocks.MACHINE_CASINGS, 1, 2), 'N', ItemParts.getPartByName("nichromeHeatingCoil"), 'C', - "circuitMaster", 'S', ItemParts.getPartByName("superConductor"), 'R', - ItemParts.getPartByName("iridiumNeutronReflector")); - - RebornCraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("iridiumNeutronReflector"), "PPP", "PIP", "PPP", 'P', - ItemParts.getPartByName("thickNeutronReflector"), 'I', "ingotIridium"); - - RebornCraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("thickNeutronReflector"), " P ", "PCP", " P ", 'P', - ItemParts.getPartByName("neutronReflector"), 'C', ItemCells.getCellByName("Berylium")); - - RebornCraftingHelper - .addShapedOreRecipe(ItemParts.getPartByName("neutronReflector"), "TCT", "CPC", "TCT", 'T', "dustTin", - 'C', "dustCoal", 'P', "plateCopper"); - - RebornCraftingHelper.addShapedOreRecipe(new ItemStack(ModItems.SCRAP_BOX), "SSS", "SSS", "SSS", 'S', - ItemParts.getPartByName("scrap")); - - if (!IC2Duplicates.deduplicate()) { - RebornCraftingHelper.addShapedOreRecipe(ItemUpgrades.getUpgradeByName("Overclock"), "TTT", "WCW", 'T', - ItemParts.getPartByName("CoolantSimple"), 'W', IC2Duplicates.CABLE_ICOPPER.getStackBasedOnConfig(), - 'C', "circuitBasic"); - - RebornCraftingHelper.addShapedOreRecipe(ItemUpgrades.getUpgradeByName("Overclock", 2), " T ", "WCW", 'T', - ItemParts.getPartByName("heliumCoolantSimple"), 'W', - IC2Duplicates.CABLE_ICOPPER.getStackBasedOnConfig(), 'C', - "circuitBasic"); - - RebornCraftingHelper.addShapedOreRecipe(ItemUpgrades.getUpgradeByName("Overclock", 2), " T ", "WCW", 'T', - ItemParts.getPartByName("NaKCoolantSimple"), 'W', - IC2Duplicates.CABLE_ICOPPER.getStackBasedOnConfig(), 'C', - "circuitBasic"); - - RebornCraftingHelper.addShapedOreRecipe(ItemUpgrades.getUpgradeByName("transformer"), "GGG", "WTW", "GCG", 'G', - "blockGlass", 'W', IC2Duplicates.CABLE_IGOLD.getStackBasedOnConfig(), 'C', - "circuitBasic", 'T', IC2Duplicates.MVT.getStackBasedOnConfig()); - } - - RebornCraftingHelper.addShapedOreRecipe(ItemUpgrades.getUpgradeByName("energy_storage"), "PPP", "WBW", "PCP", 'P', - "plankWood", 'W', IC2Duplicates.CABLE_ICOPPER.getStackBasedOnConfig(), 'C', - "circuitBasic", 'B', ModItems.RE_BATTERY); - - RebornCraftingHelper - .addShapedOreRecipe(ItemParts.getPartByName("CoolantSimple"), " T ", "TWT", " T ", 'T', "ingotTin", 'W', - "containerWater"); - - RebornCraftingHelper - .addShapedOreRecipe(ItemParts.getPartByName("CoolantTriple"), "TTT", "CCC", "TTT", 'T', "ingotTin", 'C', - ItemParts.getPartByName("CoolantSimple")); - - RebornCraftingHelper - .addShapedOreRecipe(ItemParts.getPartByName("CoolantSix"), "TCT", "TPT", "TCT", 'T', "ingotTin", 'C', - ItemParts.getPartByName("CoolantTriple"), 'P', "plateCopper"); - - RebornCraftingHelper - .addShapedOreRecipe(ItemParts.getPartByName("NaKCoolantSimple"), "TST", "PCP", "TST", 'T', "ingotTin", - 'C', ItemParts.getPartByName("CoolantSimple"), 'S', ItemCells.getCellByName("sodium"), 'P', - ItemCells.getCellByName("potassium")); - - RebornCraftingHelper - .addShapedOreRecipe(ItemParts.getPartByName("NaKCoolantSimple"), "TPT", "SCS", "TPT", 'T', "ingotTin", - 'C', ItemParts.getPartByName("CoolantSimple"), 'S', ItemCells.getCellByName("sodium"), 'P', - ItemCells.getCellByName("potassium")); - - RebornCraftingHelper - .addShapedOreRecipe(ItemParts.getPartByName("dataControlCircuit"), "ADA", "DID", "ADA", 'I', "ingotIridium", - 'A', "circuitAdvanced", 'D', ItemParts.getPartByName("dataStorageCircuit")); - - RebornCraftingHelper - .addShapedOreRecipe(ItemParts.getPartByName("dataOrb"), "DDD", "DSD", "DDD", - 'D', ItemParts.getPartByName("dataStorageCircuit"), 'S', ItemParts.getPartByName("dataStorageCircuit")); - - RebornCraftingHelper - .addShapedOreRecipe(new ItemStack(ModItems.ELECTRIC_TREE_TAP), "TB", " ", - 'T', new ItemStack(ModItems.TREE_TAP), 'B', new ItemStack(ModItems.RE_BATTERY)); - - RebornCraftingHelper - .addShapedOreRecipe(new ItemStack(ModItems.NANOSABER), "DC ", "DC ", "GLG", - 'L', new ItemStack(ModItems.LAPOTRONIC_CRYSTAL), 'C', "plateCarbon", 'D', "plateDiamond", - 'G', ItemDustsSmall.getSmallDustByName("glowstone")); - - RebornCraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("diamondGrindingHead", 2), "TST", "SBS", "TST", 'T', - "plateDiamond", 'S', "plateSteel", 'B', "blockDiamond"); - - RebornCraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("coolantSimple", 2), " T ", "TWT", " T ", 'T', - "ingotTin", 'W', new ItemStack(Items.WATER_BUCKET)); - - Core.logHelper.info("Shapped Recipes Added"); - } - - static void addMachineRecipes() { - if (!CompatManager.isQuantumStorageLoaded) { - RebornCraftingHelper - .addShapedOreRecipe(new ItemStack(ModBlocks.QUANTUM_TANK), "EPE", "PCP", "EPE", 'P', "ingotPlatinum", - 'E', "circuitAdvanced", 'C', ModBlocks.QUANTUM_CHEST); - } - - RebornCraftingHelper - .addShapedOreRecipe(new ItemStack(ModBlocks.DIGITAL_CHEST), "PPP", "PDP", "PCP", 'P', "plateAluminum", - 'D', ItemParts.getPartByName("dataOrb"), 'C', ItemParts.getPartByName("computerMonitor")); - - RebornCraftingHelper - .addShapedOreRecipe(new ItemStack(ModBlocks.DIGITAL_CHEST), "PPP", "PDP", "PCP", 'P', "plateSteel", 'D', - ItemParts.getPartByName("dataOrb"), 'C', ItemParts.getPartByName("computerMonitor")); - - RebornCraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.ALLOY_SMELTER), " C ", "FMF", " ", 'C', - "circuitBasic", 'F', IC2Duplicates.ELECTRICAL_FURNACE.getStackBasedOnConfig(), 'M', - BlockMachineFrames.getFrameByName("machine", 1)); - - RebornCraftingHelper - .addShapedOreRecipe(new ItemStack(ModBlocks.LSU_STORAGE), "LLL", "LCL", "LLL", 'L', "blockLapis", 'C', - "circuitBasic"); - - RecipeHandler.addRecipe(new VacuumFreezerRecipe(ItemIngots.getIngotByName("hot_tungstensteel"), - ItemIngots.getIngotByName("tungstensteel"), 440, 128)); - - RecipeHandler.addRecipe(new VacuumFreezerRecipe(ItemCells.getCellByName("heliumplasma"), - ItemCells.getCellByName("helium"), 440, 128)); - - RecipeHandler.addRecipe( - new VacuumFreezerRecipe(ItemCells.getCellByName("water"), - ItemCells.getCellByName("cell"), 60, 128)); - } - static void addVacuumFreezerRecipes() { RecipeHandler.addRecipe(new VacuumFreezerRecipe( new ItemStack(Blocks.ICE, 2), @@ -463,6 +281,7 @@ public class ModRecipes { ItemCells.getCellByName("water"), ItemCells.getCellByName("cell"), 60, 87)); + } static void addAlloySmelterRecipes() { @@ -990,7 +809,7 @@ public class ModRecipes { } public static ItemStack getBucketWithFluid(Fluid fluid) { - return UniversalBucket.getFilledBucket(ForgeModContainer.getInstance().universalBucket, fluid); + return FluidUtil.getFilledBucket(new FluidStack(fluid, Fluid.BUCKET_VOLUME)); } public static ItemStack getOre(String name) { diff --git a/src/main/java/techreborn/init/OreDict.java b/src/main/java/techreborn/init/OreDict.java index 31968c42c..c536260d5 100644 --- a/src/main/java/techreborn/init/OreDict.java +++ b/src/main/java/techreborn/init/OreDict.java @@ -30,9 +30,7 @@ import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraftforge.fml.common.Loader; -import net.minecraftforge.oredict.OreDictionary; import reborncore.common.util.OreUtil; -import reborncore.common.util.StringUtils; import techreborn.Core; import techreborn.blocks.BlockMachineFrames; import techreborn.blocks.cable.BlockCable; diff --git a/src/main/java/techreborn/init/recipes/CraftingTableRecipes.java b/src/main/java/techreborn/init/recipes/CraftingTableRecipes.java index e276e878c..87afa225e 100644 --- a/src/main/java/techreborn/init/recipes/CraftingTableRecipes.java +++ b/src/main/java/techreborn/init/recipes/CraftingTableRecipes.java @@ -33,15 +33,20 @@ import org.apache.commons.lang3.ArrayUtils; import reborncore.common.util.OreUtil; import reborncore.common.util.RebornCraftingHelper; import reborncore.common.util.StringUtils; +import techreborn.Core; +import techreborn.blocks.BlockMachineFrames; import techreborn.blocks.BlockStorage; import techreborn.blocks.BlockStorage2; +import techreborn.compat.CompatManager; import techreborn.config.ConfigTechReborn; import techreborn.init.IC2Duplicates; import techreborn.init.ModBlocks; import techreborn.init.ModItems; import techreborn.items.DynamicCell; +import techreborn.items.ItemCells; import techreborn.items.ItemDustsSmall; import techreborn.items.ItemNuggets; +import techreborn.items.ItemParts; import techreborn.items.ItemUpgrades; /** @@ -51,35 +56,33 @@ public class CraftingTableRecipes extends RecipeMethods { public static void init() { registerCompressionRecipes(); registerMixedMetalIngotRecipes(); + registerShapeless(BlockStorage2.getStorageBlockByName("iridium_reinforced_stone", 1), getStack(Blocks.STONE), getMaterialObject("iridium", Type.INGOT)); registerShapeless(BlockStorage2.getStorageBlockByName("iridium_reinforced_tungstensteel", 1), BlockStorage2.getStorageBlockByName("tungstensteel", 1), getMaterialObject("iridium", Type.INGOT)); registerShapeless(BlockStorage2.getStorageBlockByName("iridium_reinforced_tungstensteel", 1), BlockStorage2.getStorageBlockByName("iridium_reinforced_stone", 1), getMaterialObject("tungstensteel", Type.INGOT)); - registerShapeless(getStack(ModBlocks.RUBBER_PLANKS, 4), getStack(ModBlocks.RUBBER_LOG)); - if (!IC2Duplicates.deduplicate()) { - registerShapeless(getStack(ModItems.FREQUENCY_TRANSMITTER), getStack(IC2Duplicates.CABLE_ICOPPER), "circuitBasic"); - } - registerShaped(DynamicCell.getEmptyCell(16), " T ", "T T", " T ", 'T', "ingotTin"); registerShaped(getStack(ModBlocks.REFINED_IRON_FENCE), "RRR", "RRR", 'R', getStack(IC2Duplicates.REFINED_IRON)); - + registerShaped(getStack(ModBlocks.REINFORCED_GLASS, 7), "GAG", "GGG", "GAG", 'A', "plateAdvancedAlloy", 'G', "blockGlass"); + registerShaped(getStack(ModBlocks.REINFORCED_GLASS, 7), "GGG", "AGA", "GGG", 'A', "plateAdvancedAlloy", 'G', "blockGlass"); + + // Tools and devices + registerShaped(getStack(ModItems.WRENCH), "BNB", "NBN", " B ", 'B', "ingotBronze", 'N', "nuggetBronze"); + registerShaped(getStack(ModItems.TREE_TAP), " S ", "PPP", "P ", 'S', "stickWood", 'P', "plankWood"); + registerShaped(getStack(ModItems.ELECTRIC_TREE_TAP), "TB", " ", 'T', getStack(ModItems.TREE_TAP), 'B', getStack(ModItems.RE_BATTERY) ); + registerShaped(getStack(ModItems.NANOSABER), "DC ", "DC ", "GLG", 'L', getStack(ModItems.LAPOTRONIC_CRYSTAL), 'C', "plateCarbon", 'D', "plateDiamond", 'G', ItemDustsSmall.getSmallDustByName("glowstone")); + registerShaped(getStack(ModItems.ROCK_CUTTER), "DT ", "DT ", "DCB", 'D', "dustDiamond", 'T', "ingotTitanium", 'C', "circuitBasic", 'B', getStack(ModItems.RE_BATTERY)); registerShaped(getStack(ModItems.STEEL_DRILL), " S ", "SCS", "SBS", 'S', "ingotSteel", 'C', "circuitBasic", 'B', "reBattery"); registerShaped(getStack(ModItems.DIAMOND_DRILL), " D ", "DCD", "TST", 'D', "gemDiamond", 'C', "circuitAdvanced", 'S', getStack(ModItems.STEEL_DRILL, 1, OreDictionary.WILDCARD_VALUE), 'T', "ingotTitanium"); registerShaped(getStack(ModItems.ADVANCED_DRILL), " I ", "NCN", "OAO", 'I', "ingotIridium", 'N', "nuggetIridium", 'A', getStack(ModItems.DIAMOND_DRILL, 1, OreDictionary.WILDCARD_VALUE), 'C', "circuitMaster", 'O', getMaterial("overclock", Type.UPGRADE)); - registerShaped(getStack(ModItems.STEEL_CHAINSAW), " SS", "SCS", "BS ", 'S', "ingotSteel", 'C', "circuitBasic", 'B', "reBattery"); registerShaped(getStack(ModItems.DIAMOND_CHAINSAW), " DD", "TCD", "ST ", 'D', "gemDiamond", 'C', "circuitAdvanced", 'S', getStack(ModItems.STEEL_CHAINSAW, 1, OreDictionary.WILDCARD_VALUE), 'T', "ingotTitanium"); registerShaped(getStack(ModItems.ADVANCED_CHAINSAW), " NI", "OCN", "DO ", 'I', "ingotIridium", 'N', "nuggetIridium", 'D', getStack(ModItems.DIAMOND_CHAINSAW, 1, OreDictionary.WILDCARD_VALUE), 'C', "circuitMaster", 'O', getMaterial("overclock", Type.UPGRADE)); - registerShaped(getStack(ModItems.STEEL_JACKHAMMER), "SBS", "SCS", " S ", 'S', "ingotSteel", 'C', "circuitBasic", 'B', "reBattery"); registerShaped(getStack(ModItems.DIAMOND_JACKHAMMER), "DSD", "TCT", " D ", 'D', "gemDiamond", 'C', "circuitAdvanced", 'S', getStack(ModItems.STEEL_JACKHAMMER, 1, OreDictionary.WILDCARD_VALUE), 'T', "ingotTitanium"); registerShaped(getStack(ModItems.ADVANCED_JACKHAMMER), "NDN", "OCO", " I ", 'I', "ingotIridium", 'N', "nuggetIridium", 'D', getStack(ModItems.DIAMOND_DRILL, 1, OreDictionary.WILDCARD_VALUE), 'C', "circuitMaster", 'O', getMaterial("overclock", Type.UPGRADE)); - - registerShaped(ItemUpgrades.getUpgradeByName("injection"), "CHC", "PSP", "PPP", 'S', "chestWood", 'C', "circuitBasic", 'P', "plateIron", 'H', new ItemStack(Blocks.HOPPER)); - registerShaped(ItemUpgrades.getUpgradeByName("ejection"), "CSC", "PHP", "PPP", 'S', "chestWood", 'C', "circuitBasic", 'P', "plateIron", 'H', new ItemStack(Blocks.HOPPER)); - - registerShaped(new ItemStack(ModBlocks.AUTO_CRAFTING_TABLE), "MPM", "PCP", "MPM", 'M', "circuitAdvanced", 'C', "workbench", 'P', "plateIron"); + registerShaped(getStack(ModItems.CLOAKING_DEVICE), "CIC", "IOI", "CIC", 'C', "ingotChrome", 'I', "plateIridium", 'O', getStack(ModItems.LAPOTRONIC_ORB)); if (ConfigTechReborn.enableGemArmorAndTools) { addToolAndArmourRecipes(getStack(ModItems.RUBY_SWORD), getStack(ModItems.RUBY_PICKAXE), getStack(ModItems.RUBY_AXE), getStack(ModItems.RUBY_HOE), getStack(ModItems.RUBY_SPADE), getStack(ModItems.RUBY_HELMET), getStack(ModItems.RUBY_CHESTPLATE), getStack(ModItems.RUBY_LEGGINGS), getStack(ModItems.RUBY_BOOTS), "gemRuby"); @@ -87,55 +90,41 @@ public class CraftingTableRecipes extends RecipeMethods { addToolAndArmourRecipes(getStack(ModItems.PERIDOT_SWORD), getStack(ModItems.PERIDOT_PICKAXE), getStack(ModItems.PERIDOT_AXE), getStack(ModItems.PERIDOT_HOE), getStack(ModItems.PERIDOT_SAPPHIRE), getStack(ModItems.PERIDOT_HELMET), getStack(ModItems.PERIDOT_CHESTPLATE), getStack(ModItems.PERIDOT_LEGGINGS), getStack(ModItems.PERIDOT_BOOTS), "gemPeridot"); addToolAndArmourRecipes(getStack(ModItems.BRONZE_SWORD), getStack(ModItems.BRONZE_PICKAXE), getStack(ModItems.BRONZE_AXE), getStack(ModItems.BRONZE_HOE), getStack(ModItems.BRONZE_SPADE), getStack(ModItems.BRONZE_HELMET), getStack(ModItems.BRONZE_CHESTPLATE), getStack(ModItems.BRONZE_LEGGINGS), getStack(ModItems.BRONZE_BOOTS), "ingotBronze"); } - + + //Upgrades + registerShaped(ItemUpgrades.getUpgradeByName("injection"), "CHC", "PSP", "PPP", 'S', "chestWood", 'C', "circuitBasic", 'P', "plateIron", 'H', getStack(Blocks.HOPPER)); + registerShaped(ItemUpgrades.getUpgradeByName("ejection"), "CSC", "PHP", "PPP", 'S', "chestWood", 'C', "circuitBasic", 'P', "plateIron", 'H', getStack(Blocks.HOPPER)); + registerShaped(ItemUpgrades.getUpgradeByName("energy_storage"), "PPP", "WBW", "PCP", 'P', "plankWood", 'W', IC2Duplicates.CABLE_ICOPPER.getStackBasedOnConfig(), 'C', "circuitBasic", 'B', getStack(ModItems.RE_BATTERY)); + if (!IC2Duplicates.deduplicate()) { - registerShaped(getMaterial("copper", 6, Type.CABLE), "CCC", 'C', "ingotCopper"); - registerShaped(getMaterial("tin", 9, Type.CABLE), "TTT", 'T', "ingotTin"); - registerShaped(getMaterial("gold", 12, Type.CABLE), "GGG", 'G', "ingotGold"); - registerShaped(getMaterial("hv", 12, Type.CABLE), "RRR", 'R', "ingotRefinedIron"); - - registerShaped(getMaterial("insulatedcopper", 6, Type.CABLE), "RRR", "CCC", "RRR", 'R', "itemRubber", 'C', "ingotCopper"); - registerShaped(getMaterial("insulatedcopper", 6, Type.CABLE), "RCR", "RCR", "RCR", 'R', "itemRubber", 'C', "ingotCopper"); - registerShapeless(getMaterial("insulatedcopper", Type.CABLE), "itemRubber", getMaterialObject("copper", Type.CABLE)); - - registerShaped(getMaterial("insulatedgold", 4, Type.CABLE), "RRR", "RGR", "RRR", 'R', "itemRubber", 'G', "ingotGold"); - registerShapeless(getMaterial("insulatedgold", Type.CABLE), "itemRubber", "itemRubber", getMaterialObject("gold", Type.CABLE)); - - registerShaped(getMaterial("insulatedhv", 4, Type.CABLE), "RRR", "RIR", "RRR", 'R', "itemRubber", 'I', "ingotRefinedIron"); - registerShapeless(getMaterial("insulatedhv", Type.CABLE), "itemRubber", "itemRubber", getMaterialObject("hv", Type.CABLE)); - - registerShaped(getMaterial("glassfiber", 4, Type.CABLE), "GGG", "RDR", "GGG", 'R', "dustRedstone", 'D', "gemDiamond", 'G', "blockGlass"); - registerShaped(getMaterial("glassfiber", 4, Type.CABLE), "GGG", "RDR", "GGG", 'R', "dustRedstone", 'D', "dustDiamond", 'G', "blockGlass"); - - registerShaped(getMaterial("glassfiber", 3, Type.CABLE), "GGG", "RDR", "GGG", 'R', "dustRedstone", 'D', "gemRuby", 'G', "blockGlass"); - registerShaped(getMaterial("glassfiber", 3, Type.CABLE), "GGG", "RDR", "GGG", 'R', "dustRedstone", 'D', "dustRuby", 'G', "blockGlass"); - - registerShaped(getMaterial("glassfiber", 6, Type.CABLE), "GGG", "RDR", "GGG", 'R', "ingotSilver", 'D', "gemDiamond", 'G', "blockGlass"); - registerShaped(getMaterial("glassfiber", 6, Type.CABLE), "GGG", "RDR", "GGG", 'R', "ingotSilver", 'D', "dustDiamond", 'G', "blockGlass"); - - registerShaped(getMaterial("glassfiber", 8, Type.CABLE), "GGG", "RDR", "GGG", 'R', "ingotElectrum", 'D', "gemDiamond", 'G', "blockGlass"); - registerShaped(getMaterial("glassfiber", 8, Type.CABLE), "GGG", "RDR", "GGG", 'R', "ingotElectrum", 'D', "dustDiamond", 'G', "blockGlass"); + registerShaped(ItemUpgrades.getUpgradeByName("Overclock"), "TTT", "WCW", 'T', getMaterialObject("coolant_simple", Type.PART), 'W', IC2Duplicates.CABLE_ICOPPER.getStackBasedOnConfig(), 'C', "circuitBasic"); + registerShaped(ItemUpgrades.getUpgradeByName("Overclock", 2), " T ", "WCW", 'T', getMaterialObject("helium_coolant_triple", Type.PART), 'W', IC2Duplicates.CABLE_ICOPPER.getStackBasedOnConfig(), 'C', "circuitBasic"); + registerShaped(ItemUpgrades.getUpgradeByName("Overclock", 2), " T ", "WCW", 'T', getMaterialObject("nak_coolant_simple", Type.PART), 'W', IC2Duplicates.CABLE_ICOPPER.getStackBasedOnConfig(), 'C', "circuitBasic"); + registerShaped(ItemUpgrades.getUpgradeByName("transformer"), "GGG", "WTW", "GCG", 'G', "blockGlass", 'W', IC2Duplicates.CABLE_IGOLD.getStackBasedOnConfig(), 'C', "circuitBasic", 'T', IC2Duplicates.MVT.getStackBasedOnConfig()); } - - if (!IC2Duplicates.deduplicate()) { - registerShapeless(getMaterial("carbon_fiber", Type.PART), "dustCoal", "dustCoal", "dustCoal", "dustCoal"); - registerShapeless(getMaterial("carbon_fiber", Type.PART), getMaterialObject("carbon", Type.CELL), getMaterialObject("carbon", Type.CELL), getMaterialObject("carbon", Type.CELL), getMaterialObject("carbon", Type.CELL), getMaterialObject("carbon", Type.CELL), getMaterialObject("carbon", Type.CELL), getMaterialObject("carbon", Type.CELL), getMaterialObject("carbon", Type.CELL), getMaterialObject("carbon", Type.CELL)); - registerShapeless(getMaterial("carbon_mesh", Type.PART), getMaterialObject("carbon_fiber", Type.PART), getMaterialObject("carbon_fiber", Type.PART)); - } - - registerShaped(getMaterial("computer_monitor", Type.PART), "ADA", "DGD", "ADA", 'D', "dye", 'A', "ingotAluminum", 'G', "paneGlass"); - registerShaped(getStack(ModBlocks.REINFORCED_GLASS, 7), "GAG", "GGG", "GAG", 'A', "plateAdvancedAlloy", 'G', "blockGlass"); - registerShaped(getStack(ModBlocks.REINFORCED_GLASS, 7), "GGG", "AGA", "GGG", 'A', "plateAdvancedAlloy", 'G', "blockGlass"); - registerShaped(getStack(ModBlocks.WIND_MILL), "I I", " G ", "I I", 'I', "plateIron", 'G', getStack(IC2Duplicates.GENERATOR)); - registerShaped(getStack(ModBlocks.WATER_MILL), "SWS", "WGW", "SWS", 'S', "stickWood", 'W', "plankWood", 'G', getStack(IC2Duplicates.GENERATOR)); - + + //Machines registerShaped(getMaterial("standard", 4, Type.MACHINE_CASING), "RRR", "CAC", "RRR", 'R', getStack(IC2Duplicates.REFINED_IRON), 'C', "circuitBasic", 'A', getMaterialObject("machine", Type.MACHINE_FRAME)); registerShaped(getMaterial("reinforced", 4, Type.MACHINE_CASING), "RRR", "CAC", "RRR", 'R', "ingotSteel", 'C', "circuitAdvanced", 'A', getMaterialObject("advanced_machine", Type.MACHINE_FRAME)); - - registerShaped(getMaterial("dataOrb", Type.PART), "DDD", "DID", "DDD", 'D', "circuitData", 'I', "circuitElite"); - + registerShapeless(getStack(IC2Duplicates.GENERATOR), getStack(ModItems.RE_BATTERY), getMaterialObject("machine", Type.MACHINE_FRAME), Blocks.FURNACE); registerShaped(getStack(ModBlocks.THERMAL_GENERATOR), "III", "IRI", "CGC", 'I', "ingotInvar", 'R', ModBlocks.REINFORCED_GLASS, 'G', getStack(IC2Duplicates.GENERATOR), 'C', "circuitBasic"); - + registerShaped(getStack(ModBlocks.WIND_MILL), "I I", " G ", "I I", 'I', "plateIron", 'G', getStack(IC2Duplicates.GENERATOR)); + registerShaped(getStack(ModBlocks.WATER_MILL), "SWS", "WGW", "SWS", 'S', "stickWood", 'W', "plankWood", 'G', getStack(IC2Duplicates.GENERATOR)); + registerShaped(getStack(ModBlocks.LIGHTNING_ROD), "CAC", "ACA", "CAC", 'A', getStack(ModBlocks.MACHINE_CASINGS, 1, 2), 'C', "circuitMaster"); + registerShaped(getStack(ModBlocks.INDUSTRIAL_ELECTROLYZER), "RER", "CEC", "RER", 'R', "plateIron", 'E', getStack(IC2Duplicates.EXTRACTOR), 'C', "circuitAdvanced"); + registerShaped(getStack(ModBlocks.INDUSTRIAL_CENTRIFUGE), "RCR", "AEA", "RCR", 'R', getStack(IC2Duplicates.REFINED_IRON), 'E', getStack(IC2Duplicates.EXTRACTOR), 'A', "machineBlockAdvanced", 'C', "circuitAdvanced"); + registerShaped(getStack(ModBlocks.INDUSTRIAL_CENTRIFUGE), "RCR", "AEA", "RCR", 'R', "ingotAluminum", 'E', getStack(IC2Duplicates.EXTRACTOR), 'A', "machineBlockAdvanced", 'C', "circuitAdvanced"); + registerShaped(getStack(ModBlocks.AUTO_CRAFTING_TABLE), "MPM", "PCP", "MPM", 'M', "circuitAdvanced", 'C', "workbench", 'P', "plateIron"); + registerShaped(getStack(ModBlocks.ADJUSTABLE_SU), "LLL", "LCL", "LLL", 'L', getStack(ModItems.LAPOTRONIC_ORB), 'C', getStack(ModItems.ENERGY_CRYSTAL)); + registerShaped(getStack(ModBlocks.INTERDIMENSIONAL_SU), "PAP", "ACA", "PAP", 'P', "plateIridium", 'C', getStack(Blocks.ENDER_CHEST), 'A', getStack(ModBlocks.ADJUSTABLE_SU)); + registerShaped(getStack(ModBlocks.FUSION_CONTROL_COMPUTER), "CCC", "PTP", "CCC", 'P', getStack(ModItems.ENERGY_CRYSTAL), 'T', getStack(ModBlocks.FUSION_COIL), 'C', "circuitMaster"); + registerShaped(getStack(ModBlocks.FUSION_COIL), "CSC", "NAN", "CRC", 'A', getStack(ModBlocks.MACHINE_CASINGS, 1, 2), 'N', ItemParts.getPartByName("nichromeHeatingCoil"), 'C', "circuitMaster", 'S', ItemParts.getPartByName("superConductor"), 'R', ItemParts.getPartByName("iridiumNeutronReflector")); + registerShaped(getStack(ModBlocks.DIGITAL_CHEST), "PPP", "PDP", "PCP", 'P', "plateAluminum", 'D', getMaterial("data_orb", Type.PART), 'C', getMaterial("computer_monitor", Type.PART)); + registerShaped(getStack(ModBlocks.DIGITAL_CHEST), "PPP", "PDP", "PCP", 'P', "plateSteel", 'D', getMaterial("data_orb", Type.PART), 'C', getMaterial("computer_monitor", Type.PART)); + registerShaped(getStack(ModBlocks.ALLOY_SMELTER), " C ", "FMF", " ", 'C', "circuitBasic", 'F', IC2Duplicates.ELECTRICAL_FURNACE.getStackBasedOnConfig(), 'M', BlockMachineFrames.getFrameByName("machine", 1)); + registerShaped(getStack(ModBlocks.LSU_STORAGE), "LLL", "LCL", "LLL", 'L', "blockLapis", 'C', "circuitBasic"); + + if (!IC2Duplicates.deduplicate()) { registerShaped(getStack(IC2Duplicates.HVT), " H ", " M ", " H ", 'M', getStack(IC2Duplicates.MVT), 'H', getStack(IC2Duplicates.CABLE_IHV)); registerShaped(getStack(IC2Duplicates.MVT), " G ", " M ", " G ", 'M', getMaterialObject("machine", Type.MACHINE_FRAME), 'G', getStack(IC2Duplicates.CABLE_IGOLD)); @@ -148,31 +137,71 @@ public class CraftingTableRecipes extends RecipeMethods { registerShaped(getStack(IC2Duplicates.RECYCLER), " E ", "DCD", "GDG", 'D', Blocks.DIRT, 'C', getStack(IC2Duplicates.COMPRESSOR), 'G', Items.GLOWSTONE_DUST, 'E', "circuitBasic"); registerShaped(getStack(IC2Duplicates.IRON_FURNACE), "III", "I I", "III", 'I', "ingotIron"); registerShaped(getStack(IC2Duplicates.IRON_FURNACE), " I ", "I I", "IFI", 'I', "ingotIron", 'F', Blocks.FURNACE); - registerShaped(getMaterial("electronic_circuit", Type.PART), "WWW", "SRS", "WWW", 'R', getStack(IC2Duplicates.REFINED_IRON), 'S', Items.REDSTONE, 'W', getStack(IC2Duplicates.CABLE_ICOPPER)); - registerShaped(getMaterial("advanced_circuit", Type.PART), "RGR", "LCL", "RGR", 'R', "dustRedstone", 'G', "dustGlowstone", 'L', "gemLapis", 'C', "circuitBasic"); registerShaped(getStack(IC2Duplicates.EXTRACTOR), "TMT", "TCT", " ", 'T', getStack(ModItems.TREE_TAP, true), 'M', getMaterialObject("machine", Type.MACHINE_FRAME), 'C', "circuitBasic"); + registerShapeless(getStack(IC2Duplicates.FREQ_TRANSMITTER), getStack(IC2Duplicates.CABLE_ICOPPER), "circuitBasic"); } - registerShaped(getStack(ModBlocks.INDUSTRIAL_ELECTROLYZER), "RER", "CEC", "RER", 'R', "plateIron", 'E', getStack(IC2Duplicates.EXTRACTOR), 'C', "circuitAdvanced"); - - registerShaped(getStack(ModItems.WRENCH), "BNB", "NBN", " B ", 'B', "ingotBronze", 'N', "nuggetBronze"); + + if (!CompatManager.isQuantumStorageLoaded) { + registerShaped(getStack(ModBlocks.QUANTUM_TANK), "EPE", "PCP", "EPE", 'P', "ingotPlatinum", 'E', "circuitAdvanced", 'C', getStack(ModBlocks.QUANTUM_CHEST)); + } + + //Parts registerShaped(getStack(ModItems.RE_BATTERY), " W ", "TRT", "TRT", 'T', "ingotTin", 'R', "dustRedstone", 'W', getStack(IC2Duplicates.CABLE_ICOPPER)); - - registerShaped(getStack(ModBlocks.INDUSTRIAL_CENTRIFUGE), "RCR", "AEA", "RCR", 'R', getStack(IC2Duplicates.REFINED_IRON), 'E', getStack(IC2Duplicates.EXTRACTOR), 'A', "machineBlockAdvanced", 'C', "circuitAdvanced"); - registerShaped(getStack(ModBlocks.INDUSTRIAL_CENTRIFUGE), "RCR", "AEA", "RCR", 'R', "ingotAluminum", 'E', getStack(IC2Duplicates.EXTRACTOR), 'A', "machineBlockAdvanced", 'C', "circuitAdvanced"); registerShaped(getStack(ModItems.ENERGY_CRYSTAL), "RRR", "RDR", "RRR", 'R', "dustRedstone", 'D', "gemDiamond"); registerShaped(getStack(ModItems.LAPOTRONIC_CRYSTAL), "LCL", "LEL", "LCL", 'L', "dyeBlue", 'E', "energyCrystal", 'C', "circuitBasic"); - registerShapeless(getStack(IC2Duplicates.GENERATOR), getStack(ModItems.RE_BATTERY), getMaterialObject("machine", Type.MACHINE_FRAME), Blocks.FURNACE); - + registerShaped(getStack(ModItems.SCRAP_BOX), "SSS", "SSS", "SSS", 'S', getMaterialObject("scrap", Type.PART)); registerShaped(getMaterial("machine", Type.MACHINE_FRAME), "AAA", "A A", "AAA", 'A', getStack(IC2Duplicates.REFINED_IRON)); registerShaped(getMaterial("advanced_machine", Type.MACHINE_FRAME), " C ", "AMA", " C ", 'A', "plateAdvancedAlloy", 'C', "plateCarbon", 'M', getMaterialObject("machine", Type.MACHINE_FRAME)); - registerShaped(getMaterial("data_storage_circuit", Type.PART), "EEE", "ECE", "EEE", 'E', "gemEmerald", 'C', "circuitBasic"); - + registerShaped(getMaterial("data_control_circuit", Type.PART), "ADA", "DID", "ADA", 'I', "ingotIridium", 'A', "circuitAdvanced", 'D', getMaterialObject("data_storage_circuit", Type.PART)); + registerShaped(getMaterial("data_orb", Type.PART), "DDD", "DSD", "DDD", 'D', getMaterialObject("data_storage_circuit", Type.PART), 'S', getMaterialObject("data_control_circuit", Type.PART)); registerShaped(getMaterial("diamond_saw_blade", 4, Type.PART), "DSD", "S S", "DSD", 'D', "dustDiamond", 'S', "ingotSteel"); - registerShaped(getMaterial("diamond_grinding_head", 2, Type.PART), "DSD", "SGS", "DSD", 'S', "ingotSteel", 'D', "dustDiamond", 'G', "gemDiamond"); + registerShaped(getMaterial("diamond_grinding_head", 2, Type.PART), "DSD", "SGS", "DSD", 'S', "ingotSteel", 'D', "dustDiamond", 'G', "gemDiamond"); registerShaped(getMaterial("tungsten_grinding_head", 2, Type.PART), "TST", "SBS", "TST", 'S', "ingotSteel", 'T', "ingotTungsten", 'B', "blockSteel"); - + registerShaped(getMaterial("computer_monitor", Type.PART), "ADA", "DGD", "ADA", 'D', "dye", 'A', "ingotAluminum", 'G', "paneGlass"); + registerShaped(getMaterial("coolant_simple", 2, Type.PART), " T ", "TWT", " T ", 'T', "ingotTin", 'W', getStack(Items.WATER_BUCKET)); + registerShaped(getMaterial("coolant_triple", Type.PART), "TTT", "CCC", "TTT", 'T', "ingotTin", 'C', getMaterialObject("coolant_simple", Type.PART)); + registerShaped(getMaterial("coolant_six", Type.PART), "TCT", "TPT", "TCT", 'T', "ingotTin", 'C', getMaterialObject("coolant_triple", Type.PART), 'P', "plateCopper"); + registerShaped(getMaterial("helium_coolant_simple", Type.PART), " T ", "TCT", " T ", 'T', "ingotTin", 'C', getMaterialObject("helium", Type.CELL)); + registerShaped(getMaterial("helium_coolant_triple", Type.PART), "TTT", "CCC", "TTT", 'T', "ingotTin", 'C', getMaterialObject("helium_coolant_simple", Type.PART)); + registerShaped(getMaterial("helium_coolant_six", Type.PART), "THT", "TCT", "THT", 'T', "ingotTin", 'C', "ingotCopper", 'H', getMaterialObject("helium_coolant_triple", Type.PART)); + registerShaped(getMaterial("nak_coolant_simple", Type.PART), "TST", "PCP", "TST", 'T', "ingotTin", 'C', getMaterialObject("coolant_simple", Type.PART), 'S', getMaterialObject("sodium", Type.CELL), 'P', getMaterialObject("potassium", Type.CELL)); + registerShaped(getMaterial("nak_coolant_simple", Type.PART), "TPT", "SCS", "TPT", 'T', "ingotTin", 'C', getMaterialObject("coolant_simple", Type.PART), 'S', getMaterialObject("sodium", Type.CELL), 'P', getMaterialObject("potassium", Type.CELL)); + registerShaped(getMaterial("nak_coolant_triple", Type.PART), "TTT", "CCC", "TTT", 'T', "ingotTin", 'C', getMaterialObject("nak_coolant_simple", Type.PART)); + registerShaped(getMaterial("nak_coolant_six", Type.PART), "THT", "TCT", "THT", 'T', "ingotTin", 'C', "ingotCopper", 'H', getMaterialObject("nak_coolant_triple", Type.PART)); + registerShaped(getMaterial("iridium_neutron_reflector", Type.PART), "PPP", "PIP", "PPP", 'P', getMaterialObject("thick_neutron_reflector", Type.PART), 'I', "ingotIridium"); + registerShaped(getMaterial("thick_neutron_reflector", Type.PART), " P ", "PCP", " P ", 'P', getMaterialObject("neutron_reflector", Type.PART), 'C', ItemCells.getCellByName("Berylium")); + registerShaped(getMaterial("neutron_reflector", Type.PART), "TCT", "CPC", "TCT", 'T', "dustTin", 'C', "dustCoal", 'P', "plateCopper"); + + if (!IC2Duplicates.deduplicate()) { + registerShaped(getMaterial("copper", 6, Type.CABLE), "CCC", 'C', "ingotCopper"); + registerShaped(getMaterial("tin", 9, Type.CABLE), "TTT", 'T', "ingotTin"); + registerShaped(getMaterial("gold", 12, Type.CABLE), "GGG", 'G', "ingotGold"); + registerShaped(getMaterial("hv", 12, Type.CABLE), "RRR", 'R', "ingotRefinedIron"); + registerShaped(getMaterial("insulatedcopper", 6, Type.CABLE), "RRR", "CCC", "RRR", 'R', "itemRubber", 'C', "ingotCopper"); + registerShaped(getMaterial("insulatedcopper", 6, Type.CABLE), "RCR", "RCR", "RCR", 'R', "itemRubber", 'C', "ingotCopper"); + registerShapeless(getMaterial("insulatedcopper", Type.CABLE), "itemRubber", getMaterialObject("copper", Type.CABLE)); + registerShaped(getMaterial("insulatedgold", 4, Type.CABLE), "RRR", "RGR", "RRR", 'R', "itemRubber", 'G', "ingotGold"); + registerShapeless(getMaterial("insulatedgold", Type.CABLE), "itemRubber", "itemRubber", getMaterialObject("gold", Type.CABLE)); + registerShaped(getMaterial("insulatedhv", 4, Type.CABLE), "RRR", "RIR", "RRR", 'R', "itemRubber", 'I', "ingotRefinedIron"); + registerShapeless(getMaterial("insulatedhv", Type.CABLE), "itemRubber", "itemRubber", getMaterialObject("hv", Type.CABLE)); + registerShaped(getMaterial("glassfiber", 4, Type.CABLE), "GGG", "RDR", "GGG", 'R', "dustRedstone", 'D', "gemDiamond", 'G', "blockGlass"); + registerShaped(getMaterial("glassfiber", 4, Type.CABLE), "GGG", "RDR", "GGG", 'R', "dustRedstone", 'D', "dustDiamond", 'G', "blockGlass"); + registerShaped(getMaterial("glassfiber", 3, Type.CABLE), "GGG", "RDR", "GGG", 'R', "dustRedstone", 'D', "gemRuby", 'G', "blockGlass"); + registerShaped(getMaterial("glassfiber", 3, Type.CABLE), "GGG", "RDR", "GGG", 'R', "dustRedstone", 'D', "dustRuby", 'G', "blockGlass"); + registerShaped(getMaterial("glassfiber", 6, Type.CABLE), "GGG", "RDR", "GGG", 'R', "ingotSilver", 'D', "gemDiamond", 'G', "blockGlass"); + registerShaped(getMaterial("glassfiber", 6, Type.CABLE), "GGG", "RDR", "GGG", 'R', "ingotSilver", 'D', "dustDiamond", 'G', "blockGlass"); + registerShaped(getMaterial("glassfiber", 8, Type.CABLE), "GGG", "RDR", "GGG", 'R', "ingotElectrum", 'D', "gemDiamond", 'G', "blockGlass"); + registerShaped(getMaterial("glassfiber", 8, Type.CABLE), "GGG", "RDR", "GGG", 'R', "ingotElectrum", 'D', "dustDiamond", 'G', "blockGlass"); + registerShapeless(getMaterial("carbon_fiber", Type.PART), "dustCoal", "dustCoal", "dustCoal", "dustCoal"); + registerShapeless(getMaterial("carbon_fiber", Type.PART), getMaterialObject("carbon", Type.CELL), getMaterialObject("carbon", Type.CELL), getMaterialObject("carbon", Type.CELL), getMaterialObject("carbon", Type.CELL), getMaterialObject("carbon", Type.CELL), getMaterialObject("carbon", Type.CELL), getMaterialObject("carbon", Type.CELL), getMaterialObject("carbon", Type.CELL), getMaterialObject("carbon", Type.CELL)); + registerShapeless(getMaterial("carbon_mesh", Type.PART), getMaterialObject("carbon_fiber", Type.PART), getMaterialObject("carbon_fiber", Type.PART)); + registerShaped(getMaterial("electronic_circuit", Type.PART), "WWW", "SRS", "WWW", 'R', getStack(IC2Duplicates.REFINED_IRON), 'S', Items.REDSTONE, 'W', getStack(IC2Duplicates.CABLE_ICOPPER)); + registerShaped(getMaterial("advanced_circuit", Type.PART), "RGR", "LCL", "RGR", 'R', "dustRedstone", 'G', "dustGlowstone", 'L', "gemLapis", 'C', "circuitBasic"); + } + + //UU-Matter registerShaped(getStack(Blocks.LOG, 8), " U ", " ", " ", 'U', ModItems.UU_MATTER); registerShaped(getStack(Blocks.STONE, 16), " ", " U ", " ", 'U', ModItems.UU_MATTER); registerShaped(getStack(Blocks.SNOW, 16), "U U", " ", " ", 'U', ModItems.UU_MATTER); @@ -207,6 +236,14 @@ public class CraftingTableRecipes extends RecipeMethods { registerShaped(getMaterial("tungsten", Type.DUST), "U ", "UUU", "UUU", 'U', ModItems.UU_MATTER); registerShaped(getMaterial("titanium", 2, Type.DUST), "UUU", " U ", " U ", 'U', ModItems.UU_MATTER); registerShaped(getMaterial("aluminum", 16, Type.DUST), " U ", " U ", "UUU", 'U', ModItems.UU_MATTER); + + for (String part : ItemParts.types) { + if (part.endsWith("Gear")) { + registerShaped(getMaterial(part, Type.PART), " O ", "OIO", " O ", 'I', getStack(Items.IRON_INGOT), 'O', "ingot" + StringUtils.toFirstCapital(part.replace("Gear", ""))); + } + } + + Core.logHelper.info("Crafting Table Recipes Added"); } static void registerCompressionRecipes() {