CLASS net/minecraft/class_1355 net/minecraft/entity/ai/goal/GoalSelector COMMENT Manages a set of goals, which are competing for certain controls on the mob. COMMENT Multiple goals can run at the same time, so long as they are all using different controls. COMMENT COMMENT

A running goal will always be replaced with a goal with a lower priority, if COMMENT such a goal exists, it's competing for the same control and its COMMENT {@link Goal#canStart() canStart()} method returns true. (Note that some goals randomize COMMENT this method.) COMMENT COMMENT

If two goals have the same priority and are competing for the same control, then one COMMENT goal cannot replace the other if it's running. The goal selector tries to run goals in the order COMMENT they were added. FIELD field_18410 REPLACEABLE_GOAL Lnet/minecraft/class_4135; FIELD field_18411 goalsByControl Ljava/util/Map; FIELD field_6461 goals Ljava/util/Set; FIELD field_6462 disabledControls Ljava/util/EnumSet; FIELD field_6463 profiler Ljava/util/function/Supplier; METHOD (Ljava/util/function/Supplier;)V ARG 1 profiler METHOD method_35113 clear (Ljava/util/function/Predicate;)V ARG 1 predicate METHOD method_35115 getGoals ()Ljava/util/Set; METHOD method_38063 usesAny (Lnet/minecraft/class_4135;Ljava/util/EnumSet;)Z ARG 0 goal ARG 1 controls METHOD method_38064 canReplaceAll (Lnet/minecraft/class_4135;Ljava/util/Map;)Z ARG 0 goal ARG 1 goalsByControl METHOD method_38849 tickGoals (Z)V ARG 1 tickAll METHOD method_47828 (Ljava/util/function/Predicate;Lnet/minecraft/class_4135;)Z ARG 1 goal METHOD method_6273 enableControl (Lnet/minecraft/class_1352$class_4134;)V ARG 1 control METHOD method_6274 disableControl (Lnet/minecraft/class_1352$class_4134;)V ARG 1 control METHOD method_6275 tick ()V METHOD method_6276 setControlEnabled (Lnet/minecraft/class_1352$class_4134;Z)V ARG 1 control ARG 2 enabled METHOD method_6277 add (ILnet/minecraft/class_1352;)V COMMENT Adds a goal with a certain priority. Goals with lower priorities will replace running goals COMMENT with a higher priority. ARG 1 priority ARG 2 goal METHOD method_6280 remove (Lnet/minecraft/class_1352;)V ARG 1 goal