diff options
author | Muramasa <haydenkilloh@gmail.com> | 2016-06-19 23:46:40 +0100 |
---|---|---|
committer | Muramasa <haydenkilloh@gmail.com> | 2016-06-19 23:46:40 +0100 |
commit | 8e25705a3d5f623214af06bd0645dfaaf3a72c15 (patch) | |
tree | b7ce6519251f2a66110ba0402ccd6b18e52c0437 /src/main/java/gregtech/api/metatileentity/implementations | |
parent | 58ed5088e173c2c886935fb86ffa146035f82d01 (diff) | |
parent | dc2a48259afed8b86f99fa91dbf58520741e9f47 (diff) | |
download | GT5-Unofficial-8e25705a3d5f623214af06bd0645dfaaf3a72c15.tar.gz GT5-Unofficial-8e25705a3d5f623214af06bd0645dfaaf3a72c15.tar.bz2 GT5-Unofficial-8e25705a3d5f623214af06bd0645dfaaf3a72c15.zip |
Merge remote-tracking branch 'refs/remotes/Blood-Asp/experimental' into DieselGenerator
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity/implementations')
-rw-r--r-- | src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java index a06b96b356..fad4ab153a 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java @@ -562,16 +562,21 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { aStack = GT_Utility.copy(aStack); // FluidStack aLiquid = GT_Utility.getFluidForFilledItem(aStack, true); // if (aLiquid == null) { - for (GT_MetaTileEntity_Hatch_OutputBus tHatch : mOutputBusses) { - if (isValidMetaTileEntity(tHatch)) { - for (int i = tHatch.getSizeInventory() - 1; i >= 0; i--) { - if (tHatch.getBaseMetaTileEntity().addStackToSlot(i, aStack)) return true; + boolean outputSuccess = true; + while (outputSuccess && aStack.stackSize > 0) { + outputSuccess = false; + ItemStack single = aStack.splitStack(1); + for (GT_MetaTileEntity_Hatch_OutputBus tHatch : mOutputBusses) { + if (!outputSuccess && isValidMetaTileEntity(tHatch)) { + for (int i = tHatch.getSizeInventory() - 1; i >= 0 && !outputSuccess; i--) { + if (tHatch.getBaseMetaTileEntity().addStackToSlot(i, single)) outputSuccess = true; + } } } - } - for (GT_MetaTileEntity_Hatch_Output tHatch : mOutputHatches) { - if (isValidMetaTileEntity(tHatch) && tHatch.outputsItems()) { - if (tHatch.getBaseMetaTileEntity().addStackToSlot(1, aStack)) return true; + for (GT_MetaTileEntity_Hatch_Output tHatch : mOutputHatches) { + if (!outputSuccess && isValidMetaTileEntity(tHatch) && tHatch.outputsItems()) { + if (tHatch.getBaseMetaTileEntity().addStackToSlot(1, single)) outputSuccess = true; + } } } // }else { @@ -584,7 +589,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { // } // } // } - return false; + return outputSuccess; } public boolean depleteInput(ItemStack aStack) { |