diff options
5 files changed, 140 insertions, 117 deletions
diff --git a/src/Java/gtPlusPlus/GTplusplus.java b/src/Java/gtPlusPlus/GTplusplus.java index 7ce6ceb827..9b28eeae97 100644 --- a/src/Java/gtPlusPlus/GTplusplus.java +++ b/src/Java/gtPlusPlus/GTplusplus.java @@ -30,6 +30,7 @@ import gtPlusPlus.core.handler.Recipes.RegistrationHandler; import gtPlusPlus.core.handler.events.LoginEventHandler; import gtPlusPlus.core.item.general.RF2EU_Battery; import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.recipe.RECIPES_Old_Circuits; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.item.ItemUtils; import gtPlusPlus.core.util.reflect.ReflectionUtils; @@ -228,6 +229,12 @@ public class GTplusplus implements ActionListener { // ~ //ReflectionUtils.becauseIWorkHard(); + + //Circuits + if (CORE.configSwitches.enableOldGTcircuits){ + RECIPES_Old_Circuits.handleCircuits(); + new RECIPES_Old_Circuits(); + } //Make Burnables burnable if (!CORE.burnables.isEmpty()){ @@ -284,13 +291,15 @@ public class GTplusplus implements ActionListener { private static boolean removeCircuitRecipeMap(){ try { + Utils.LOG_INFO("[Old Feature - Circuits] Trying to override the Circuit Assembler Recipe map, so that no recipes for new circuits get added."); ReflectionUtils.setFinalStatic(GT_Recipe_Map.class.getDeclaredField("sCircuitAssemblerRecipes"), new EmptyRecipeMap(new HashSet<GT_Recipe>(0), "gt.recipe.removed", "Removed", null, GT_Values.RES_PATH_GUI + "basicmachines/Default", 0, 0, 0, 0, 0, GT_Values.E, 0, GT_Values.E, true, false)); Field jaffar = GT_Recipe_Map.class.getDeclaredField("sCircuitAssemblerRecipes"); FieldUtils.removeFinalModifier(jaffar, true); jaffar.set(null, new EmptyRecipeMap(new HashSet<GT_Recipe>(0), "gt.recipe.removed", "Removed", null, GT_Values.RES_PATH_GUI + "basicmachines/Default", 0, 0, 0, 0, 0, GT_Values.E, 0, GT_Values.E, true, false)); + Utils.LOG_INFO("[Old Feature - Circuits] Successfully replaced circuit assembler recipe map with one that cannot hold recipes."); } catch (Exception e) { - Utils.LOG_INFO("Failed removing circuit assembler recipe map."); + Utils.LOG_INFO("[Old Feature - Circuits] Failed removing circuit assembler recipe map."); return false; } return true; diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java index 992f004fe7..fd8874ca0b 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java @@ -44,11 +44,11 @@ public class RECIPES_General { OUTPUT_Blueprint); //Bronze Workbench - RecipeUtils.recipeBuilder( + /*RecipeUtils.recipeBuilder( RECIPE_BronzePlate, RECIPE_CraftingTable, RECIPE_BronzePlate, RECIPE_BronzePlate, RECIPE_BasicCasingIC2, RECIPE_BronzePlate, RECIPE_BronzePlate, RECIPE_BronzePlate, RECIPE_BronzePlate, - OUTPUT_Workbench_Bronze); + OUTPUT_Workbench_Bronze);*/ //Generates recipes for the Dull shard when TC is not installed. if (!LoadedMods.Thaumcraft){ diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java index 1b7a9d6f03..9097b585aa 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java @@ -204,13 +204,13 @@ public class RECIPES_Machines { public static ItemStack IC2MFSU; //Circuits - public static String circuitPrimitive = "circuitBasic"; - public static String circuitTier1 = "circuitGood"; - public static String circuitTier2 = "circuitAdvanced"; - public static String circuitTier3 = "circuitData"; - public static String circuitTier4 = "circuitElite"; - public static String circuitTier5 = "circuitMaster"; - public static String circuitTier6 = "circuitUltimate"; + public static ItemStack circuitPrimitive = ItemList.Circuit_Primitive.get(1); + public static ItemStack circuitTier1 = ItemList.Circuit_Basic.get(1);//"circuitGood"; + public static ItemStack circuitTier2 = ItemList.Circuit_Good.get(1);//"circuitAdvanced"; + public static ItemStack circuitTier3 = ItemList.Circuit_Advanced.get(1);//"circuitData"; + public static ItemStack circuitTier4 = ItemList.Circuit_Elite.get(1);//"circuitElite"; + public static ItemStack circuitTier5 = ItemList.Circuit_Master.get(1);//"circuitMaster"; + public static ItemStack circuitTier6 = ItemList.Circuit_Ultimate.get(1);//"circuitUltimate"; public static String circuitTier7 = "circuitSuperconductor"; public static String circuitTier8 = "circuitInfinite"; public static String circuitTier9 = "circuitQuantum"; @@ -729,7 +729,7 @@ public class RECIPES_Machines { plateTier1 = "plateTin"; pipeTier1 = "pipeLargeClay"; - circuitTier1 = "circuitPrimitive"; + circuitTier1 = ItemList.Circuit_Primitive.get(1); plateTier2 = "plateCopper"; pipeTier2 = "pipeHugeClay"; plateTier3 = "plateBronze"; diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Old_Circuits.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Old_Circuits.java index b284ecac7e..9ef02aa5b3 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Old_Circuits.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Old_Circuits.java @@ -1,8 +1,11 @@ package gtPlusPlus.core.recipe; +import codechicken.nei.api.API; +import cpw.mods.fml.common.Loader; import gregtech.api.enums.*; import gregtech.api.interfaces.IOreRecipeRegistrator; import gregtech.api.util.*; +import gtPlusPlus.core.util.Utils; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import net.minecraft.item.ItemStack; @@ -14,6 +17,7 @@ public class RECIPES_Old_Circuits implements IOreRecipeRegistrator { @Override public void registerOre(final OrePrefixes aPrefix, final Materials aMaterial, final String aOreDictName, final String aModName, final ItemStack aStack) { if (aOreDictName.equals(OreDictNames.craftingLensRed.toString())) { + Utils.LOG_INFO("[Old Feature - Circuits] Adding recipes for old circuits. (Part 2)"); GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Copper, 1L), GT_Utility.copyAmount(0L, new Object[]{aStack}), GregtechItemList.Old_Circuit_Parts_Wiring_Basic.get(1L, new Object[0]), 64, 30); GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.foil, Materials.AnnealedCopper, 1L), GT_Utility.copyAmount(0L, new Object[]{aStack}), GregtechItemList.Old_Circuit_Parts_Wiring_Basic.get(1L, new Object[0]), 64, 30); GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gold, 1L), GT_Utility.copyAmount(0L, new Object[]{aStack}), GregtechItemList.Old_Circuit_Parts_Wiring_Advanced.get(1L, new Object[0]), 64, 120); @@ -22,17 +26,20 @@ public class RECIPES_Old_Circuits implements IOreRecipeRegistrator { } else if (aOreDictName.equals(OreDictNames.craftingLensGreen.toString())) { + Utils.LOG_INFO("[Old Feature - Circuits] Adding recipes for old circuits. (Part 3)"); GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Olivine, 1L), GT_Utility.copyAmount(0L, new Object[]{aStack}), GregtechItemList.Old_Circuit_Parts_Crystal_Chip_Elite.get(1L, new Object[0]), 256, 480); GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Emerald, 1L), GT_Utility.copyAmount(0L, new Object[]{aStack}), GregtechItemList.Old_Circuit_Parts_Crystal_Chip_Elite.get(1L, new Object[0]), 256, 480); } else if (aOreDictName.equals(OreDictNames.craftingLensBlue.toString()) || aOreDictName.equals(OreDictNames.craftingLensCyan.toString()) || aOreDictName.equals(OreDictNames.craftingLensLightBlue.toString())) { + Utils.LOG_INFO("[Old Feature - Circuits] Adding recipes for old circuits. (Part 4)"); GT_Values.RA.addLaserEngraverRecipe(ItemList.IC2_LapotronCrystal.getWildcard(1L, new Object[0]), GT_Utility.copyAmount(0L, new Object[]{aStack}), GregtechItemList.Old_Circuit_Parts_Crystal_Chip_Master.get(3L, new Object[0]), 256, 480); } } - public static boolean addCircuitRecipes(){ + private static boolean addCircuitRecipes(){ + Utils.LOG_INFO("[Old Feature - Circuits] Adding recipes for old circuits. (Part 1)"); GT_ModHandler.addShapelessCraftingRecipe(GregtechItemList.Old_Circuit_Primitive.get(1L, new Object[0]), new Object[]{GT_ModHandler.getIC2Item("casingadviron", 1L), OrePrefixes.wireGt01.get(Materials.RedAlloy), OrePrefixes.wireGt01.get(Materials.RedAlloy), OrePrefixes.wireGt01.get(Materials.Tin)}); GT_ModHandler.addCraftingRecipe(GregtechItemList.Old_Circuit_Basic.get(1L, new Object[0]), new Object[]{"WWW", "CPC", "WWW", 'C', OrePrefixes.circuit.get(Materials.Primitive), 'W', OreDictNames.craftingWireCopper, 'P', OrePrefixes.plate.get(Materials.Steel)}); GT_ModHandler.addCraftingRecipe(GregtechItemList.Old_Circuit_Basic.get(1L, new Object[0]), new Object[]{"WCW", "WPW", "WCW", 'C', OrePrefixes.circuit.get(Materials.Primitive), 'W', OreDictNames.craftingWireCopper, 'P', OrePrefixes.plate.get(Materials.Steel)}); @@ -76,14 +83,23 @@ public class RECIPES_Old_Circuits implements IOreRecipeRegistrator { return true; } - public static boolean removeNewCircuits(){ + public static boolean handleCircuits(){ + + hideCircuitsNEI(); + addCircuitRecipes(); + removeNewCircuits(); + return true; + } + + private static boolean removeNewCircuits(){ + Utils.LOG_INFO("[Old Feature - Circuits] Overriding .28+ circuit values in the GT5u Itemlist with values from GT++."); ItemList.Circuit_Primitive.set(GregtechItemList.Old_Circuit_Primitive.get(1)); ItemList.Circuit_Basic.set(GregtechItemList.Old_Circuit_Basic.get(1)); ItemList.Circuit_Integrated_Good.set(GregtechItemList.Old_Circuit_Good.get(1)); ItemList.Circuit_Good.set(GregtechItemList.Old_Circuit_Good.get(1)); ItemList.Circuit_Advanced.set(GregtechItemList.Old_Circuit_Advanced.get(1)); - ItemList.Circuit_Data.set(GregtechItemList.Old_Circuit_Data.get(1)); + //ItemList.Circuit_Data.set(GregtechItemList.Old_Circuit_Data.get(1)); ItemList.Circuit_Elite.set(GregtechItemList.Old_Circuit_Elite.get(1)); ItemList.Circuit_Master.set(GregtechItemList.Old_Circuit_Master.get(1)); ItemList.Circuit_Ultimate.set(GregtechItemList.Old_Circuit_Ultimate.get(1)); @@ -101,5 +117,104 @@ public class RECIPES_Old_Circuits implements IOreRecipeRegistrator { return true; } + + private static boolean hideCircuitsNEI(){ + Boolean isNEILoaded = Loader.isModLoaded("NotEnoughItems"); + if (isNEILoaded){ + Utils.LOG_INFO("[Old Feature - Circuits] Hiding .28+ circuits in NEI."); + String[] CircuitToHide = { + "Circuit_Board_Basic", + "Circuit_Board_Advanced", + "Circuit_Board_Elite", + "Circuit_Parts_Advanced", + "Circuit_Parts_Wiring_Basic", + "Circuit_Parts_Wiring_Advanced", + "Circuit_Parts_Wiring_Elite", + "Circuit_Parts_Crystal_Chip_Elite", + "Circuit_Parts_Crystal_Chip_Master", + "Circuit_Primitive", + "Circuit_Basic", + "Circuit_Integrated_Good", + "Circuit_Good", + "Circuit_Advanced", + "Circuit_Data", + "Circuit_Elite", + "Circuit_Master", + "Circuit_Ultimate", + "Circuit_Board_Coated", + "Circuit_Board_Phenolic", + "Circuit_Board_Epoxy", + "Circuit_Board_Fiberglass", + "Circuit_Board_Multifiberglass", + "Circuit_Board_Wetware", + "Circuit_Parts_Resistor", + "Circuit_Parts_ResistorSMD", + "Circuit_Parts_Glass_Tube", + "Circuit_Parts_Vacuum_Tube", + "Circuit_Parts_Coil", + "Circuit_Parts_Diode", + "Circuit_Parts_DiodeSMD", + "Circuit_Parts_Transistor", + "Circuit_Parts_TransistorSMD", + "Circuit_Parts_Capacitor", + "Circuit_Parts_CapacitorSMD", + "Circuit_Silicon_Ingot", + "Circuit_Silicon_Ingot2", + "Circuit_Silicon_Ingot3", + "Circuit_Silicon_Wafer", + "Circuit_Silicon_Wafer2", + "Circuit_Silicon_Wafer3", + "Circuit_Wafer_ILC", + "Circuit_Chip_ILC", + "Circuit_Wafer_Ram", + "Circuit_Chip_Ram", + "Circuit_Wafer_NAND", + "Circuit_Chip_NAND", + "Circuit_Wafer_NOR", + "Circuit_Chip_NOR", + "Circuit_Wafer_CPU", + "Circuit_Chip_CPU", + "Circuit_Wafer_SoC", + "Circuit_Chip_SoC", + "Circuit_Wafer_SoC2", + "Circuit_Chip_SoC2", + "Circuit_Wafer_PIC", + "Circuit_Chip_PIC", + "Circuit_Wafer_HPIC", + "Circuit_Chip_HPIC", + "Circuit_Wafer_NanoCPU", + "Circuit_Chip_NanoCPU", + "Circuit_Wafer_QuantumCPU", + "Circuit_Chip_QuantumCPU", + "Circuit_Chip_CrystalCPU", + "Circuit_Chip_CrystalSoC", + "Circuit_Chip_NeuroCPU", + "Circuit_Chip_Stemcell", + "Circuit_Processor", + "Circuit_Computer", + "Circuit_Nanoprocessor", + "Circuit_Nanocomputer", + "Circuit_Elitenanocomputer", + "Circuit_Quantumprocessor", + "Circuit_Quantumcomputer", + "Circuit_Masterquantumcomputer", + "Circuit_Quantummainframe", + "Circuit_Crystalprocessor", + "Circuit_Crystalcomputer", + "Circuit_Ultimatecrystalcomputer", + "Circuit_Crystalmainframe", + "Circuit_Neuroprocessor", + "Circuit_Wetwarecomputer", + "Circuit_Wetwaresupercomputer", + "Circuit_Wetwaremainframe", + "Circuit_Parts_RawCrystalChip" + }; + + for (String component : CircuitToHide){ + API.hideItem(ItemList.valueOf(component).get(1L, new Object[0])); + } + } + return true; + } } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java b/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java index fb6aa9991d..1468e97f85 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java @@ -247,6 +247,7 @@ public class MetaGeneratedGregtechItems extends Gregtech_MetaItem_X32 { private boolean registerOldCircuits(){ //Enable Old Circuits + Utils.LOG_INFO("[Old Feature - Circuits] Enabling Pre-5.09.28 Circuits and Data Storage."); GregtechItemList.Old_Circuit_Primitive.set(this.addItem(200, "NAND Chip", "A very simple Circuit", new Object[]{OrePrefixes.circuit.get(Materials.Primitive)})); GregtechItemList.Old_Circuit_Basic.set(this.addItem(201, "Basic Electronic Circuit", "A basic Circuit", new Object[]{OrePrefixes.circuit.get(Materials.Basic)})); @@ -274,109 +275,7 @@ public class MetaGeneratedGregtechItems extends Gregtech_MetaItem_X32 { GregtechItemList.Old_Circuit_Parts_Wiring_Elite.set(this.addItem(218, "Etched Extreme Voltage Wiring", "Part of Circuit Boards", new Object[0])); GregtechItemList.Old_Empty_Board_Basic.set(this.addItem(219, "Empty Circuit Board", "A Board Part", new Object[0])); GregtechItemList.Old_Empty_Board_Elite.set(this.addItem(220, "Empty Processor Board", "A Processor Board Part", new Object[0])); - - //Add the old recipes. - new RECIPES_Old_Circuits(); - Utils.LOG_INFO("[Old Feature] Enabling Pre 5.09.28 circuits & recipes."); - - Boolean isNEILoaded = Loader.isModLoaded("NotEnoughItems"); - if (isNEILoaded){ - String[] CircuitToHide = { - "Circuit_Board_Basic", - "Circuit_Board_Advanced", - "Circuit_Board_Elite", - "Circuit_Parts_Advanced", - "Circuit_Parts_Wiring_Basic", - "Circuit_Parts_Wiring_Advanced", - "Circuit_Parts_Wiring_Elite", - "Circuit_Parts_Crystal_Chip_Elite", - "Circuit_Parts_Crystal_Chip_Master", - "Circuit_Primitive", - "Circuit_Basic", - "Circuit_Integrated_Good", - "Circuit_Good", - "Circuit_Advanced", - "Circuit_Data", - "Circuit_Elite", - "Circuit_Master", - "Circuit_Ultimate", - "Circuit_Board_Coated", - "Circuit_Board_Phenolic", - "Circuit_Board_Epoxy", - "Circuit_Board_Fiberglass", - "Circuit_Board_Multifiberglass", - "Circuit_Board_Wetware", - "Circuit_Parts_Resistor", - "Circuit_Parts_ResistorSMD", - "Circuit_Parts_Glass_Tube", - "Circuit_Parts_Vacuum_Tube", - "Circuit_Parts_Coil", - "Circuit_Parts_Diode", - "Circuit_Parts_DiodeSMD", - "Circuit_Parts_Transistor", - "Circuit_Parts_TransistorSMD", - "Circuit_Parts_Capacitor", - "Circuit_Parts_CapacitorSMD", - "Circuit_Silicon_Ingot", - "Circuit_Silicon_Ingot2", - "Circuit_Silicon_Ingot3", - "Circuit_Silicon_Wafer", - "Circuit_Silicon_Wafer2", - "Circuit_Silicon_Wafer3", - "Circuit_Wafer_ILC", - "Circuit_Chip_ILC", - "Circuit_Wafer_Ram", - "Circuit_Chip_Ram", - "Circuit_Wafer_NAND", - "Circuit_Chip_NAND", - "Circuit_Wafer_NOR", - "Circuit_Chip_NOR", - "Circuit_Wafer_CPU", - "Circuit_Chip_CPU", - "Circuit_Wafer_SoC", - "Circuit_Chip_SoC", - "Circuit_Wafer_SoC2", - "Circuit_Chip_SoC2", - "Circuit_Wafer_PIC", - "Circuit_Chip_PIC", - "Circuit_Wafer_HPIC", - "Circuit_Chip_HPIC", - "Circuit_Wafer_NanoCPU", - "Circuit_Chip_NanoCPU", - "Circuit_Wafer_QuantumCPU", - "Circuit_Chip_QuantumCPU", - "Circuit_Chip_CrystalCPU", - "Circuit_Chip_CrystalSoC", - "Circuit_Chip_NeuroCPU", - "Circuit_Chip_Stemcell", - "Circuit_Processor", - "Circuit_Computer", - "Circuit_Nanoprocessor", - "Circuit_Nanocomputer", - "Circuit_Elitenanocomputer", - "Circuit_Quantumprocessor", - "Circuit_Quantumcomputer", - "Circuit_Masterquantumcomputer", - "Circuit_Quantummainframe", - "Circuit_Crystalprocessor", - "Circuit_Crystalcomputer", - "Circuit_Ultimatecrystalcomputer", - "Circuit_Crystalmainframe", - "Circuit_Neuroprocessor", - "Circuit_Wetwarecomputer", - "Circuit_Wetwaresupercomputer", - "Circuit_Wetwaremainframe", - "Circuit_Parts_RawCrystalChip" - }; - - for (String component : CircuitToHide){ - API.hideItem(ItemList.valueOf(component).get(1L, new Object[0])); - } - - - RECIPES_Old_Circuits.removeNewCircuits(); - } - + return true; } } |