Contents
Class ActionEntityHitInteraction
java.lang.Object
com.hypixel.hytale.server.npc.corecomponents.AnnotatedComponentBase
com.hypixel.hytale.server.npc.corecomponents.ActionBase
com.hypixel.hytale.server.npc.corecomponents.combat.ActionEntityHitInteraction
- All Implemented Interfaces:
Action, RoleStateChange, IAnnotatedComponent, IComponentExecutionControl
Iterates the
EntityHit list provided by an EntityCollisionProvider and queues a
configurable RootInteraction chain against each hit entity. The chain is fired with
InteractionType.Collision, matching the semantics of the rail-step collision report.
The per-hit context is built with the charger as the running entity and the hit entity exposed
via Interaction.TARGET_ENTITY, matching the convention used by built-in combat assets
(see e.g. Skeleton_Burnt_Praetorian_Charge.json). Target-aware interactions such as
DamageEntity will act on the hit entity through context.getTargetEntity();
self-acting interactions such as ApplyForce will act on the charger.
-
Field Summary
Fields inherited from interface Action
EMPTY_ARRAY -
Constructor Summary
ConstructorsConstructorDescriptionActionEntityHitInteraction(BuilderActionEntityHitInteraction builder, BuilderSupport support) -
Method Summary
Modifier and TypeMethodDescriptionbooleancanExecute(Ref<EntityStore> ref, ExecutionSupport executionSupport, InfoProvider sensorInfo, double dt, Store<EntityStore> store) Test if an action can be executedbooleanexecute(Ref<EntityStore> ref, ExecutionSupport executionSupport, InfoProvider sensorInfo, double dt, Store<EntityStore> store) Execute actionMethods inherited from class ActionBase
activate, clearOnce, deactivate, isActivated, isTriggered, processDelay, setOnceMethods inherited from class AnnotatedComponentBase
getIndex, getInfo, getParent, setContextMethods inherited from class Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface IAnnotatedComponent
getBreadCrumbs, getBreadCrumbs, getIndex, getInfo, getLabel, getParent, setContextMethods inherited from interface RoleStateChange
loaded, motionControllerChanged, registerWithSupport, removed, spawned, teleported, unloaded
-
Constructor Details
-
ActionEntityHitInteraction
public ActionEntityHitInteraction(@Nonnull BuilderActionEntityHitInteraction builder, @Nonnull BuilderSupport support)
-
-
Method Details
-
canExecute
public boolean canExecute(@Nonnull Ref<EntityStore> ref, @Nonnull ExecutionSupport executionSupport, @Nullable InfoProvider sensorInfo, double dt, @Nonnull Store<EntityStore> store) Description copied from interface:ActionTest if an action can be executed- Specified by:
canExecutein interfaceAction- Overrides:
canExecutein classActionBase- Parameters:
ref- The entity refexecutionSupport- The execution supportsensorInfo- SensorInfo with PositionProvider, PathProvider, etc if requireddt- The interval in seconds for this calculationstore- The component store- Returns:
- true if action can be executed else false to skip execution
-
execute
public boolean execute(@Nonnull Ref<EntityStore> ref, @Nonnull ExecutionSupport executionSupport, @Nullable InfoProvider sensorInfo, double dt, @Nonnull Store<EntityStore> store) Description copied from interface:ActionExecute action- Specified by:
executein interfaceAction- Overrides:
executein classActionBase- Parameters:
ref- The entity refexecutionSupport- The execution supportsensorInfo- SensorInfo with PositionProvider, PathProvider, etc if requireddt- The interval in seconds for this calculationstore- The component store- Returns:
- true when executed action has finished else false when execution is not completed yet
-