aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/xmod')
-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;