From 4d16cb38af0eacd18cd02eebf6e0b9ec9f097646 Mon Sep 17 00:00:00 2001 From: miozune Date: Thu, 19 Oct 2023 03:10:48 +0900 Subject: Fix stocking hatch might hold 0 amount of fluid after running recipe (#2340) * Fix stocking hatch might hold 0 amount of fluid after running recipe * now actually fix --- .../machines/GT_MetaTileEntity_Hatch_InputBus_ME.java | 3 +++ .../machines/GT_MetaTileEntity_Hatch_Input_ME.java | 15 ++++++--------- 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_InputBus_ME.java b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_InputBus_ME.java index 0ca632f479..fcc070b069 100644 --- a/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_InputBus_ME.java +++ b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_InputBus_ME.java @@ -466,6 +466,9 @@ public class GT_MetaTileEntity_Hatch_InputBus_ME extends GT_MetaTileEntity_Hatch } savedStackSizes[i] = 0; shadowInventory[i] = null; + if (mInventory[i + SLOT_COUNT] != null && mInventory[i + SLOT_COUNT].stackSize <= 0) { + mInventory[i + SLOT_COUNT] = null; + } } } processingRecipe = false; diff --git a/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_Input_ME.java b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_Input_ME.java index a32076ad2a..4c1b8154ca 100644 --- a/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_Input_ME.java +++ b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_Input_ME.java @@ -223,10 +223,7 @@ public class GT_MetaTileEntity_Hatch_Input_ME extends GT_MetaTileEntity_Hatch_In for (int i = 0; i < SLOT_COUNT; ++i) { FluidStack oldStack = shadowStoredFluids[i]; - int oldAmount = savedStackSizes[i]; - if (oldStack == null || oldAmount == 0) continue; - - int toExtract = oldAmount - oldStack.amount; + int toExtract = savedStackSizes[i] - (oldStack != null ? oldStack.amount : 0); if (toExtract <= 0) continue; IAEFluidStack request = AEFluidStack.create(storedFluids[i]); @@ -240,16 +237,16 @@ public class GT_MetaTileEntity_Hatch_Input_ME extends GT_MetaTileEntity_Hatch_In checkRecipeResult = SimpleCheckRecipeResult .ofFailurePersistOnShutdown("stocking_hatch_fail_extraction"); } + shadowStoredFluids[i] = null; + savedStackSizes[i] = 0; + if (storedInformationFluids[i] != null && storedInformationFluids[i].amount <= 0) { + storedInformationFluids[i] = null; + } } } catch (GridAccessException e) { throw new RuntimeException(e); } - for (int i = 0; i < SLOT_COUNT; i++) { - shadowStoredFluids[i] = null; - savedStackSizes[i] = 0; - } - processingRecipe = false; return checkRecipeResult; } -- cgit