Record Class CompositeGoal
java.lang.Object
java.lang.Record
com.soulfiremc.server.pathfinding.goals.CompositeGoal
- Record Components:
goals
- the goals to composite
- All Implemented Interfaces:
GoalScorer
Goal that is a composite of multiple goals.
This goal is completed if any of the goals are completed.
The closest goal is always chosen as the current goal.
-
Constructor Summary
ConstructorsConstructorDescriptionCompositeGoal
(Set<GoalScorer> goals) Creates an instance of aCompositeGoal
record class. -
Method Summary
Modifier and TypeMethodDescriptiondouble
computeScore
(MinecraftGraph graph, SFVec3i blockPosition, List<WorldAction> actions) Calculates the estimated score for a given block position to the goal.final boolean
Indicates whether some other object is "equal to" this one.getFinishedGoal
(MinecraftRouteNode current) goals()
Returns the value of thegoals
record component.final int
hashCode()
Returns a hash code value for this object.boolean
isFinished
(MinecraftRouteNode current) Checks if the given world state indicates that the goal is reached.final String
toString()
Returns a string representation of this record class.
-
Constructor Details
-
CompositeGoal
Creates an instance of aCompositeGoal
record class.- Parameters:
goals
- the value for thegoals
record component
-
-
Method Details
-
computeScore
Description copied from interface:GoalScorer
Calculates the estimated score for a given block position to the goal. Usually this means the distance from achieving the goal.- Specified by:
computeScore
in interfaceGoalScorer
- Parameters:
graph
- the graph to calculate the score forblockPosition
- the block position to calculate the score foractions
- the actions that have been executed to reach the current state- Returns:
- the score for the given world state
-
isFinished
Description copied from interface:GoalScorer
Checks if the given world state indicates that the goal is reached.- Specified by:
isFinished
in interfaceGoalScorer
- Parameters:
current
- the node to check- Returns:
- true if the goal is reached, false otherwise
-
getFinishedGoal
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object)
. -
goals
Returns the value of thegoals
record component.- Returns:
- the value of the
goals
record component
-