diff options
author | miozune <miozune@gmail.com> | 2023-12-15 01:48:05 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-14 17:48:05 +0100 |
commit | cd68d1ea674ee57eb3e2ebd876e8a46f98e4fb98 (patch) | |
tree | 7b73c668977f749ad88b519f36044d5932e7d264 | |
parent | d5027a25bc32bc167c5fd83980cbbe1c2c82f636 (diff) | |
download | GT5-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.java | 22 |
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; |