aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockFluidHandler.java
blob: 045a173e9491305405bd1aef032f143db4770414 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package gregtech.api.multitileentity.interfaces;

import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidTankInfo;
import net.minecraftforge.fluids.IFluidTank;

import gregtech.api.multitileentity.multiblock.base.MultiBlockPart;

public interface IMultiBlockFluidHandler {

    int fill(MultiBlockPart aPart, ForgeDirection aDirection, FluidStack aFluid, boolean aDoFill);

    FluidStack drain(MultiBlockPart aPart, ForgeDirection aDirection, FluidStack aFluid, boolean aDoDrain);

    FluidStack drain(MultiBlockPart aPart, ForgeDirection aDirection, int aAmountToDrain, boolean aDoDrain);

    boolean canFill(MultiBlockPart aPart, ForgeDirection aDirection, Fluid aFluid);

    boolean canDrain(MultiBlockPart aPart, ForgeDirection aDirection, Fluid aFluid);

    FluidTankInfo[] getTankInfo(MultiBlockPart aPart, ForgeDirection aDirection);

    IFluidTank[] getFluidTanksForGUI(MultiBlockPart aPart);
}