diff options
author | Jordan Byrne <draknyte1@hotmail.com> | 2017-12-09 19:19:30 +1000 |
---|---|---|
committer | Jordan Byrne <draknyte1@hotmail.com> | 2017-12-09 19:19:30 +1000 |
commit | 02c185e70e23c3c826e26e2ca4ddf5dbb056af71 (patch) | |
tree | b7419fd7dd36a290c1d5b8884bd224de276ae5f2 /src/Java/gtPlusPlus/xmod/gregtech/registration | |
parent | 4f57b824fa40ac0628bf0f7fe9215bdd06cc0c52 (diff) | |
download | GT5-Unofficial-02c185e70e23c3c826e26e2ca4ddf5dbb056af71.tar.gz GT5-Unofficial-02c185e70e23c3c826e26e2ca4ddf5dbb056af71.tar.bz2 GT5-Unofficial-02c185e70e23c3c826e26e2ca4ddf5dbb056af71.zip |
+ Added a config option to disable Zombie Reinforcements.
% Redid some Circuit handling for recipes.
$ Fixed Component Assembler recipes not using all circuits per tier for recipes.
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech/registration')
-rw-r--r-- | src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechComponentAssembler.java | 175 |
1 files changed, 126 insertions, 49 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechComponentAssembler.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechComponentAssembler.java index 638f5ef2b0..c6884275a6 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechComponentAssembler.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechComponentAssembler.java @@ -119,7 +119,6 @@ public class GregtechComponentAssembler { // addRecipeEmitter(0, Materials.Lead, Materials.IronMagnetic); addRecipeEmitter(1, Materials.Tin, Materials.Brass, Materials.Quartzite); addRecipeEmitter(2, Materials.Copper, Materials.Electrum, Materials.NetherQuartz); - ; addRecipeEmitter(3, Materials.Gold, Materials.Chrome, Materials.Emerald); addRecipeEmitter(4, Materials.Aluminium, Materials.Platinum, Materials.EnderPearl); addRecipeEmitter(5, Materials.Tungsten, Materials.Osmium, Materials.EnderEye); @@ -286,17 +285,40 @@ public class GregtechComponentAssembler { ItemStack rodStack = ItemUtils.getGregtechOreStack(OrePrefixes.stick, stick, 2); ItemStack motorStack = ItemList.valueOf("Electric_Motor_" + GT_Values.VN[tier]).get(2); ItemStack pistonStack = ItemList.valueOf("Electric_Piston_" + GT_Values.VN[tier]).get(1); - ItemStack circuitStack; - if (CI.getTieredCircuit(tier) instanceof String) { - circuitStack = ItemUtils.getItemStackOfAmountFromOreDict((String) CI.getTieredCircuit(tier), 1); + + boolean mAdd[]; + final ItemStack oreDictList[] = CI.getAllCircuitsOfTier(tier); + if (oreDictList.length > 0) { + int mcount = 0, added = 0; + mAdd = new boolean[oreDictList.length]; + for (ItemStack mCircuitType : oreDictList) { + final ItemStack returnValue = mCircuitType.copy(); + returnValue.stackSize = 1; + ItemStack Input[] = { returnValue, cableStack, rodStack, pistonStack, motorStack }; + mAdd[mcount++] = CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, + ItemList.valueOf("Robot_Arm_" + GT_Values.VN[tier]).get(1), (tier * 40), + ((int) GT_Values.V[tier] / 16) * 15); + } + for (boolean y : mAdd) { + if (y) { + added++; + } + } + if (added >= (oreDictList.length / 2)) { + return true; + } + else { + return false; + } } else { - circuitStack = (ItemStack) CI.getTieredCircuit(tier); + ItemStack Input[] = { ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(tier), 1), cableStack, rodStack, pistonStack, motorStack }; + return CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, + ItemList.valueOf("Robot_Arm_" + GT_Values.VN[tier]).get(1), (tier * 40), + ((int) GT_Values.V[tier] / 16) * 15); } - ItemStack Input[] = { circuitStack, cableStack, rodStack, pistonStack, motorStack }; - return CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, - ItemList.valueOf("Robot_Arm_" + GT_Values.VN[tier]).get(1), (tier * 40), - ((int) GT_Values.V[tier] / 16) * 15); + + } catch (Throwable t) { return false; @@ -334,21 +356,40 @@ public class GregtechComponentAssembler { gem = ItemUtils.getSimpleStack(Items.ender_pearl); OrePrefixes prefixWire = OrePrefixes.getOrePrefix("wireGt" + mWT); - - ItemStack wireStack = ItemUtils.getGregtechOreStack(prefixWire, Materials.Osmium, 4); - - ItemStack circuitStack; - if (CI.getTieredCircuit(tier) instanceof String) { - circuitStack = ItemUtils.getItemStackOfAmountFromOreDict((String) CI.getTieredCircuit(tier), 4); - } - else { - circuitStack = (ItemStack) CI.getTieredCircuit(tier); + ItemStack wireStack = ItemUtils.getGregtechOreStack(prefixWire, Materials.Osmium, 4); + + boolean mAdd[]; + final ItemStack oreDictList[] = CI.getAllCircuitsOfTier(tier); + if (oreDictList.length > 0) { + int mcount = 0, added = 0; + mAdd = new boolean[oreDictList.length]; + for (ItemStack mCircuitType : oreDictList) { + final ItemStack returnValue = mCircuitType.copy(); + returnValue.stackSize = 4; + ItemStack Input[] = { returnValue, wireStack, gem }; + mAdd[mcount++] = CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, + ItemList.valueOf("Field_Generator_" + GT_Values.VN[tier]).get(1), (tier * 40), + ((int) GT_Values.V[tier] / 16) * 15); + } + for (boolean y : mAdd) { + if (y) { + added++; + } + } + if (added >= (oreDictList.length / 2)) { + return true; + } + else { + return false; + } } - circuitStack.stackSize = 4; - ItemStack Input[] = { circuitStack, wireStack, gem }; - return CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, - ItemList.valueOf("Field_Generator_" + GT_Values.VN[tier]).get(1), (tier * 40), - ((int) GT_Values.V[tier] / 16) * 15); + else { + ItemStack Input[] = { ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(tier), 4), wireStack, gem }; + return CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, + ItemList.valueOf("Field_Generator_" + GT_Values.VN[tier]).get(1), (tier * 40), + ((int) GT_Values.V[tier] / 16) * 15); + } + } catch (Throwable t) { return false; @@ -359,19 +400,42 @@ public class GregtechComponentAssembler { try { ItemStack cableStack = ItemUtils.getGregtechOreStack(OrePrefixes.cableGt01, cable, 2); ItemStack gemstack = ItemUtils.getGregtechOreStack(OrePrefixes.gem, gem, 1); - ItemStack magrodStack = ItemUtils.getGregtechOreStack(OrePrefixes.stick, stick, 4); - ItemStack circuitStack; - if (CI.getTieredCircuit(tier) instanceof String) { - circuitStack = ItemUtils.getItemStackOfAmountFromOreDict((String) CI.getTieredCircuit(tier), 2); + ItemStack magrodStack = ItemUtils.getGregtechOreStack(OrePrefixes.stick, stick, 4); + + boolean mAdd[]; + final ItemStack oreDictList[] = CI.getAllCircuitsOfTier(tier); + if (oreDictList.length > 0) { + int mcount = 0, added = 0; + mAdd = new boolean[oreDictList.length]; + for (ItemStack mCircuitType : oreDictList) { + final ItemStack returnValue = mCircuitType.copy(); + returnValue.stackSize = 2; + ItemStack Input[] = { returnValue, cableStack, gemstack, magrodStack }; + mAdd[mcount++] = CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, + ItemList.valueOf("Emitter_" + GT_Values.VN[tier]).get(1), (tier * 40), + ((int) GT_Values.V[tier] / 16) * 15); + } + for (boolean y : mAdd) { + if (y) { + added++; + } + } + if (added >= (oreDictList.length / 2)) { + return true; + } + else { + return false; + } } else { - circuitStack = (ItemStack) CI.getTieredCircuit(tier); - } - circuitStack.stackSize = 2; - ItemStack Input[] = { circuitStack, cableStack, gemstack, magrodStack }; - return CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, - ItemList.valueOf("Emitter_" + GT_Values.VN[tier]).get(1), (tier * 40), - ((int) GT_Values.V[tier] / 16) * 15); + ItemStack Input[] = { ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(tier), 2), cableStack, gemstack, magrodStack }; + return CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, + ItemList.valueOf("Emitter_" + GT_Values.VN[tier]).get(1), (tier * 40), + ((int) GT_Values.V[tier] / 16) * 15); + } + + + } catch (Throwable t) { return false; @@ -382,28 +446,41 @@ public class GregtechComponentAssembler { try { ItemStack cableStack = ItemUtils.getGregtechOreStack(OrePrefixes.plate, plate, 4); ItemStack magrodStack = ItemUtils.getGregtechOreStack(OrePrefixes.stick, rod, 1); - ItemStack gemStack = ItemUtils.getGregtechOreStack(OrePrefixes.gem, gem, 1); + ItemStack gemStack = ItemUtils.getGregtechOreStack(OrePrefixes.gem, gem, 1); - if (tier == 0) { - if (CI.getTieredCircuit(tier + 1) instanceof String) { - gemStack = ItemUtils.getItemStackOfAmountFromOreDict((String) CI.getTieredCircuit(tier + 1), 1); + boolean mAdd[]; + final ItemStack oreDictList[] = CI.getAllCircuitsOfTier(tier); + if (oreDictList.length > 0) { + int mcount = 0, added = 0; + mAdd = new boolean[oreDictList.length]; + for (ItemStack mCircuitType : oreDictList) { + final ItemStack returnValue = mCircuitType.copy(); + returnValue.stackSize = 1; + ItemStack Input[] = { returnValue, cableStack, returnValue, magrodStack }; + mAdd[mcount++] = CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, + ItemList.valueOf("Sensor_" + GT_Values.VN[tier]).get(1), (tier * 40), + ((int) GT_Values.V[tier] / 16) * 15); + } + for (boolean y : mAdd) { + if (y) { + added++; + } + } + if (added >= (oreDictList.length / 2)) { + return true; } else { - gemStack = (ItemStack) CI.getTieredCircuit(tier + 1); + return false; } } - - ItemStack circuitStack2; - if (CI.getTieredCircuit(tier) instanceof String) { - circuitStack2 = ItemUtils.getItemStackOfAmountFromOreDict((String) CI.getTieredCircuit(tier), 1); - } else { - circuitStack2 = (ItemStack) CI.getTieredCircuit(tier); + ItemStack Input[] = { gemStack, cableStack, magrodStack, ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(tier), 1) }; + return CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, + ItemList.valueOf("Sensor_" + GT_Values.VN[tier]).get(1), (tier * 40), + ((int) GT_Values.V[tier] / 16) * 15); } - ItemStack Input[] = { gemStack, cableStack, circuitStack2, magrodStack }; - return CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, - ItemList.valueOf("Sensor_" + GT_Values.VN[tier]).get(1), (tier * 40), - ((int) GT_Values.V[tier] / 16) * 15); + + } catch (Throwable t) { return false; |