Represents a predicate for a player, as a specialization of EntityPredicate.

This predicate can be used to check various properties of the player entity, such as the game mode, experience, unlocked advancements and recipes, or statistics.

By default, the entity passes the checks without caring about the entity type. If at least one of the properties is set, then the entity must be a player to pass the checks.

Importing the class

Link to 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 crafttweaker.api.predicate.PlayerPredicate;

Extending AnyDefaultingVanillaWrappingPredicate

Link to extending-anydefaultingvanillawrappingpredicate

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

Link to withAdvancementPredicate

Name: withAdvancementPredicate

Adds an advancement to the ones that should be checked, along with the AdvancementPredicate that should be used to validate it.

If the same advancement had already been added to the map with a different predicate, then the previous configuration is replaced. Otherwise the addition completes normally.

Returns: This predicate for chaining.
Return Type: PlayerPredicate

ZenScript
Copy
PlayerPredicate.withAdvancementPredicate(advancement as string, builder as Consumer<AdvancementPredicate>) as PlayerPredicate
ParameterTypeDescription
Parameter
advancement
Type
string
Description
The advancement that should be checked.
Parameter
builder
Type
Consumer<AdvancementPredicate>
Description
A consumer to configure the AdvancementPredicate for the given advancement.

Link to withBoundedExperienceLevel

Name: withBoundedExperienceLevel

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

If the experience level 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: PlayerPredicate

ZenScript
Copy
PlayerPredicate.withBoundedExperienceLevel(min as int, max as int) as PlayerPredicate
ParameterTypeDescription
Parameter
min
Type
int
Description
The minimum value the experience level should be.
Parameter
max
Type
int
Description
The maximum value the experience level should be.

Link to withBoundedStatistic

Name: withBoundedStatistic

Sets both the minimum and maximum value the statistic should be to minValue and maxValue respectively.

If the statistic 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: PlayerPredicate

ZenScript
Copy
PlayerPredicate.withBoundedStatistic(type as MCResourceLocation, name as MCResourceLocation, minValue as int, maxValue as int) as PlayerPredicate
ParameterTypeDescription
Parameter
type
Type
MCResourceLocation
Description
The statistic's base type.
Parameter
name
Type
MCResourceLocation
Description
The statistic's unique identifier.
Parameter
minValue
Type
int
Description
The minimum value the statistic should be.
Parameter
maxValue
Type
int
Description
The maximum value the statistic should be.

Link to withExactExperienceLevel

Name: withExactExperienceLevel

Sets the experience level to exactly match the given value.

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

Returns: This predicate for chaining.
Return Type: PlayerPredicate

ZenScript
Copy
PlayerPredicate.withExactExperienceLevel(level as int) as PlayerPredicate
ParameterTypeDescription
Parameter
level
Type
int
Description
The exact value the experience level should be.

Link to withExactStatistic

Name: withExactStatistic

Sets the statistic to exactly match the given value.

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

Returns: This predicate for chaining.
Return Type: PlayerPredicate

ZenScript
Copy
PlayerPredicate.withExactStatistic(type as MCResourceLocation, name as MCResourceLocation, value as int) as PlayerPredicate
ParameterTypeDescription
Parameter
type
Type
MCResourceLocation
Description
The statistic's base type.
Parameter
name
Type
MCResourceLocation
Description
The statistic's unique identifier.
Parameter
value
Type
int
Description
The exact value the statistic should be.

Name: withGameMode

Sets the GameMode the player has to be in.

Returns: This player for chaining.
Return Type: PlayerPredicate

ZenScript
Copy
PlayerPredicate.withGameMode(mode as GameMode) as PlayerPredicate
ParameterTypeDescription
Parameter
mode
Type
GameMode
Description
The game mode.

Link to withLockedRecipe

Name: withLockedRecipe

Adds the recipe name to the list of recipes that have to be locked.

If the predicate had already been set to check for this recipe's unlocked status, the setting is overwritten.

Returns: This predicate for chaining.
Return Type: PlayerPredicate

ZenScript
Copy
PlayerPredicate.withLockedRecipe(name as string) as PlayerPredicate
ParameterTypeDescription
Parameter
name
Type
string
Description
The name of the recipe that needs to be locked.

Link to withMaximumExperienceLevel

Name: withMaximumExperienceLevel

Sets the maximum value the experience level should be to max.

If the experience level 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 experience level 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: PlayerPredicate

ZenScript
Copy
PlayerPredicate.withMaximumExperienceLevel(max as int) as PlayerPredicate
ParameterTypeDescription
Parameter
max
Type
int
Description
The maximum value the experience level should be.

Link to withMaximumStatistic

Name: withMaximumStatistic

Sets the maximum value the statistic should be to max.

If the statistic 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 statistic didn't have any bounds set, the maximum is set, leaving the upper 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: PlayerPredicate

ZenScript
Copy
PlayerPredicate.withMaximumStatistic(type as MCResourceLocation, name as MCResourceLocation, max as int) as PlayerPredicate
ParameterTypeDescription
Parameter
type
Type
MCResourceLocation
Description
The statistic's base type.
Parameter
name
Type
MCResourceLocation
Description
The statistic's unique identifier.
Parameter
max
Type
int
Description
The maximum value the statistic should be.

Link to withMinimumExperienceLevel

Name: withMinimumExperienceLevel

Sets the minimum value the experience level should be to min.

If the experience level 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 experience level 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: PlayerPredicate

ZenScript
Copy
PlayerPredicate.withMinimumExperienceLevel(min as int) as PlayerPredicate
ParameterTypeDescription
Parameter
min
Type
int
Description
The minimum value the experience level should be.

Link to withMinimumStatistic

Name: withMinimumStatistic

Sets the minimum value the statistic should be to min.

If the statistic 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 statistic 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: PlayerPredicate

ZenScript
Copy
PlayerPredicate.withMinimumStatistic(type as MCResourceLocation, name as MCResourceLocation, min as int) as PlayerPredicate
ParameterTypeDescription
Parameter
type
Type
MCResourceLocation
Description
The statistic's base type.
Parameter
name
Type
MCResourceLocation
Description
The statistic's unique identifier.
Parameter
min
Type
int
Description
The minimum value the statistic should be.

Link to withUnlockedRecipe

Name: withUnlockedRecipe

Adds the recipe name to the list of recipes that have to be unlocked.

If the predicate had already been set to check for this recipe's locked status, the setting is overwritten.

Returns: This predicate for chaining.
Return Type: PlayerPredicate

ZenScript
Copy
PlayerPredicate.withUnlockedRecipe(name as string) as PlayerPredicate
ParameterTypeDescription
Parameter
name
Type
string
Description
The name of the recipe that needs to be unlocked.