Class SpawnTriggerVolumeInteraction
- All Implemented Interfaces:
JsonAsset<String>, JsonAssetWithMap<String, IndexedLookupTableAssetMap<String, Interaction>>, NetworkSerializable<Interaction>, Operation
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.
-
Nested Class Summary
Nested classes/interfaces inherited from interface Operation
Operation.NestedOperation -
Field Summary
FieldsFields inherited from class Interaction
ABSTRACT_CODEC, CHILD_ASSET_CODEC, CHILD_ASSET_CODEC_ARRAY, CONTEXT_META_REGISTRY, DAMAGE, HIT_DETAIL, HIT_LOCATION, META_REGISTRY, TARGET_BLOCK, TARGET_BLOCK_RAW, TARGET_BLOCK_ROTATION_INDEX, TARGET_BLOCK_TYPE, TARGET_ENTITY, TARGET_SLOT, TIME_SHIFT, VALIDATOR_CACHE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanReturns whether this interaction must be synced to any remote clients in order to function correctly.toString()Methods inherited from class SimpleInteraction
compile, getWaitForDataFrom, walkMethods inherited from class Interaction
failed, getAssetMap, getAssetStore, getEffects, getHorizontalSpeedMultiplier, getId, getInteractionIdOrUnknown, getInteractionOrUnknown, getOnItemChangeBehavior, getRules, getRunTime, getSettings, getViewDistance, handle, isUnknown, mapForkChain, simulateTick, tick, toPacketMethods inherited from interface Operation
getInnerOperation, getTags
-
Field Details
-
CODEC
-
-
Constructor Details
-
SpawnTriggerVolumeInteraction
public SpawnTriggerVolumeInteraction()
-
-
Method Details
-
needsRemoteSync
public boolean needsRemoteSync()Description copied from class:InteractionReturns 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
falsefor 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()returnsWaitForDataFrom.Clientthen this must returntrue.- Overrides:
needsRemoteSyncin classSimpleInteraction- Returns:
- whether this interaction requires being synced to remote clients in order to function correctly for them.
-
toString
- Overrides:
toStringin classSimpleInstantInteraction
-