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) --- .../multis/mega/MTEMegaDistillTower.java | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src/main/java/bartworks/common/tileentities/multis') diff --git a/src/main/java/bartworks/common/tileentities/multis/mega/MTEMegaDistillTower.java b/src/main/java/bartworks/common/tileentities/multis/mega/MTEMegaDistillTower.java index e98158ec7f..4c3199f33f 100644 --- a/src/main/java/bartworks/common/tileentities/multis/mega/MTEMegaDistillTower.java +++ b/src/main/java/bartworks/common/tileentities/multis/mega/MTEMegaDistillTower.java @@ -56,6 +56,7 @@ import gregtech.api.recipe.RecipeMaps; import gregtech.api.render.TextureFactory; import gregtech.api.util.GTUtility; import gregtech.api.util.MultiblockTooltipBuilder; +import gregtech.common.tileentities.machines.MTEHatchOutputME; public class MTEMegaDistillTower extends MegaMultiBlockBase implements ISurvivalConstructable { @@ -391,6 +392,32 @@ public class MTEMegaDistillTower extends MegaMultiBlockBase return new ProcessingLogic().setMaxParallel(Configuration.Multiblocks.megaMachinesMax); } + @Override + public boolean canDumpFluidToME() { + + // All fluids can be dumped to ME only if each layer contains a ME Output Hatch. + for (List tLayerOutputHatches : this.mOutputHatchesByLayer) { + + boolean foundMEHatch = false; + + for (IFluidStore tHatch : tLayerOutputHatches) { + if (tHatch instanceof MTEHatchOutputME tMEHatch) { + if (tMEHatch.canAcceptFluid()) { + foundMEHatch = true; + break; + } + } + } + + // Exit if we didn't find a valid hatch on this layer. + if (!foundMEHatch) { + return false; + } + } + + return true; + } + @Override protected void addFluidOutputs(FluidStack[] outputFluids) { for (int i = 0; i < outputFluids.length && i < this.mOutputHatchesByLayer.size(); i++) { -- cgit