aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockFluidHandler.java
blob: b513f51324def84fbc72c9a62cee4f91f0ebd73a (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
27
28
29
30
31
32
package gregtech.api.multitileentity.interfaces;

import java.util.List;

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);

    List<String> getTankArrayNames(MultiBlockPart aPart);

    List<String> getTankArrayIDs(MultiBlockPart aPart);
}