public class FluidHandlerItemStack extends java.lang.Object implements IFluidHandlerItem, ICapabilityProvider
FluidHandlerItemStackSimple
 Additional examples are provided to enable consumable fluid containers (see FluidHandlerItemStack.Consumable),
 fluid containers with different empty and full items (see FluidHandlerItemStack.SwapEmpty,| Modifier and Type | Class and Description | 
|---|---|
static class  | 
FluidHandlerItemStack.Consumable
Destroys the container item when it's emptied. 
 | 
static class  | 
FluidHandlerItemStack.SwapEmpty
Swaps the container item for a different one when it's emptied. 
 | 
| Modifier and Type | Field and Description | 
|---|---|
protected int | 
capacity  | 
protected ItemStack | 
container  | 
static java.lang.String | 
FLUID_NBT_KEY  | 
| Constructor and Description | 
|---|
FluidHandlerItemStack(ItemStack container,
                     int capacity)  | 
| Modifier and Type | Method and Description | 
|---|---|
boolean | 
canDrainFluidType(FluidStack fluid)  | 
boolean | 
canFillFluidType(FluidStack fluid)  | 
FluidStack | 
drain(FluidStack resource,
     boolean doDrain)
Drains fluid out of internal tanks, distribution is left entirely to the IFluidHandler. 
 | 
FluidStack | 
drain(int maxDrain,
     boolean doDrain)
Drains fluid out of internal tanks, distribution is left entirely to the IFluidHandler. 
 | 
int | 
fill(FluidStack resource,
    boolean doFill)
Fills fluid into internal tanks, distribution is left entirely to the IFluidHandler. 
 | 
<T> T | 
getCapability(Capability<T> capability,
             EnumFacing facing)
Retrieves the handler for the capability requested on the specific side. 
 | 
ItemStack | 
getContainer()
Get the container currently acted on by this fluid handler. 
 | 
FluidStack | 
getFluid()  | 
IFluidTankProperties[] | 
getTankProperties()
Returns an array of objects which represent the internal tanks. 
 | 
boolean | 
hasCapability(Capability<?> capability,
             EnumFacing facing)
Determines if this object has support for the capability in question on the specific side. 
 | 
protected void | 
setContainerToEmpty()
Override this method for special handling. 
 | 
protected void | 
setFluid(FluidStack fluid)  | 
public static final java.lang.String FLUID_NBT_KEY
protected ItemStack container
protected int capacity
public FluidHandlerItemStack(ItemStack container, int capacity)
container - The container itemStack, data is stored on it directly as NBT.capacity - The maximum capacity of this fluid tank.public ItemStack getContainer()
IFluidHandlerItemgetContainer in interface IFluidHandlerItempublic FluidStack getFluid()
protected void setFluid(FluidStack fluid)
public IFluidTankProperties[] getTankProperties()
IFluidHandlergetTankProperties in interface IFluidHandlerpublic int fill(FluidStack resource, boolean doFill)
IFluidHandlerfill in interface IFluidHandlerresource - FluidStack representing the Fluid and maximum amount of fluid to be filled.doFill - If false, fill will only be simulated.public FluidStack drain(FluidStack resource, boolean doDrain)
IFluidHandlerdrain in interface IFluidHandlerresource - FluidStack representing the Fluid and maximum amount of fluid to be drained.doDrain - If false, drain will only be simulated.public FluidStack drain(int maxDrain, boolean doDrain)
IFluidHandlerdrain in interface IFluidHandlermaxDrain - Maximum amount of fluid to drain.doDrain - If false, drain will only be simulated.public boolean canFillFluidType(FluidStack fluid)
public boolean canDrainFluidType(FluidStack fluid)
protected void setContainerToEmpty()
public boolean hasCapability(Capability<?> capability, EnumFacing facing)
ICapabilityProviderICapabilityProvider.getCapability(Capability, EnumFacing).
 
 Basically, this method functions analogously to Map.containsKey(Object).
 
Example: A Pipe getting a cover placed on one side causing it lose the Inventory attachment function for that side.
This is a light weight version of getCapability, intended for metadata uses.
hasCapability in interface ICapabilityProvidercapability - The capability to checkfacing - The Side to check from:
   CAN BE NULL. Null is defined to represent 'internal' or 'self'ICapabilityProvider.getCapability(Capability, EnumFacing) 
 must not return null.public <T> T getCapability(Capability<T> capability, EnumFacing facing)
ICapabilityProvider
 Basically, this method functions analogously to Map.get(Object).
getCapability in interface ICapabilityProvidercapability - The capability to checkfacing - The Side to check from, 
   CAN BE NULL. Null is defined to represent 'internal' or 'self'ICapabilityProvider.hasCapability(Capability, EnumFacing) 
 would return true.