Interface Selector.Builder
- All Superinterfaces:
AbstractBuilder<Selector>
,Builder<Selector,
,Selector.Builder> ResettableBuilder<Selector,
Selector.Builder>
- Enclosing interface:
Selector
Selector
based on the provided criteria.-
Method Summary
Modifier and TypeMethodDescriptionaddAdvancement
(ResourceKey advancement) Adds anAdvancement
constraint to this selector, requiring that the advancement must be granted to be selected.addAdvancementCriterion
(ResourceKey advancement, AdvancementCriterion criterion) Adds anAdvancementCriterion
constraint to this selector, requiring that the criterion on the givenAdvancement
must be granted to be selected.addEntityType
(Supplier<EntityType<?>> type, boolean inherit) Adds anEntityType
constraint to this selector, requiring that all selected entities must be of the given type.addEntityType
(EntityType<?> type, boolean inherit) Adds anEntityType
constraint to this selector, requiring that all selected entities must be of the given type.Applies a custom filter to the selector that must also be met by anyentities
that may otherwise be selected by this selector.addGameMode
(Supplier<? extends GameMode> mode) Adds aGameMode
constraint to the selector, requiring players be in the given game mode.addGameMode
(GameMode mode) Adds aGameMode
constraint to the selector, requiring players be in the given game modeAdds a name constraint to the selector, requiring that entities have a specific name.addNotAdvancement
(ResourceKey advancement) Adds anAdvancement
constraint to this selector, requiring that the advancement must NOT be granted to be selected.addNotAdvancementCriterion
(ResourceKey advancement, AdvancementCriterion criterion) Adds anAdvancementCriterion
constraint to this selector, requiring that the criterion on the givenAdvancement
must not be granted to be selected.addNotEntityType
(Supplier<EntityType<?>> type) Adds anEntityType
constraint to this selector, requiring that all selected entities must not be of the given type.addNotEntityType
(EntityType<?> type) Adds anEntityType
constraint to this selector, requiring that all selected entities must not be of the given type.addNotGameMode
(Supplier<? extends GameMode> mode) Adds aGameMode
constraint to the selector, requiring that players are not in the given game modeaddNotGameMode
(GameMode mode) Adds aGameMode
constraint to the selector, requiring that players are not in the given game modeaddNotName
(String name) Adds a name constraint to the selector, requiring that entities do not have a specific name.Adds a tag constraint to the selector, requiring that entities do not have a given tag.addNotTeam
(Team team) Adds aTeam
constraint to the selector, requiring that players are not in a specific teamaddObjective
(Objective objective, Range<Integer> range) Adds anObjective
constraint to the selector, requiring that players have a given score in an objective in a given range (inclusive).Adds a tag constrain to the selector, requiring that entities have a given tag.Adds aTeam
constraint to the selector, requiring that players are in a specific teamanyTeam()
Adds aTeam
constraint to the selector, requiring that players are in any teamapplySelectorType
(Supplier<? extends SelectorType> selectorType) Applies the defaults associated with a givenSelectorType
applySelectorType
(SelectorType selectorType) Applies the defaults associated with a givenSelectorType
build()
Creates aSelector
based on this builder.Adds anDataView
as an NBT style constraint.Sets the minimum and/or maximum distance from the target location that this selector will look.experienceLevel
(Range<Integer> range) Adds an experience level constraint to the selector, specifying that a player's level must be in the provided range (inclusive).If the selector's source is anEntity
and this is called, the source is eligible to be selected if all other criteria are met.limit
(int limit) Limits the number ofentities
returned by the selector.noTeam()
Adds aTeam
constraint to the selector, requiring that players are not in any teamAdds a pitch constraint to the selector, requiring that entities have a pitch (x_rotation) within the given range, inclusive.sortAlgorithm
(Supplier<? extends SelectorSortAlgorithm> algorithm) Sets the sorting algorithm to use when returning entities from the selector.sortAlgorithm
(SelectorSortAlgorithm algorithm) Sets the sorting algorithm to use when returning entities from the selector.Sets the volume that entities can be selected from.Adds a yaw constraint to the selector, requiring that entities have a yaw (y_rotation) within the given range, inclusive.
-
Method Details
-
applySelectorType
Applies the defaults associated with a givenSelectorType
- Parameters:
selectorType
- TheSelectorType
- Returns:
- This builder, for chaining
-
applySelectorType
Applies the defaults associated with a givenSelectorType
- Parameters:
selectorType
- TheSelectorType
- Returns:
- This builder, for chaining
-
includeSelf
Selector.Builder includeSelf()If the selector's source is anEntity
and this is called, the source is eligible to be selected if all other criteria are met.- Returns:
- This builder, for chaining.
-
limit
Limits the number ofentities
returned by the selector.- Parameters:
limit
- The maximum number of entities to return- Returns:
- This builder, for chaining
-
distance
Sets the minimum and/or maximum distance from the target location that this selector will look.- Parameters:
range
- The range- Returns:
- This builder, for chaining
-
volume
Sets the volume that entities can be selected from. Entities that have any part of their hitbox within this two specified corners will be eligible to be selected.- Parameters:
corner1
- The first cornercorner2
- The second corner (may be equal to the first to select entities at a specific point instead)- Returns:
- This builder, for chaining
-
sortAlgorithm
Sets the sorting algorithm to use when returning entities from the selector.- Parameters:
algorithm
- TheSelectorSortAlgorithm
- Returns:
- This builder, for chaining
-
sortAlgorithm
Sets the sorting algorithm to use when returning entities from the selector.- Parameters:
algorithm
- TheSelectorSortAlgorithm
- Returns:
- This builder, for chaining
-
addAdvancement
Adds anAdvancement
constraint to this selector, requiring that the advancement must be granted to be selected.- Parameters:
advancement
- The key of the advancement that players must have.- Returns:
- This builder, for chaining
-
addNotAdvancement
Adds anAdvancement
constraint to this selector, requiring that the advancement must NOT be granted to be selected.- Parameters:
advancement
- The key of the advancement that players must not have.- Returns:
- This builder, for chaining
-
addAdvancementCriterion
Adds anAdvancementCriterion
constraint to this selector, requiring that the criterion on the givenAdvancement
must be granted to be selected.- Parameters:
advancement
- The key of the advancementcriterion
- The criterion the player must have- Returns:
- This builder, for chaining
-
addNotAdvancementCriterion
Selector.Builder addNotAdvancementCriterion(ResourceKey advancement, AdvancementCriterion criterion) Adds anAdvancementCriterion
constraint to this selector, requiring that the criterion on the givenAdvancement
must not be granted to be selected.- Parameters:
advancement
- The key of the advancementcriterion
- The criterion the player must not have- Returns:
- This builder, for chaining
-
dataView
Adds anDataView
as an NBT style constraint.- Parameters:
view
- The data view- Returns:
- This builder, for chaining
-
addEntityType
Adds anEntityType
constraint to this selector, requiring that all selected entities must be of the given type.If
inherit
is true, entities may also be a subtype of the given type.- Parameters:
type
- The typeinherit
- Whether subtypes will also be selected- Returns:
- This builder, for chaining
-
addEntityType
Adds anEntityType
constraint to this selector, requiring that all selected entities must be of the given type.If
inherit
is true, entities may also be a subtype of the given type.- Parameters:
type
- The typeinherit
- Whether subtypes will also be selected- Returns:
- This builder, for chaining
-
addNotEntityType
Adds anEntityType
constraint to this selector, requiring that all selected entities must not be of the given type.- Parameters:
type
- The type- Returns:
- This builder, for chaining
-
addNotEntityType
Adds anEntityType
constraint to this selector, requiring that all selected entities must not be of the given type.- Parameters:
type
- The type- Returns:
- This builder, for chaining
-
experienceLevel
Adds an experience level constraint to the selector, specifying that a player's level must be in the provided range (inclusive).- Parameters:
range
- The range- Returns:
- This builder, for chaining
-
addGameMode
Adds aGameMode
constraint to the selector, requiring players be in the given game mode.Cannot be used with
addNotGameMode(GameMode)
.- Parameters:
mode
- The gamemode- Returns:
- This builder, for chaining
-
addGameMode
Adds aGameMode
constraint to the selector, requiring players be in the given game modeCannot be used with
addNotGameMode(GameMode)
.- Parameters:
mode
- The gamemode- Returns:
- This builder, for chaining
-
addNotGameMode
Adds aGameMode
constraint to the selector, requiring that players are not in the given game modeCannot be used with
addGameMode(GameMode)
.- Parameters:
mode
- The gamemode- Returns:
- This builder, for chaining
-
addNotGameMode
Adds aGameMode
constraint to the selector, requiring that players are not in the given game modeCannot be used with
addGameMode(GameMode)
.- Parameters:
mode
- The gamemode- Returns:
- This builder, for chaining
-
anyTeam
Selector.Builder anyTeam()Adds aTeam
constraint to the selector, requiring that players are in any team- Returns:
- This builder, for chaining
-
noTeam
Selector.Builder noTeam()Adds aTeam
constraint to the selector, requiring that players are not in any team- Returns:
- This builder, for chaining
-
addTeam
Adds aTeam
constraint to the selector, requiring that players are in a specific teamCannot be used with
addNotTeam(Team)
- Parameters:
team
- The specific team- Returns:
- This builder, for chaining
-
addNotTeam
Adds aTeam
constraint to the selector, requiring that players are not in a specific teamCannot be used with
addTeam(Team)
- Parameters:
team
- The specific team- Returns:
- This builder, for chaining
-
addName
Adds a name constraint to the selector, requiring that entities have a specific name.Cannot be used with
addNotName(String)
.- Parameters:
name
- The name- Returns:
- This builder, for chaining
-
addNotName
Adds a name constraint to the selector, requiring that entities do not have a specific name.Cannot be used with
addName(String)
.- Parameters:
name
- The name- Returns:
- This builder, for chaining
-
addObjective
Adds anObjective
constraint to the selector, requiring that players have a given score in an objective in a given range (inclusive).- Parameters:
objective
- The objective to check againstrange
- The range- Returns:
- This builder, for chaining
-
addTag
Adds a tag constrain to the selector, requiring that entities have a given tag.Cannot be used with
addNotTag(String)
.- Parameters:
tag
- The tag- Returns:
- This builder, for chaining
-
addNotTag
Adds a tag constraint to the selector, requiring that entities do not have a given tag.Cannot be used with
addTag(String)
.- Parameters:
tag
- The tag- Returns:
- This builder, for chaining
-
pitch
Adds a pitch constraint to the selector, requiring that entities have a pitch (x_rotation) within the given range, inclusive.The pitch is in degrees, where 0 is considered parallel to the ground, -90 is straight up, and 90 is straight down.
- Parameters:
range
- The range- Returns:
- This builder, for chaining
-
yaw
Adds a yaw constraint to the selector, requiring that entities have a yaw (y_rotation) within the given range, inclusive.The yaw is in degrees, where 0 is considered due south. The angle is measured clockwise, so 90 is west, 180 is north and 270 is east.
- Parameters:
range
- The range- Returns:
- This builder, for chaining
-
addFilter
Applies a custom filter to the selector that must also be met by anyentities
that may otherwise be selected by this selector.- Parameters:
filter
- APredicate
used for filtering- Returns:
- This builder, for chaining
-
build
Creates aSelector
based on this builder.- Specified by:
build
in interfaceAbstractBuilder<Selector>
- Returns:
- A
Selector
- Throws:
IllegalStateException
- if the builder could not create a selector
-