Class SimpleFluidIngredient
java.lang.Object
net.neoforged.neoforge.fluids.crafting.FluidIngredient
net.neoforged.neoforge.fluids.crafting.SimpleFluidIngredient
- All Implemented Interfaces:
Predicate<FluidStack>
Fluid ingredient that matches the fluids specified by the given
HolderSet.
Most commonly, this will either be a list of fluids or a fluid tag.
Unlike with ingredients, this is technically an explicit "type" of fluid ingredient,
though in JSON, it is still written without a type field, see FluidIngredientCodecs.codec()
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final com.mojang.serialization.Codec<SimpleFluidIngredient> (package private) static final StreamCodec<RegistryFriendlyByteBuf, SimpleFluidIngredient> Fields inherited from class net.neoforged.neoforge.fluids.crafting.FluidIngredient
OPTIONAL_STREAM_CODEC, STREAM_CODEC -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondisplay()Returns a slot display for this ingredient, used for display on the client-side.booleanfluidSet()Returns a stream of fluids accepted by this ingredient.getType()Returns The type of this fluid ingredient..inthashCode()booleanisSimple()Returns whether this fluid ingredient always requires direct stack testing.booleantest(FluidStack fluidStack) Checks if a given fluid stack matches this ingredient.Methods inherited from class net.neoforged.neoforge.fluids.crafting.FluidIngredient
displayForSingleFluid, fluids, of, of, of, of
-
Field Details
-
HOLDER_SET_NO_EMPTY_FLUID
-
CODEC
-
CONTENTS_STREAM_CODEC
-
values
-
-
Constructor Details
-
SimpleFluidIngredient
-
-
Method Details
-
test
Description copied from class:FluidIngredientChecks if a given fluid stack matches this ingredient. The stack must not be modified in any way.- Specified by:
testin interfacePredicate<FluidStack>- Specified by:
testin classFluidIngredient- Parameters:
fluidStack- the stack to test- Returns:
trueif the stack matches,falseotherwise
-
generateFluids
Description copied from class:FluidIngredientReturns a stream of fluids accepted by this ingredient.For compatibility reasons, implementations should follow the same guidelines as for custom item ingredients, i.e.:
- Returned fluids are generally used for display purposes, and need not be exhaustive or perfectly accurate, as ingredients may additionally filter by e.g. data component values.
- An exception is ingredients that are simple,
for which it is important that this stream corresponds exactly all fluids accepted by
FluidIngredient.test(FluidStack)! - At least one stack should always be returned, so that the ingredient is not considered empty. Empty ingredients may invalidate recipes!
Note: no caching needs to be done by the implementation, this is already handled by
FluidIngredient.fluids!- Specified by:
generateFluidsin classFluidIngredient- Returns:
- a stream of all fluid stacks this ingredient accepts.
Note: No guarantees are made as to the amount of the fluid, as FluidIngredients are generally not meant to match by amount and these stacks are mostly used for display.
- See Also:
-
isSimple
public boolean isSimple()Description copied from class:FluidIngredientReturns whether this fluid ingredient always requires direct stack testing.- Specified by:
isSimplein classFluidIngredient- Returns:
trueif this ingredient ignores NBT data when matching stacks,falseotherwise- See Also:
-
getType
Description copied from class:FluidIngredientReturns The type of this fluid ingredient..The type must be registered to
NeoForgeRegistries.FLUID_INGREDIENT_TYPES.- Specified by:
getTypein classFluidIngredient- Returns:
- The type of this fluid ingredient.
-
display
Description copied from class:FluidIngredientReturns a slot display for this ingredient, used for display on the client-side.- Overrides:
displayin classFluidIngredient- Returns:
- a slot display for this ingredient, used for display on the client-side
- See Also:
-
hashCode
public int hashCode()- Specified by:
hashCodein classFluidIngredient
-
equals
- Specified by:
equalsin classFluidIngredient
-
fluidSet
-