blob: 3927fe1bcf08f9edc6495ee8f07cb7a4f87a1caf [file] [log] [blame] [raw]
package cofh.api.transport;
import net.minecraftforge.fluids.FluidStack;
/**
* This interface is implemented on Ender Attuned objects which can receive Fluid.
*
* @author King Lemming
*
*/
public interface IEnderFluidHandler extends IEnderAttuned {
/**
* Return whether or not the Ender Attuned object can currently send FluidStacks.
*/
boolean canSendFluid();
/**
* This should be checked to see if the Ender Attuned object can currently receive a FluidStack.
*
* Note: In practice, this can (and should) be used to ensure that something does not send to itself.
*/
boolean canReceiveFluid();
/**
* This tells the Ender Attuned object to receive a FluidStack. This returns what remains of the original stack, *not* the amount received - a null return
* means that the entire stack was received!
*
* @param fluid
* FluidStack to be received.
* @param simulate
* If TRUE, the result will only be simulated.
* @return FluidStack representing how much fluid is remaining (or would be remaining, if simulated).
*/
FluidStack receiveFluid(FluidStack fluid, boolean simulate);
}