aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/multitileentity/multiblock/base
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2023-06-04 19:54:11 +0900
committerGitHub <noreply@github.com>2023-06-04 12:54:11 +0200
commitf046db94220c1b582175f858f07fd64e81e6e864 (patch)
tree217d79501c31b76db9d38a75ccaa1ee09d96117e /src/main/java/gregtech/api/multitileentity/multiblock/base
parent9e4456e39709d815ba28064620ff0290ac14151b (diff)
downloadGT5-Unofficial-f046db94220c1b582175f858f07fd64e81e6e864.tar.gz
GT5-Unofficial-f046db94220c1b582175f858f07fd64e81e6e864.tar.bz2
GT5-Unofficial-f046db94220c1b582175f858f07fd64e81e6e864.zip
Fix void protection not working with MB with custom output hatch field (#2051)
* Fix void protection not working with MB with custom output hatch field * forgot to filter * Add util method for DT-like structure
Diffstat (limited to 'src/main/java/gregtech/api/multitileentity/multiblock/base')
-rw-r--r--src/main/java/gregtech/api/multitileentity/multiblock/base/Controller.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/multitileentity/multiblock/base/Controller.java b/src/main/java/gregtech/api/multitileentity/multiblock/base/Controller.java
index afc456f41a..14e7883398 100644
--- a/src/main/java/gregtech/api/multitileentity/multiblock/base/Controller.java
+++ b/src/main/java/gregtech/api/multitileentity/multiblock/base/Controller.java
@@ -52,6 +52,7 @@ import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment;
import com.gtnewhorizon.structurelib.util.Vec3Impl;
import com.gtnewhorizons.modularui.api.ModularUITextures;
import com.gtnewhorizons.modularui.api.drawable.ItemDrawable;
+import com.gtnewhorizons.modularui.api.forge.IItemHandler;
import com.gtnewhorizons.modularui.api.forge.IItemHandlerModifiable;
import com.gtnewhorizons.modularui.api.forge.ItemStackHandler;
import com.gtnewhorizons.modularui.api.forge.ListItemHandler;
@@ -78,6 +79,7 @@ import gregtech.api.enums.VoidingMode;
import gregtech.api.fluid.FluidTankGT;
import gregtech.api.gui.modularui.GT_UITextures;
import gregtech.api.interfaces.IDescribable;
+import gregtech.api.interfaces.fluid.IFluidStore;
import gregtech.api.interfaces.modularui.ControllerWithOptionalFeatures;
import gregtech.api.logic.PowerLogic;
import gregtech.api.logic.ProcessingLogic;
@@ -1978,6 +1980,33 @@ public abstract class Controller<T extends Controller<T>> extends MultiTileBasic
}
@Override
+ public List<ItemStack> getItemOutputSlots(ItemStack[] toOutput) {
+ List<ItemStack> ret = new ArrayList<>();
+ IItemHandler inv = getOutputInventory();
+ if (inv != null && inv.getSlots() > 0) {
+ for (int i = 0; i < inv.getSlots(); i++) {
+ ret.add(inv.getStackInSlot(i));
+ }
+ }
+ return ret;
+ }
+
+ @Override
+ public List<? extends IFluidStore> getFluidOutputSlots(FluidStack[] toOutput) {
+ return Arrays.asList(getOutputTanks());
+ }
+
+ @Override
+ public boolean canDumpItemToME() {
+ return false;
+ }
+
+ @Override
+ public boolean canDumpFluidToME() {
+ return false;
+ }
+
+ @Override
public Pos2d getVoidingModeButtonPos() {
return new Pos2d(54, 0);
}