Record Class TestEnabledIngredient
java.lang.Object
java.lang.Record
net.neoforged.testframework.condition.TestEnabledIngredient
- All Implemented Interfaces:
ICustomIngredient
public record TestEnabledIngredient(net.minecraft.world.item.crafting.Ingredient base, TestFramework framework, String testId)
extends Record
implements ICustomIngredient
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final net.minecraft.world.item.crafting.Ingredient
The field for thebase
record component.static final com.mojang.serialization.MapCodec
<TestEnabledIngredient> private final TestFramework
The field for theframework
record component.private final String
The field for thetestId
record component. -
Constructor Summary
ConstructorsConstructorDescriptionTestEnabledIngredient
(net.minecraft.world.item.crafting.Ingredient base, TestFramework framework, String testId) Creates an instance of aTestEnabledIngredient
record class. -
Method Summary
Modifier and TypeMethodDescriptionnet.minecraft.world.item.crafting.Ingredient
base()
Returns the value of thebase
record component.net.minecraft.world.item.crafting.display.SlotDisplay
display()
Returns the display for this ingredient.final boolean
Indicates whether some other object is "equal to" this one.Returns the value of theframework
record component.getType()
Returns the type of this ingredient.final int
hashCode()
Returns a hash code value for this object.boolean
isSimple()
Returns whether this ingredient always requires direct stack testing.Stream
<net.minecraft.core.Holder<net.minecraft.world.item.Item>> items()
Returns the list of items that this ingredient accepts.boolean
test
(net.minecraft.world.item.ItemStack stack) Checks if a stack matches this ingredient.testId()
Returns the value of thetestId
record component.final String
toString()
Returns a string representation of this record class.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface net.neoforged.neoforge.common.crafting.ICustomIngredient
toVanilla
-
Field Details
-
base
private final net.minecraft.world.item.crafting.Ingredient baseThe field for thebase
record component. -
framework
The field for theframework
record component. -
testId
The field for thetestId
record component. -
CODEC
-
-
Constructor Details
-
TestEnabledIngredient
public TestEnabledIngredient(net.minecraft.world.item.crafting.Ingredient base, TestFramework framework, String testId) Creates an instance of aTestEnabledIngredient
record class.- Parameters:
base
- the value for thebase
record componentframework
- the value for theframework
record componenttestId
- the value for thetestId
record component
-
-
Method Details
-
test
public boolean test(net.minecraft.world.item.ItemStack stack) Description copied from interface:ICustomIngredient
Checks if a stack matches this ingredient. The stack must not be modified in any way.- Specified by:
test
in interfaceICustomIngredient
- Parameters:
stack
- the stack to test- Returns:
true
if the stack matches this ingredient,false
otherwise
-
items
Description copied from interface:ICustomIngredient
Returns the list of items that this ingredient accepts.The following guidelines should be followed for good compatibility:
- At least one item must be returned for the ingredient not to be considered empty. Empty ingredients invalidate the entire recipe.
- The ingredient should return all
Item
s it might possible accept. This allows mods that inspect the ingredient to figure out which stacks it might accept. - Returned items might not always be accepted by the ingredient, as an ingredient might still perform additional NBT-dependent tests.
- An exception is ingredients that are simple,
for which
testing a stack
is equivalent to testing if the item is in the returned list.
Note: no caching needs to be done by the implementation, this is already handled by the ingredient itself.
- Specified by:
items
in interfaceICustomIngredient
- Returns:
- the list of items that this ingredient accepts
-
isSimple
public boolean isSimple()Description copied from interface:ICustomIngredient
Returns whether this ingredient always requires direct stack testing.- Specified by:
isSimple
in interfaceICustomIngredient
- Returns:
true
if this ingredient ignores NBT data when matching stacks,false
otherwise- See Also:
-
getType
Description copied from interface:ICustomIngredient
Returns the type of this ingredient.The type must be registered to
NeoForgeRegistries.INGREDIENT_TYPES
.- Specified by:
getType
in interfaceICustomIngredient
- Returns:
- the type of this ingredient
-
display
public net.minecraft.world.item.crafting.display.SlotDisplay display()Description copied from interface:ICustomIngredient
Returns the display for this ingredient.The display is synced to the client, and is also used to retrieve the
ItemStack
s that are shown to the client.- Specified by:
display
in interfaceICustomIngredient
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object)
. -
base
public net.minecraft.world.item.crafting.Ingredient base()Returns the value of thebase
record component.- Returns:
- the value of the
base
record component
-
framework
Returns the value of theframework
record component.- Returns:
- the value of the
framework
record component
-
testId
Returns the value of thetestId
record component.- Returns:
- the value of the
testId
record component
-