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> LazyOptional<T> |
getCapability(Capability<T> capability,
EnumFacing facing)
Retrieves the Optional 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.
|
protected void |
setContainerToEmpty()
Override this method for special handling.
|
protected void |
setFluid(FluidStack fluid) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetCapabilitypublic static final java.lang.String FLUID_NBT_KEY
@Nonnull protected ItemStack container
protected int capacity
public FluidHandlerItemStack(@Nonnull
ItemStack container,
int capacity)
container - The container itemStack, data is stored on it directly as NBT.capacity - The maximum capacity of this fluid tank.@Nonnull public ItemStack getContainer()
IFluidHandlerItemgetContainer in interface IFluidHandlerItem@Nullable public 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()
@Nonnull public <T> LazyOptional<T> getCapability(@Nonnull Capability<T> capability, @Nullable EnumFacing facing)
ICapabilityProvidergetCapability in interface ICapabilityProvider