Class CombatActionEvaluator
java.lang.Object
com.hypixel.hytale.server.npc.decisionmaker.core.Evaluator<CombatActionOption>
com.hypixel.hytale.builtin.npccombatactionevaluator.evaluator.CombatActionEvaluator
- All Implemented Interfaces:
Component<EntityStore>,Cloneable
public class CombatActionEvaluator
extends Evaluator<CombatActionOption>
implements Component<EntityStore>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassclassstatic classclassNested classes/interfaces inherited from class com.hypixel.hytale.server.npc.decisionmaker.core.Evaluator
Evaluator.OptionHolder -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected doubleprotected final it.unimi.dsi.fastutil.ints.Int2ObjectMap<CombatActionEvaluatorConfig.BasicAttacks> protected Ref<EntityStore> protected doubleprotected doubleprotected floatprotected CombatActionEvaluator.CombatOptionHolderprotected Stringprotected booleanprotected CombatActionEvaluatorConfig.BasicAttacksprotected Function<InteractionContext, Map<String, String>> protected intprotected booleanprotected Stringprotected InteractionTypeprotected Function<InteractionContext, Map<String, String>> protected final EvaluationContextprotected longprotected intprotected intprotected doubleprotected intprotected doubleprotected intprotected static final floatprotected final it.unimi.dsi.fastutil.ints.Int2ObjectMap<List<Evaluator.OptionHolder>> protected booleanprotected intprotected double[]protected floatprotected Ref<EntityStore> protected Ref<EntityStore> protected booleanprotected intprotected CombatActionEvaluator.RunOptionprotected floatFields inherited from class com.hypixel.hytale.server.npc.decisionmaker.core.Evaluator
LOGGER, NOT_USED, optionsFields inherited from interface com.hypixel.hytale.component.Component
EMPTY_ARRAY -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCombatActionEvaluator(Role role, CombatActionEvaluatorConfig config, CombatActionEvaluatorSystems.CombatConstructionData data) -
Method Summary
Modifier and TypeMethodDescriptionbooleancanUseBasicAttack(int selfIndex, ArchetypeChunk<EntityStore> archetypeChunk, CommandBuffer<EntityStore> commandBuffer) voidvoidvoidclone()voidcompleteCurrentAction(boolean forceClearAbility, boolean clearBasicAttack) double[]getBasicAttacks(int subState) doublefloatlongintintintdoubleintit.unimi.dsi.fastutil.ints.Int2ObjectMap<List<Evaluator.OptionHolder>> intintbooleanhasTimedOut(float dt) booleanvoidselectNextCombatAction(int index, ArchetypeChunk<EntityStore> archetypeChunk, CommandBuffer<EntityStore> commandBuffer, Role role, ValueStore valueStore) voidsetActiveOptions(List<Evaluator.OptionHolder> options) voidsetBasicAttackTarget(Ref<EntityStore> target) voidsetBasicAttackTimeout(double timeout) voidsetCurrentBasicAttack(String attack, boolean damageFriendlies, Function<InteractionContext, Map<String, String>> interactionVarsGetter) voidsetCurrentBasicAttackSet(int subState, CombatActionEvaluatorConfig.BasicAttacks attacks) voidsetCurrentInteraction(String currentInteraction, InteractionType interactionType, float chargeFor, boolean damageFriendlies, boolean requireAiming, boolean positionFirst, double chargeDistance, Function<InteractionContext, Map<String, String>> interactionVarsGetter) voidsetLastRunNanos(long lastRunNanos) voidsetNextBasicAttackIndex(int next) voidsetTimeout(float timeout) voidsetupNPC(Holder<EntityStore> holder) voidbooleanbooleanvoidvoidtickBasicAttackCoolDown(float dt) booleantickBasicAttackTimeout(float dt) Methods inherited from class com.hypixel.hytale.server.npc.decisionmaker.core.Evaluator
evaluate, initialiseMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.hypixel.hytale.component.Component
cloneSerializable
-
Field Details
-
NO_TIMEOUT
protected static final float NO_TIMEOUT- See Also:
-
runOption
-
minRunUtility
protected double minRunUtility -
lastRunNanos
protected long lastRunNanos -
runInState
protected int runInState -
predictability
protected float predictability -
minActionUtility
protected double minActionUtility -
optionsBySubState
protected final it.unimi.dsi.fastutil.ints.Int2ObjectMap<List<Evaluator.OptionHolder>> optionsBySubState -
basicAttacksBySubState
protected final it.unimi.dsi.fastutil.ints.Int2ObjectMap<CombatActionEvaluatorConfig.BasicAttacks> basicAttacksBySubState -
currentBasicAttackSubState
protected int currentBasicAttackSubState -
currentBasicAttackSet
-
currentBasicAttack
-
currentBasicAttacksInteractionVarsGetter
-
currentBasicAttackDamageFriendlies
protected boolean currentBasicAttackDamageFriendlies -
nextBasicAttackIndex
protected int nextBasicAttackIndex -
basicAttackCooldown
protected double basicAttackCooldown -
basicAttackTarget
-
basicAttackTimeout
protected double basicAttackTimeout -
-
previousTarget
-
currentAction
-
postExecutionDistanceRange
@Nullable protected double[] postExecutionDistanceRange -
markedTargetSlot
protected int markedTargetSlot -
minRangeSlot
protected int minRangeSlot -
maxRangeSlot
protected int maxRangeSlot -
positioningAngleSlot
protected int positioningAngleSlot -
currentInteraction
-
currentInteractionVarsGetter
-
currentInteractionType
-
chargeFor
protected float chargeFor -
currentDamageFriendlies
protected boolean currentDamageFriendlies -
requireAiming
protected boolean requireAiming -
positionFirst
protected boolean positionFirst -
chargeDistance
protected double chargeDistance -
timeout
protected float timeout -
evaluationContext
-
-
Constructor Details
-
CombatActionEvaluator
public CombatActionEvaluator(@Nonnull Role role, @Nonnull CombatActionEvaluatorConfig config, @Nonnull CombatActionEvaluatorSystems.CombatConstructionData data) -
CombatActionEvaluator
protected CombatActionEvaluator()
-
-
Method Details
-
getComponentType
-
getRunOption
-
getMinRunUtility
public double getMinRunUtility() -
getEvaluationContext
-
getLastRunNanos
public long getLastRunNanos() -
setLastRunNanos
public void setLastRunNanos(long lastRunNanos) -
getRunInState
public int getRunInState() -
getOptionsBySubState
@Nonnull public it.unimi.dsi.fastutil.ints.Int2ObjectMap<List<Evaluator.OptionHolder>> getOptionsBySubState() -
getBasicAttacks
-
setCurrentBasicAttackSet
public void setCurrentBasicAttackSet(int subState, CombatActionEvaluatorConfig.BasicAttacks attacks) -
getCurrentBasicAttack
-
getCurrentBasicAttackSet
-
setCurrentBasicAttack
-
getNextBasicAttackIndex
public int getNextBasicAttackIndex() -
setNextBasicAttackIndex
public void setNextBasicAttackIndex(int next) -
canUseBasicAttack
public boolean canUseBasicAttack(int selfIndex, ArchetypeChunk<EntityStore> archetypeChunk, CommandBuffer<EntityStore> commandBuffer) -
tickBasicAttackCoolDown
public void tickBasicAttackCoolDown(float dt) -
getBasicAttackTarget
-
setBasicAttackTarget
-
tickBasicAttackTimeout
public boolean tickBasicAttackTimeout(float dt) -
setBasicAttackTimeout
public void setBasicAttackTimeout(double timeout) -
getPrimaryTarget
-
clearPrimaryTarget
public void clearPrimaryTarget() -
setActiveOptions
-
getMarkedTargetSlot
public int getMarkedTargetSlot() -
getMaxRangeSlot
public int getMaxRangeSlot() -
getMinRangeSlot
public int getMinRangeSlot() -
getPositioningAngleSlot
public int getPositioningAngleSlot() -
getCurrentAttack
-
getChargeFor
public float getChargeFor() -
getCurrentInteractionType
-
getCurrentInteractionVarsGetter
-
shouldDamageFriendlies
public boolean shouldDamageFriendlies() -
requiresAiming
public boolean requiresAiming() -
shouldPositionFirst
public boolean shouldPositionFirst() -
getChargeDistance
public double getChargeDistance() -
setCurrentInteraction
public void setCurrentInteraction(String currentInteraction, InteractionType interactionType, float chargeFor, boolean damageFriendlies, boolean requireAiming, boolean positionFirst, double chargeDistance, Function<InteractionContext, Map<String, String>> interactionVarsGetter) -
getCurrentAction
-
consumePostExecutionDistanceRange
public double[] consumePostExecutionDistanceRange() -
setTimeout
public void setTimeout(float timeout) -
clearTimeout
public void clearTimeout() -
hasTimedOut
public boolean hasTimedOut(float dt) -
selectNextCombatAction
public void selectNextCombatAction(int index, @Nonnull ArchetypeChunk<EntityStore> archetypeChunk, CommandBuffer<EntityStore> commandBuffer, @Nonnull Role role, ValueStore valueStore) -
completeCurrentAction
public void completeCurrentAction(boolean forceClearAbility, boolean clearBasicAttack) -
terminateCurrentAction
public void terminateCurrentAction() -
clearCurrentBasicAttack
public void clearCurrentBasicAttack() -
setupNPC
- Overrides:
setupNPCin classEvaluator<CombatActionOption>
-
setupNPC
- Overrides:
setupNPCin classEvaluator<CombatActionOption>
-
clone
- Specified by:
clonein interfaceComponent<EntityStore>- Overrides:
clonein classObject
-