Class SpawnTriggerVolumeInteraction

All Implemented Interfaces:
JsonAsset<String>, JsonAssetWithMap<String, IndexedLookupTableAssetMap<String, Interaction>>, NetworkSerializable<Interaction>, Operation

public class SpawnTriggerVolumeInteraction extends SimpleInstantInteraction
A simple instant interaction that spawns a trigger volume at the hit location. The volume's behavior (conditions and effects) is supplied by a referenced TriggerEffectAsset, and its geometry by the configured TriggerVolumeShape.

The hit location is taken from Interaction.HIT_LOCATION (populated by both the aimed-block raycast and projectile-impact paths). When no hit is present and RequireHitLocation is false, the interaction falls back to the instigating entity's position; when RequireHitLocation is true, the interaction does nothing instead.

  • Field Details

  • Constructor Details

    • SpawnTriggerVolumeInteraction

      public SpawnTriggerVolumeInteraction()
  • Method Details

    • needsRemoteSync

      public boolean needsRemoteSync()
      Description copied from class: Interaction
      Returns whether this interaction must be synced to any remote clients in order to function correctly. Ignored when the interaction is running without a client.

      This method is used as an optimization when the interactions are being run by a manager with a remote client. If all interactions in a chain don't require a client in order to function (if this method returns false for all interactions in the chain) then we can skip executing/syncing the chain to the client and instead run the chain completely server-side instead.

      This method has no effect on interaction managers that run without a remote attached. It may also be ignored in some cases as this method only functions as a hint.

      If Operation.getWaitForDataFrom() returns WaitForDataFrom.Client then this must return true.

      Overrides:
      needsRemoteSync in class SimpleInteraction
      Returns:
      whether this interaction requires being synced to remote clients in order to function correctly for them.
    • toString

      @Nonnull public String toString()
      Overrides:
      toString in class SimpleInstantInteraction