| package buildcraft.api.liquids; | |
| import buildcraft.api.core.Orientations; | |
| public interface ITankContainer { | |
| /** | |
| * Fills liquid into internal tanks, distribution is left to the ITankContainer. | |
| * @param from Orientation the liquid is pumped in from. | |
| * @param resource LiquidStack representing the maximum amount of liquid filled into the ITankContainer | |
| * @param doFill If false filling will only be simulated. | |
| * @return Amount of resource that was filled into internal tanks. | |
| */ | |
| int fill(Orientations from, LiquidStack resource, boolean doFill); | |
| /** | |
| * Fills liquid into the specified internal tank. | |
| * @param from Orientation the liquid is pumped in from. | |
| * @param resource LiquidStack representing the maximum amount of liquid filled into the ITankContainer | |
| * @param doFill If false filling will only be simulated. | |
| * @return Amount of resource that was filled into internal tanks. | |
| */ | |
| int fill(int tankIndex, LiquidStack resource, boolean doFill); | |
| /** | |
| * Drains liquid out of internal tanks, distribution is left to the ITankContainer. | |
| * @param from Orientation the liquid is drained to. | |
| * @param maxDrain Maximum amount of liquid to drain. | |
| * @param doDrain If false draining will only be simulated. | |
| * @return LiquidStack representing the liquid and amount actually drained from the ITankContainer | |
| */ | |
| LiquidStack drain(Orientations from, int maxDrain, boolean doDrain); | |
| /** | |
| * Drains liquid out of the specified internal tank. | |
| * @param from Orientation the liquid is drained to. | |
| * @param maxDrain Maximum amount of liquid to drain. | |
| * @param doDrain If false draining will only be simulated. | |
| * @return LiquidStack representing the liquid and amount actually drained from the ITankContainer | |
| */ | |
| LiquidStack drain(int tankIndex, int maxDrain, boolean doDrain); | |
| /** | |
| * @return Array of {@link LiquidTank}s contained in this ITankContainer | |
| */ | |
| ILiquidTank[] getTanks(); | |
| } |