aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2023-12-15 01:48:05 +0900
committerGitHub <noreply@github.com>2023-12-14 17:48:05 +0100
commitcd68d1ea674ee57eb3e2ebd876e8a46f98e4fb98 (patch)
tree7b73c668977f749ad88b519f36044d5932e7d264
parentd5027a25bc32bc167c5fd83980cbbe1c2c82f636 (diff)
downloadGT5-Unofficial-cd68d1ea674ee57eb3e2ebd876e8a46f98e4fb98.tar.gz
GT5-Unofficial-cd68d1ea674ee57eb3e2ebd876e8a46f98e4fb98.tar.bz2
GT5-Unofficial-cd68d1ea674ee57eb3e2ebd876e8a46f98e4fb98.zip
Fix QFT not recognizing circuit in separated input bus (#804)
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_QuantumForceTransformer.java22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_QuantumForceTransformer.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_QuantumForceTransformer.java
index 9e477f869d..573a24382c 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_QuantumForceTransformer.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_QuantumForceTransformer.java
@@ -50,6 +50,7 @@ import com.gtnewhorizon.structurelib.structure.StructureUtility;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.enums.TAE;
import gregtech.api.enums.Textures;
@@ -477,7 +478,6 @@ public class GregtechMetaTileEntity_QuantumForceTransformer
doFermium = false;
doNeptunium = false;
- final ItemStack controllerStack = getControllerSlot();
if (recipe.mSpecialValue <= getFocusingTier()) {
if (mFermiumHatch != null && mFermiumHatch.getFluid() != null
@@ -492,9 +492,7 @@ public class GregtechMetaTileEntity_QuantumForceTransformer
}
}
- chances = GetChanceOutputs(
- recipe,
- doNeptunium && controllerStack != null ? controllerStack.getItemDamage() - 1 : -1);
+ chances = getOutputChances(recipe, doNeptunium ? findProgrammedCircuitNumber() : -1);
return CheckRecipeResultRegistry.SUCCESSFUL;
}
@@ -604,6 +602,20 @@ public class GregtechMetaTileEntity_QuantumForceTransformer
return fluids.toArray(new FluidStack[0]);
});
}
+
+ private int findProgrammedCircuitNumber() {
+ if (isInputSeparationEnabled()) {
+ for (ItemStack stack : inputItems) {
+ if (ItemList.Circuit_Integrated.isStackEqual(stack)) {
+ return stack.getItemDamage() - 1;
+ }
+ }
+ return -1;
+ } else {
+ final ItemStack controllerStack = getControllerSlot();
+ return controllerStack != null ? controllerStack.getItemDamage() - 1 : -1;
+ }
+ }
};
}
@@ -670,7 +682,7 @@ public class GregtechMetaTileEntity_QuantumForceTransformer
return false;
}
- private int[] GetChanceOutputs(GT_Recipe tRecipe, int aChanceIncreased) {
+ private int[] getOutputChances(GT_Recipe tRecipe, int aChanceIncreased) {
int difference = getFocusingTier() - tRecipe.mSpecialValue;
int aOutputsAmount = tRecipe.mOutputs.length + tRecipe.mFluidOutputs.length;
int aChancePerOutput = 10000 / aOutputsAmount;