Package net.minecraftforge.fluids
Class FluidStack
java.lang.Object
net.minecraftforge.fluids.FluidStack
ItemStack substitute for Fluids.
NOTE: Equality is based on the Fluid, not the amount. Use
isFluidStackIdentical(FluidStack)
to determine if FluidID, Amount and NBT Tag are all
equal.-
Field Summary
Modifier and TypeFieldDescriptionprivate int
static final com.mojang.serialization.Codec
<FluidStack> static final FluidStack
private Holder.Reference
<Fluid> private boolean
private static final org.apache.logging.log4j.Logger
private CompoundTag
-
Constructor Summary
ConstructorDescriptionFluidStack
(Fluid fluid, int amount) FluidStack
(Fluid fluid, int amount, CompoundTag nbt) FluidStack
(FluidStack stack, int amount) -
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
areFluidStackTagsEqual
(@NotNull FluidStack stack1, @NotNull FluidStack stack2) Determines if the NBT Tags are equal.boolean
containsFluid
(@NotNull FluidStack other) Determines if the Fluids are equal and this stack is larger.copy()
final boolean
Default equality comparison for a FluidStack.int
getChildTag
(String childName) final Fluid
getFluid()
getOrCreateChildTag
(String childName) final Fluid
getTag()
void
grow
(int amount) final int
hashCode()
boolean
hasTag()
boolean
isEmpty()
boolean
isFluidEqual
(@NotNull ItemStack other) Determines if the FluidIDs and NBT Tags are equal compared to a registered container ItemStack.boolean
isFluidEqual
(@NotNull FluidStack other) Determines if the FluidIDs and NBT Tags are equal.boolean
isFluidStackIdentical
(FluidStack other) Determines if the FluidIDs, Amounts, and NBT Tags are all equal.private boolean
isFluidStackTagEqual
(FluidStack other) static FluidStack
This provides a safe method for retrieving a FluidStack - if the Fluid is invalid, the stack will return as null.void
removeChildTag
(String childName) void
setAmount
(int amount) void
setTag
(CompoundTag tag) void
shrink
(int amount) protected void
writeToNBT
(CompoundTag nbt)
-
Field Details
-
LOGGER
private static final org.apache.logging.log4j.Logger LOGGER -
EMPTY
-
CODEC
-
isEmpty
private boolean isEmpty -
amount
private int amount -
tag
-
fluidDelegate
-
-
Constructor Details
-
FluidStack
-
FluidStack
-
FluidStack
-
-
Method Details
-
loadFluidStackFromNBT
This provides a safe method for retrieving a FluidStack - if the Fluid is invalid, the stack will return as null. -
writeToNBT
-
getFluid
-
getRawFluid
-
isEmpty
public boolean isEmpty() -
updateEmpty
protected void updateEmpty() -
getAmount
public int getAmount() -
setAmount
public void setAmount(int amount) -
grow
public void grow(int amount) -
shrink
public void shrink(int amount) -
hasTag
public boolean hasTag() -
getTag
-
setTag
-
getOrCreateTag
-
getChildTag
-
getOrCreateChildTag
-
removeChildTag
-
getDisplayName
-
getTranslationKey
-
copy
- Returns:
- A copy of this FluidStack
-
isFluidEqual
Determines if the FluidIDs and NBT Tags are equal. This does not check amounts.- Parameters:
other
- The FluidStack for comparison- Returns:
- true if the Fluids (IDs and NBT Tags) are the same
-
isFluidStackTagEqual
-
areFluidStackTagsEqual
public static boolean areFluidStackTagsEqual(@NotNull @NotNull FluidStack stack1, @NotNull @NotNull FluidStack stack2) Determines if the NBT Tags are equal. Useful if the FluidIDs are known to be equal. -
containsFluid
Determines if the Fluids are equal and this stack is larger.- Returns:
- true if this FluidStack contains the other FluidStack (same fluid and >= amount)
-
isFluidStackIdentical
Determines if the FluidIDs, Amounts, and NBT Tags are all equal.- Parameters:
other
- - the FluidStack for comparison- Returns:
- true if the two FluidStacks are exactly the same
-
isFluidEqual
Determines if the FluidIDs and NBT Tags are equal compared to a registered container ItemStack. This does not check amounts.- Parameters:
other
- The ItemStack for comparison- Returns:
- true if the Fluids (IDs and NBT Tags) are the same
-
hashCode
public final int hashCode() -
equals
Default equality comparison for a FluidStack. Same functionality as isFluidEqual(). This is included for use in data structures.
-