aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/gregtech/registration
diff options
context:
space:
mode:
authorJordan Byrne <draknyte1@hotmail.com>2017-12-09 19:19:30 +1000
committerJordan Byrne <draknyte1@hotmail.com>2017-12-09 19:19:30 +1000
commit02c185e70e23c3c826e26e2ca4ddf5dbb056af71 (patch)
treeb7419fd7dd36a290c1d5b8884bd224de276ae5f2 /src/Java/gtPlusPlus/xmod/gregtech/registration
parent4f57b824fa40ac0628bf0f7fe9215bdd06cc0c52 (diff)
downloadGT5-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.java175
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;