StatePropertiesPredicate

Link to statepropertiespredicate

Represents a predicate for a MCBlock or MCFluid state properties.

This predicate can check an arbitrary amount of properties either for an exact match or a value that is within the range of allowed values. The predicate is <strong>not</strong> able to check for the absence of a state property, and requires all specified properties to be present on the targeted state.

By default, no properties are checked, effectively allowing any block or fluid state.

Diese Klasse importieren

Link to diese-klasse-importieren

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 crafttweaker.api.predicate.StatePropertiesPredicate;

Extending AnyDefaultingVanillaWrappingPredicate

Link to extending-anydefaultingvanillawrappingpredicate

StatePropertiesPredicate extends AnyDefaultingVanillaWrappingPredicate. That means all methods available in AnyDefaultingVanillaWrappingPredicate are also available in StatePropertiesPredicate

Name: withExactProperty

Adds the property <code>name</code> to the list of properties that should be matched, along with a boolean value that should be matched exactly.

If the same property had already been specified, then the previous value is replaced, no matter the resulting type (i.e. replacing an integer with a boolean is allowed).

Returns: This predicate for chaining.
Return Type: StatePropertiesPredicate

ZenScript
Copy
StatePropertiesPredicate.withExactProperty(name as string, value as boolean) as StatePropertiesPredicate
ParameterTypeBeschreibung
Parameter
name
Type
string
Beschreibung
The name of the property to check.
Parameter
value
Type
boolean
Beschreibung
The boolean value the property must have.

Name: withExactProperty

Adds the property <code>name</code> to the list of properties that should be matched, along with an integer value that should be matched exactly.

If the same property had already been specified, then the previous value is replaced, no matter the resulting type (i.e. replacing a string with an integer is allowed).

Returns: This predicate for chaining.
Return Type: StatePropertiesPredicate

ZenScript
Copy
StatePropertiesPredicate.withExactProperty(name as string, value as int) as StatePropertiesPredicate
ParameterTypeBeschreibung
Parameter
name
Type
string
Beschreibung
The name of the property to check.
Parameter
value
Type
int
Beschreibung
The integer value the property must have.

Name: withExactProperty

Adds the property <code>name</code> to the list of properties that should be matched, along with a string value that should be matched exactly.

If the same property had already been specified, then the previous value is replaced, no matter the resulting type (i.e. replacing an integer with a string is allowed).

Returns: This predicate for chaining.
Return Type: StatePropertiesPredicate

ZenScript
Copy
StatePropertiesPredicate.withExactProperty(name as string, value as string) as StatePropertiesPredicate
ParameterTypeBeschreibung
Parameter
name
Type
string
Beschreibung
The name of the property to check.
Parameter
value
Type
string
Beschreibung
The string value the property must have.

Link to g-withlowerboundedproperty

Name: withLowerBoundedProperty

Adds the property <code>name</code> to the list of properties that should be matched, along with a lower limit on the integer values the property can assume, set to <code>min</code>.

If the same property had already been specified, then the previous value is replaced, no matter the resulting type (i.e. replacing a string with an integer is allowed).

Returns: This predicate for chaining.
Return Type: StatePropertiesPredicate

ZenScript
Copy
StatePropertiesPredicate.withLowerBoundedProperty(name as string, min as int) as StatePropertiesPredicate
ParameterTypeBeschreibung
Parameter
name
Type
string
Beschreibung
The name of the property to check.
Parameter
min
Type
int
Beschreibung
The minimum integer value the property must have.

Name: withRangedProperty

Adds the property <code>name</code> to the list of properties that should be matched, along with a range that goes from <code>min</code> to <code>max</code> in which the integer value should be.

If the same property had already been specified, then the previous value is replaced, no matter the resulting type (i.e. replacing a string with an integer is allowed).

Returns: This predicate for chaining.
Return Type: StatePropertiesPredicate

ZenScript
Copy
StatePropertiesPredicate.withRangedProperty(name as string, min as int, max as int) as StatePropertiesPredicate
ParameterTypeBeschreibung
Parameter
name
Type
string
Beschreibung
The name of the property to check.
Parameter
min
Type
int
Beschreibung
The minimum integer value the property must have.
Parameter
max
Type
int
Beschreibung
The maximum integer value the property must have.

Name: withRangedProperty

Adds the property <code>name</code> to the list of properties that should be matched, along with a range that goes from <code>min</code> to <code>max</code> in which the string value should be.

If the same property had already been specified, then the previous value is replaced, no matter the resulting type (i.e. replacing an integer with a string is allowed).

A null value in either <code>min</code> or <code>max</code> is considered as an unbounded limit, effectively making the interval open on one side.

A null value in both <code>min</code> and <code>max</code> is treated as a simple presence check, without caring about the actual value of the property.

Returns: This predicate for chaining.
Return Type: StatePropertiesPredicate

ZenScript
Copy
StatePropertiesPredicate.withRangedProperty(name as string, min as string?, max as string?) as StatePropertiesPredicate
ParameterTypeBeschreibung
Parameter
name
Type
string
Beschreibung
The name of the property to check.
Parameter
min
Type
string?
Beschreibung
The minimum string value the property must have, or null to indicate no minimum value.
Parameter
max
Type
string?
Beschreibung
The maximum string value the property must have, or null to indicate no maximum value.

Link to g-withupperboundedproperty

Name: withUpperBoundedProperty

Adds the property <code>name</code> to the list of properties that should be matched, along with an upper limit on the integer values the property can assume, set to <code>max</code>.

If the same property had already been specified, then the previous value is replaced, no matter the resulting type (i.e. replacing a string with an integer is allowed).

Returns: This predicate for chaining.
Return Type: StatePropertiesPredicate

ZenScript
Copy
StatePropertiesPredicate.withUpperBoundedProperty(name as string, max as int) as StatePropertiesPredicate
ParameterTypeBeschreibung
Parameter
name
Type
string
Beschreibung
The name of the property to check.
Parameter
max
Type
int
Beschreibung
The maximum integer value the property must have.