StateIngredient

Wrapper around blocks, blockstates or block tags used to match recipe inputs like blocks to convert with the Pure Daisy, or catalysts for mana infusion.

To create, simply cast an MCBlock, MCBlockState, an array of MCBlocks, or an MCTag<MCBlock> to StateIngredient. This is done automatically when using them as a parameter for a method.

This class was added by a mod with mod-id botania. So you need to have this mod installed if you want to use this feature.

Importing the class

It might be required for you to import the package if you encounter any issues (like casting an Array), so better be safe than sorry and add the import at the very top of the file.

ZenScript
Copy
import mods.botania.StateIngredient;

Implemented Interfaces

StateIngredient implements the following interfaces. That means all methods defined in these interfaces are also available in StateIngredient

Casters

Result typeIs Implicit
stringfalse

Methods

matches

Tests if the provided block state matches the recipe.

Return Type: boolean

ZenScript
Copy
// StateIngredient.matches(state as MCBlockState) as boolean

ingredient.matches(<blockstate:minecraft:dirt>);
ParameterTypeDescription
stateMCBlockStateBlock state to test against this ingredient
pick

Returns a random state matching the ingredient.

Return Type: MCBlockState

ZenScript
Copy
// StateIngredient.pick(random as Random) as MCBlockState

ingredient.pick(world.random);
ParameterTypeDescription
randomRandoma Random instance, usually obtained from a world