Package net.minecraft.entity.ai.goal
Class GoalSelector
java.lang.Object
net.minecraft.entity.ai.goal.GoalSelector
Manages a set of goals, which are competing for certain controls on the mob.
Multiple goals can run at the same time, so long as they are all using different controls.
A running goal will always be replaced with a goal with a lower priority, if
such a goal exists, it's competing for the same control and its
canStart() method returns true. (Note that some goals randomize
this method.)
If two goals have the same priority and are competing for the same control, then one goal cannot replace the other if it's running. The goal selector tries to run goals in the order they were added.
- Mappings:
Namespace Name named net/minecraft/entity/ai/goal/GoalSelectorintermediary net/minecraft/class_1355official can
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final EnumSet<Goal.Control> private final Set<PrioritizedGoal> private final Map<Goal.Control, PrioritizedGoal> private static final PrioritizedGoal -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds a goal with a certain priority.private static booleancanReplaceAll(PrioritizedGoal goal, Map<Goal.Control, PrioritizedGoal> goalsByControl) voidvoiddisableControl(Goal.Control control) voidenableControl(Goal.Control control) getGoals()voidvoidsetControlEnabled(Goal.Control control, boolean enabled) voidtick()voidtickGoals(boolean tickAll) private static booleanusesAny(PrioritizedGoal goal, EnumSet<Goal.Control> controls)
-
Field Details
-
REPLACEABLE_GOAL
- Mappings:
Namespace Name Mixin selector named REPLACEABLE_GOALLnet/minecraft/entity/ai/goal/GoalSelector;REPLACEABLE_GOAL:Lnet/minecraft/entity/ai/goal/PrioritizedGoal;intermediary field_18410Lnet/minecraft/class_1355;field_18410:Lnet/minecraft/class_4135;official aLcan;a:Lcca;
-
goalsByControl
- Mappings:
Namespace Name Mixin selector named goalsByControlLnet/minecraft/entity/ai/goal/GoalSelector;goalsByControl:Ljava/util/Map;intermediary field_18411Lnet/minecraft/class_1355;field_18411:Ljava/util/Map;official bLcan;b:Ljava/util/Map;
-
goals
- Mappings:
Namespace Name Mixin selector named goalsLnet/minecraft/entity/ai/goal/GoalSelector;goals:Ljava/util/Set;intermediary field_6461Lnet/minecraft/class_1355;field_6461:Ljava/util/Set;official cLcan;c:Ljava/util/Set;
-
profiler
- Mappings:
Namespace Name Mixin selector named profilerLnet/minecraft/entity/ai/goal/GoalSelector;profiler:Ljava/util/function/Supplier;intermediary field_6463Lnet/minecraft/class_1355;field_6463:Ljava/util/function/Supplier;official dLcan;d:Ljava/util/function/Supplier;
-
disabledControls
- Mappings:
Namespace Name Mixin selector named disabledControlsLnet/minecraft/entity/ai/goal/GoalSelector;disabledControls:Ljava/util/EnumSet;intermediary field_6462Lnet/minecraft/class_1355;field_6462:Ljava/util/EnumSet;official eLcan;e:Ljava/util/EnumSet;
-
-
Constructor Details
-
GoalSelector
- Mappings:
Namespace Name Mixin selector named <init>Lnet/minecraft/entity/ai/goal/GoalSelector;<init>(Ljava/util/function/Supplier;)Vintermediary <init>Lnet/minecraft/class_1355;<init>(Ljava/util/function/Supplier;)Vofficial <init>Lcan;<init>(Ljava/util/function/Supplier;)V
-
-
Method Details
-
add
Adds a goal with a certain priority. Goals with lower priorities will replace running goals with a higher priority.- Mappings:
Namespace Name Mixin selector named addLnet/minecraft/entity/ai/goal/GoalSelector;add(ILnet/minecraft/entity/ai/goal/Goal;)Vintermediary method_6277Lnet/minecraft/class_1355;method_6277(ILnet/minecraft/class_1352;)Vofficial aLcan;a(ILcam;)V
-
clear
- Mappings:
Namespace Name Mixin selector named clearLnet/minecraft/entity/ai/goal/GoalSelector;clear(Ljava/util/function/Predicate;)Vintermediary method_35113Lnet/minecraft/class_1355;method_35113(Ljava/util/function/Predicate;)Vofficial aLcan;a(Ljava/util/function/Predicate;)V
-
remove
- Mappings:
Namespace Name Mixin selector named removeLnet/minecraft/entity/ai/goal/GoalSelector;remove(Lnet/minecraft/entity/ai/goal/Goal;)Vintermediary method_6280Lnet/minecraft/class_1355;method_6280(Lnet/minecraft/class_1352;)Vofficial aLcan;a(Lcam;)V
-
usesAny
- Mappings:
Namespace Name Mixin selector named usesAnyLnet/minecraft/entity/ai/goal/GoalSelector;usesAny(Lnet/minecraft/entity/ai/goal/PrioritizedGoal;Ljava/util/EnumSet;)Zintermediary method_38063Lnet/minecraft/class_1355;method_38063(Lnet/minecraft/class_4135;Ljava/util/EnumSet;)Zofficial aLcan;a(Lcca;Ljava/util/EnumSet;)Z
-
canReplaceAll
private static boolean canReplaceAll(PrioritizedGoal goal, Map<Goal.Control, PrioritizedGoal> goalsByControl) - Mappings:
Namespace Name Mixin selector named canReplaceAllLnet/minecraft/entity/ai/goal/GoalSelector;canReplaceAll(Lnet/minecraft/entity/ai/goal/PrioritizedGoal;Ljava/util/Map;)Zintermediary method_38064Lnet/minecraft/class_1355;method_38064(Lnet/minecraft/class_4135;Ljava/util/Map;)Zofficial aLcan;a(Lcca;Ljava/util/Map;)Z
-
tick
public void tick()- Mappings:
Namespace Name Mixin selector named tickLnet/minecraft/entity/ai/goal/GoalSelector;tick()Vintermediary method_6275Lnet/minecraft/class_1355;method_6275()Vofficial aLcan;a()V
-
tickGoals
public void tickGoals(boolean tickAll) - Mappings:
Namespace Name Mixin selector named tickGoalsLnet/minecraft/entity/ai/goal/GoalSelector;tickGoals(Z)Vintermediary method_38849Lnet/minecraft/class_1355;method_38849(Z)Vofficial aLcan;a(Z)V
-
getGoals
- Mappings:
Namespace Name Mixin selector named getGoalsLnet/minecraft/entity/ai/goal/GoalSelector;getGoals()Ljava/util/Set;intermediary method_35115Lnet/minecraft/class_1355;method_35115()Ljava/util/Set;official bLcan;b()Ljava/util/Set;
-
disableControl
- Mappings:
Namespace Name Mixin selector named disableControlLnet/minecraft/entity/ai/goal/GoalSelector;disableControl(Lnet/minecraft/entity/ai/goal/Goal$Control;)Vintermediary method_6274Lnet/minecraft/class_1355;method_6274(Lnet/minecraft/class_1352$class_4134;)Vofficial aLcan;a(Lcam$a;)V
-
enableControl
- Mappings:
Namespace Name Mixin selector named enableControlLnet/minecraft/entity/ai/goal/GoalSelector;enableControl(Lnet/minecraft/entity/ai/goal/Goal$Control;)Vintermediary method_6273Lnet/minecraft/class_1355;method_6273(Lnet/minecraft/class_1352$class_4134;)Vofficial bLcan;b(Lcam$a;)V
-
setControlEnabled
- Mappings:
Namespace Name Mixin selector named setControlEnabledLnet/minecraft/entity/ai/goal/GoalSelector;setControlEnabled(Lnet/minecraft/entity/ai/goal/Goal$Control;Z)Vintermediary method_6276Lnet/minecraft/class_1355;method_6276(Lnet/minecraft/class_1352$class_4134;Z)Vofficial aLcan;a(Lcam$a;Z)V
-