diff options
author | HoleFish <48403212+HoleFish@users.noreply.github.com> | 2024-04-16 00:11:10 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-15 18:11:10 +0200 |
commit | 03bf4166e36ccb71465c64ee07bfe919d110349f (patch) | |
tree | 669f92b05de9e2e056763fc159e998909f0918eb /src/main/java/gregtech | |
parent | 4307adbc8477d4600373e3887dea405398a0c9d1 (diff) | |
download | GT5-Unofficial-03bf4166e36ccb71465c64ee07bfe919d110349f.tar.gz GT5-Unofficial-03bf4166e36ccb71465c64ee07bfe919d110349f.tar.bz2 GT5-Unofficial-03bf4166e36ccb71465c64ee07bfe919d110349f.zip |
Fix broken input separation (#2572)
fix
Diffstat (limited to 'src/main/java/gregtech')
-rw-r--r-- | src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java | 41 |
1 files changed, 26 insertions, 15 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 d964d9a7f1..88d9c1517b 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 @@ -795,21 +795,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity processingLogic.setInputFluids(getStoredFluids()); if (isInputSeparationEnabled()) { - for (GT_MetaTileEntity_Hatch_InputBus bus : mInputBusses) { - if (bus instanceof GT_MetaTileEntity_Hatch_CraftingInput_ME) { - continue; - } - List<ItemStack> inputItems = new ArrayList<>(); - for (int i = bus.getSizeInventory() - 1; i >= 0; i--) { - ItemStack stored = bus.getStackInSlot(i); - if (stored != null) { - inputItems.add(stored); - } - } - if (canUseControllerSlotForRecipe() && getControllerSlot() != null) { - inputItems.add(getControllerSlot()); - } - processingLogic.setInputItems(inputItems.toArray(new ItemStack[0])); + if (mInputBusses.isEmpty()) { CheckRecipeResult foundResult = processingLogic.process(); if (foundResult.wasSuccessful()) { return foundResult; @@ -818,6 +804,31 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity // Recipe failed in interesting way, so remember that and continue searching result = foundResult; } + } else { + for (GT_MetaTileEntity_Hatch_InputBus bus : mInputBusses) { + if (bus instanceof GT_MetaTileEntity_Hatch_CraftingInput_ME) { + continue; + } + List<ItemStack> inputItems = new ArrayList<>(); + for (int i = bus.getSizeInventory() - 1; i >= 0; i--) { + ItemStack stored = bus.getStackInSlot(i); + if (stored != null) { + inputItems.add(stored); + } + } + if (canUseControllerSlotForRecipe() && getControllerSlot() != null) { + inputItems.add(getControllerSlot()); + } + processingLogic.setInputItems(inputItems.toArray(new ItemStack[0])); + CheckRecipeResult foundResult = processingLogic.process(); + if (foundResult.wasSuccessful()) { + return foundResult; + } + if (foundResult != CheckRecipeResultRegistry.NO_RECIPE) { + // Recipe failed in interesting way, so remember that and continue searching + result = foundResult; + } + } } } else { List<ItemStack> inputItems = getStoredInputs(); |