Package net.minecraft.entity.ai
Class FuzzyTargeting
java.lang.Object
net.minecraft.entity.ai.FuzzyTargeting
Path targeting utilities using fuzzy, or approximated, positions from
FuzzyPositions.
Methods in this class can be used to do pathing for an entity to a random position. Positions are chosen to stay within range of the entity's chosen position target if applicable, and will be suitably randomized within that constraint.
- Mappings:
Namespace Name official bqrintermediary net/minecraft/class_5534named net/minecraft/entity/ai/FuzzyTargeting
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfind(PathAwareEntity entity, int horizontalRange, int verticalRange) Paths to a random reachable position with positive path-finding favorability.find(PathAwareEntity entity, int horizontalRange, int verticalRange, ToDoubleFunction<BlockPos> scorer) Paths to a random reachable position with positive path-finding favorability computed by a given function.findFrom(PathAwareEntity entity, int horizontalRange, int verticalRange, Vec3d start) Paths to a random reachable position leading away from a given starting point.findTo(PathAwareEntity entity, int horizontalRange, int verticalRange, Vec3d end) Paths to a random reachable position leading towards a given end-point.findValid(PathAwareEntity entity, int horizontalRange, int verticalRange, Vec3d direction, boolean posTargetInRange) towardTarget(PathAwareEntity entity, int horizontalRange, boolean posTargetInRange, BlockPos relativeInRangePos) Paths to a random reachable position approaching an entity's chosenposition target.validate(PathAwareEntity entity, BlockPos pos) Checks whether a given position is a valid pathable target.
-
Constructor Details
-
FuzzyTargeting
public FuzzyTargeting()
-
-
Method Details
-
find
@Nullable public static @Nullable Vec3d find(PathAwareEntity entity, int horizontalRange, int verticalRange) Paths to a random reachable position with positive path-finding favorability.- Parameters:
entity- the entity doing the pathinghorizontalRange- the horizontal pathing range (how far the point can be from the entity's starting position on the X or Z range)verticalRange- the vertical pathing range (how far the point can be from the entity's starting position on the Y range)- Returns:
- chosen position or null if none could be found
- Mappings:
Namespace Name Mixin selector official aLbqr;a(Lbgg;II)Leea;intermediary method_31527Lnet/minecraft/class_5534;method_31527(Lnet/minecraft/class_1314;II)Lnet/minecraft/class_243;named findLnet/minecraft/entity/ai/FuzzyTargeting;find(Lnet/minecraft/entity/mob/PathAwareEntity;II)Lnet/minecraft/util/math/Vec3d;
-
find
@Nullable public static @Nullable Vec3d find(PathAwareEntity entity, int horizontalRange, int verticalRange, ToDoubleFunction<BlockPos> scorer) Paths to a random reachable position with positive path-finding favorability computed by a given function.- Parameters:
entity- the entity doing the pathinghorizontalRange- the horizontal pathing range (how far the point can be from the entity's starting position on the X or Z range)verticalRange- the vertical pathing range (how far the point can be from the entity's starting position on the Y range)scorer- function to compute the path-finding favorability of a candidate position- Returns:
- the chosen position or null if none could be found
- Mappings:
Namespace Name Mixin selector official aLbqr;a(Lbgg;IILjava/util/function/ToDoubleFunction;)Leea;intermediary method_31530Lnet/minecraft/class_5534;method_31530(Lnet/minecraft/class_1314;IILjava/util/function/ToDoubleFunction;)Lnet/minecraft/class_243;named findLnet/minecraft/entity/ai/FuzzyTargeting;find(Lnet/minecraft/entity/mob/PathAwareEntity;IILjava/util/function/ToDoubleFunction;)Lnet/minecraft/util/math/Vec3d;
-
findTo
@Nullable public static @Nullable Vec3d findTo(PathAwareEntity entity, int horizontalRange, int verticalRange, Vec3d end) Paths to a random reachable position leading towards a given end-point.- Parameters:
horizontalRange- the horizontal pathing range (how far the point can be from the entity's starting position on the X or Z range)verticalRange- the vertical pathing range (how far the point can be from the entity's starting position on the Y range)end- the position to path towards- Returns:
- the chosen position or null if none could be found
- Mappings:
Namespace Name Mixin selector official aLbqr;a(Lbgg;IILeea;)Leea;intermediary method_31528Lnet/minecraft/class_5534;method_31528(Lnet/minecraft/class_1314;IILnet/minecraft/class_243;)Lnet/minecraft/class_243;named findToLnet/minecraft/entity/ai/FuzzyTargeting;findTo(Lnet/minecraft/entity/mob/PathAwareEntity;IILnet/minecraft/util/math/Vec3d;)Lnet/minecraft/util/math/Vec3d;
-
findFrom
@Nullable public static @Nullable Vec3d findFrom(PathAwareEntity entity, int horizontalRange, int verticalRange, Vec3d start) Paths to a random reachable position leading away from a given starting point.- Parameters:
entity- the entity doing the pathinghorizontalRange- the horizontal pathing range (how far the point can be from the entity's starting position on the X or Z range)verticalRange- the vertical pathing range (how far the point can be from the entity's starting position on the Y range)start- the position to path away from- Returns:
- the chosen position or null if none could be found
- Mappings:
Namespace Name Mixin selector official bLbqr;b(Lbgg;IILeea;)Leea;intermediary method_31534Lnet/minecraft/class_5534;method_31534(Lnet/minecraft/class_1314;IILnet/minecraft/class_243;)Lnet/minecraft/class_243;named findFromLnet/minecraft/entity/ai/FuzzyTargeting;findFrom(Lnet/minecraft/entity/mob/PathAwareEntity;IILnet/minecraft/util/math/Vec3d;)Lnet/minecraft/util/math/Vec3d;
-
findValid
@Nullable private static @Nullable Vec3d findValid(PathAwareEntity entity, int horizontalRange, int verticalRange, Vec3d direction, boolean posTargetInRange) - Mappings:
Namespace Name Mixin selector official aLbqr;a(Lbgg;IILeea;Z)Leea;intermediary method_31529Lnet/minecraft/class_5534;method_31529(Lnet/minecraft/class_1314;IILnet/minecraft/class_243;Z)Lnet/minecraft/class_243;named findValidLnet/minecraft/entity/ai/FuzzyTargeting;findValid(Lnet/minecraft/entity/mob/PathAwareEntity;IILnet/minecraft/util/math/Vec3d;Z)Lnet/minecraft/util/math/Vec3d;
-
validate
Checks whether a given position is a valid pathable target.- Parameters:
entity- the entity doing the pathingpos- the candidate position- Returns:
- the input position, or null if validation failed
- Mappings:
Namespace Name Mixin selector official aLbqr;a(Lbgg;Lgu;)Lgu;intermediary method_31533Lnet/minecraft/class_5534;method_31533(Lnet/minecraft/class_1314;Lnet/minecraft/class_2338;)Lnet/minecraft/class_2338;named validateLnet/minecraft/entity/ai/FuzzyTargeting;validate(Lnet/minecraft/entity/mob/PathAwareEntity;Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/util/math/BlockPos;
-
towardTarget
@Nullable public static @Nullable BlockPos towardTarget(PathAwareEntity entity, int horizontalRange, boolean posTargetInRange, BlockPos relativeInRangePos) Paths to a random reachable position approaching an entity's chosenposition target.- Parameters:
entity- the entity doing the pathinghorizontalRange- the horizontal pathing range (how far the point can be from the entity's starting position on the X or Z range)- Returns:
- the chosen position or null if none could be found
- Mappings:
Namespace Name Mixin selector official aLbqr;a(Lbgg;IZLgu;)Lgu;intermediary method_31532Lnet/minecraft/class_5534;method_31532(Lnet/minecraft/class_1314;IZLnet/minecraft/class_2338;)Lnet/minecraft/class_2338;named towardTargetLnet/minecraft/entity/ai/FuzzyTargeting;towardTarget(Lnet/minecraft/entity/mob/PathAwareEntity;IZLnet/minecraft/util/math/BlockPos;)Lnet/minecraft/util/math/BlockPos;
-