Class IntersectionFluidIngredient
java.lang.Object
net.neoforged.neoforge.fluids.crafting.FluidIngredient
net.neoforged.neoforge.fluids.crafting.IntersectionFluidIngredient
- All Implemented Interfaces:
Predicate<FluidStack>
FluidIngredient that matches if all child ingredients match
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final List<FluidIngredient> static final com.mojang.serialization.MapCodec<IntersectionFluidIngredient> Fields inherited from class net.neoforged.neoforge.fluids.crafting.FluidIngredient
OPTIONAL_STREAM_CODEC, STREAM_CODEC -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionchildren()booleanReturns 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.static FluidIngredientof(FluidIngredient... ingredients) Gets an intersection fluid ingredientbooleantest(FluidStack stack) Checks if a given fluid stack matches this ingredient.Methods inherited from class net.neoforged.neoforge.fluids.crafting.FluidIngredient
display, displayForSingleFluid, fluids, of, of, of, of
-
Field Details
-
CODEC
-
children
-
-
Constructor Details
-
IntersectionFluidIngredient
-
-
Method Details
-
of
Gets an intersection fluid ingredient- Parameters:
ingredients- List of fluid ingredients to match- Returns:
- FluidIngredient that only matches if all the passed ingredients match
-
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:
stack- 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.
-
children
-
hashCode
public int hashCode()- Specified by:
hashCodein classFluidIngredient
-
equals
- Specified by:
equalsin classFluidIngredient
-