EffectData

Holds the data an MCPotionEffect should have to pass a parent predicate check.

This predicate can check various properties of the effect, such as its duration or amplifier value. It is also able to verify whether the effect has been applied by the ambient or by a potion and whether the effect has visible particles or not.

By default, no restrictions are placed on the effect’s data.

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.predicate.EffectData;

Extending AnyDefaultingVanillaWrappingPredicate

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

Methods

Indicates that the effect must be environmental.

An example of such effect is the one applied by a beacon.

If the predicate had already been set to check the opposite condition, the setting will be overwritten.

Returns: This predicate for chaining.
Return Type: EffectData

script.zs
// EffectData.withAmbient() as EffectData
myEffectData.withAmbient();

Sets both the minimum and maximum value the amplifier should be to min and max respectively.

If the amplifier had already some bounds specified, then they will be overwritten with the new values.

Both minimum and maximum values are inclusive, meaning that a value that is equal to either min or max will pass the check.

Returns: This predicate for chaining.
Return Type: EffectData

script.zs
EffectData.withBoundedAmplifier(min as int, max as int) as EffectData
ParameterTypeDescription
Parameter
min
Type
int
Description
The minimum value the amplifier should be.
Parameter
max
Type
int
Description
The maximum value the amplifier should be.

Sets both the minimum and maximum value the duration should be to min and max respectively.

If the duration had already some bounds specified, then they will be overwritten with the new values.

Both minimum and maximum values are inclusive, meaning that a value that is equal to either min or max will pass the check.

Returns: This predicate for chaining.
Return Type: EffectData

script.zs
EffectData.withBoundedDuration(min as int, max as int) as EffectData
ParameterTypeDescription
Parameter
min
Type
int
Description
The minimum value the duration should be.
Parameter
max
Type
int
Description
The maximum value the duration should be.

Sets the amplifier to exactly match the given value.

If the amplifier had already some bounds specified, then they will be overwritten with the new value.

Returns: This predicate for chaining.
Return Type: EffectData

script.zs
EffectData.withExactAmplifier(value as int) as EffectData
ParameterTypeDescription
Parameter
value
Type
int
Description
The exact value the amplifier should be.

Sets the duration to exactly match the given value.

If the duration had already some bounds specified, then they will be overwritten with the new value.

Returns: This predicate for chaining.
Return Type: EffectData

script.zs
EffectData.withExactDuration(value as int) as EffectData
ParameterTypeDescription
Parameter
value
Type
int
Description
The exact value the duration should be.

Indicates that the effect’s particles must be invisible.

If the predicate had already been set to check the opposite condition, the setting will be overwritten.

Returns: This predicate for chaining.
Return Type: EffectData

script.zs
// EffectData.withInvisibility() as EffectData
myEffectData.withInvisibility();

Sets the maximum value the amplifier should be to max.

If the amplifier had already some bounds specified, then the maximum value of the bound will be overwritten with the value specified in max. On the other hand, if the amplifier didn’t have any bounds set, the maximum is set, leaving the lower end unbounded.

The maximum value is inclusive, meaning that a value that is equal to max will pass the check.

Returns: This predicate for chaining.
Return Type: EffectData

script.zs
EffectData.withMaximumAmplifier(max as int) as EffectData
ParameterTypeDescription
Parameter
max
Type
int
Description
The maximum value the amplifier should be.

Sets the maximum value the duration should be to max.

If the duration had already some bounds specified, then the maximum value of the bound will be overwritten with the value specified in max. On the other hand, if the duration didn’t have any bounds set, the maximum is set, leaving the lower end unbounded.

The maximum value is inclusive, meaning that a value that is equal to max will pass the check.

Returns: This predicate for chaining.
Return Type: EffectData

script.zs
EffectData.withMaximumDuration(max as int) as EffectData
ParameterTypeDescription
Parameter
max
Type
int
Description
The maximum value the duration should be.

Sets the minimum value the amplifier should be to min.

If the amplifier had already some bounds specified, then the minimum value of the bound will be overwritten with the value specified in min. On the other hand, if the amplifier didn’t have any bounds set, the minimum is set, leaving the upper end unbounded.

The minimum value is inclusive, meaning that a value that is equal to min will pass the check.

Returns: This predicate for chaining.
Return Type: EffectData

script.zs
EffectData.withMinimumAmplifier(min as int) as EffectData
ParameterTypeDescription
Parameter
min
Type
int
Description
The minimum value the amplifier should be.

Sets the minimum value the duration should be to min.

If the duration had already some bounds specified, then the minimum value of the bound will be overwritten with the value specified in min. On the other hand, if the duration didn’t have any bounds set, the minimum is set, leaving the upper end unbounded.

The minimum value is inclusive, meaning that a value that is equal to min will pass the check.

Returns: This predicate for chaining.
Return Type: EffectData

script.zs
EffectData.withMinimumDuration(min as int) as EffectData
ParameterTypeDescription
Parameter
min
Type
int
Description
The minimum value the duration should be.

Indicates that the effect’s particles must be visible.

If the predicate had already been set to check the opposite condition, the setting will be overwritten.

Returns: This predicate for chaining.
Return Type: EffectData

script.zs
// EffectData.withVisibility() as EffectData
myEffectData.withVisibility();

Indicates that the effect must not be environmental.

If the predicate had already been set to check the opposite condition, the setting will be overwritten.

Returns: This predicate for chaining.
Return Type: EffectData

script.zs
// EffectData.withoutAmbient() as EffectData
myEffectData.withoutAmbient();