PlayerPredicate
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
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.
Extending AnyDefaultingVanillaWrappingPredicate
PlayerPredicate extends AnyDefaultingVanillaWrappingPredicate. That means all methods available in AnyDefaultingVanillaWrappingPredicate are also available in PlayerPredicate
Methods
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.
Return Type: PlayerPredicate
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.
Return Type: PlayerPredicate
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.
Return Type: PlayerPredicate
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.
Return Type: PlayerPredicate
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.
Return Type: PlayerPredicate
withGameMode
Sets the GameMode the player has to be in.
Return Type: PlayerPredicate
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.
Return Type: PlayerPredicate
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.
Return Type: PlayerPredicate
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.
Return Type: PlayerPredicate
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.
Return Type: PlayerPredicate
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.
Return Type: PlayerPredicate
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.
Return Type: PlayerPredicate