BlockStateProperty

Builder to create a ‘BlockStateProperty’ loot condition.

This condition compares the the block state obtained from the LootContext and attempts to match it to the given MCBlock. If this comparison succeeds, then the state is further compared according to the rules outlined in the StatePropertiesPredicate.

This condition thus passes only if the block matches the given one and, optionally, if all the state properties match according to the predicate given to this loot condition.

A ‘BlockStateProperty’ condition requires a block to be correctly built. Properties may or may not be specified.

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.

script.zs
import crafttweaker.api.loot.conditions.vanilla.BlockStateProperty;

Implemented Interfaces

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

Methods

Sets the block that should be matched by the loot condition.

This parameter is required.

Returns: This builder for chaining.
Return Type: BlockStateProperty

script.zs
BlockStateProperty.withBlock(block as MCBlock) as BlockStateProperty
ParameterTypeDescription
Parameter
block
Type
MCBlock
Description
The block to be matched.

Creates and sets the StatePropertiesPredicate that will be matched against the state’s properties.

Any changes that have already been made to the predicate will be overwritten, effectively replacing the previous predicate, if any.

This parameter is optional.

Returns: This builder for chaining.
Return Type: BlockStateProperty

script.zs
BlockStateProperty.withStatePropertiesPredicate(builder as Consumer<StatePropertiesPredicate>) as BlockStateProperty
ParameterTypeDescription
Parameter
builder
Type
Consumer<StatePropertiesPredicate>
Description
A consumer that will be used to configure the StatePropertiesPredicate.