From 62b6fc8498d754ae388f92b933b656da5f38dee0 Mon Sep 17 00:00:00 2001 From: Maya <10861407+serenibyss@users.noreply.github.com> Date: Mon, 2 Dec 2024 08:12:05 -0600 Subject: Fix ME output hatch void protection again (#3594) --- .../implementations/MTEMultiBlockBase.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/main/java/gregtech/api/metatileentity/implementations') diff --git a/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java index 2a5e3c1552..4a8f69fe9a 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java @@ -109,6 +109,7 @@ import gregtech.common.tileentities.machines.MTEHatchCraftingInputME; import gregtech.common.tileentities.machines.MTEHatchInputBusME; import gregtech.common.tileentities.machines.MTEHatchInputME; import gregtech.common.tileentities.machines.MTEHatchOutputBusME; +import gregtech.common.tileentities.machines.MTEHatchOutputME; import gregtech.common.tileentities.machines.multi.MTELargeTurbine; import it.unimi.dsi.fastutil.objects.Object2ReferenceOpenHashMap; import it.unimi.dsi.fastutil.objects.Reference2ReferenceOpenHashMap; @@ -1321,6 +1322,11 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity continue; } if (!tHatch.canStoreFluid(copiedFluidStack)) continue; + + if (tHatch instanceof MTEHatchOutputME tMEHatch) { + if (!tMEHatch.canAcceptFluid()) continue; + } + int tAmount = tHatch.fill(copiedFluidStack, false); if (tAmount >= copiedFluidStack.amount) { boolean filled = tHatch.fill(copiedFluidStack, true) >= copiedFluidStack.amount; @@ -2289,6 +2295,18 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity return false; } + @Override + public boolean canDumpFluidToME() { + for (IFluidStore tHatch : getFluidOutputSlots(new FluidStack[0])) { + if (tHatch instanceof MTEHatchOutputME) { + if ((((MTEHatchOutputME) tHatch).canAcceptFluid())) { + return true; + } + } + } + return false; + } + @Override public Pos2d getVoidingModeButtonPos() { return new Pos2d(8, 91); -- cgit