Contents
- Description
- Nested Class Summary
- Field Summary
- Constructor Summary
- Method Summary
- Field Details
- Constructor Details
- Method Details
- setId(String)
- setWorldName(String)
- getId()
- getName()
- setName(String)
- getWorldName()
- getPosition()
- setPosition(Vector3d)
- getShape()
- setShape(TriggerVolumeShape)
- getEffects()
- getConditions()
- getRejectionEffects()
- getRules()
- isRulesActive()
- setRulesActive(boolean)
- getConditionTiming()
- setConditionTiming(ConditionTiming)
- getRejectionDelayMode()
- setRejectionDelayMode(RejectionDelayMode)
- getTargetTypes()
- getProjectileSource()
- setProjectileSource(ProjectileSource)
- isEnabled()
- setEnabled(boolean)
- isKeepLoaded()
- setKeepLoaded(boolean)
- isRotateEffectsOnPaste()
- setRotateEffectsOnPaste(boolean)
- isFromWorldGen()
- setFromWorldGen(boolean)
- isCancelDelayedEffectsOnExit()
- setCancelDelayedEffectsOnExit(boolean)
- getActivationDelay()
- setActivationDelay(float)
- getCooldown()
- setCooldown(float)
- getCooldownMode()
- setCooldownMode(CooldownMode)
- isOnCooldown(UUID, long)
- recordActivation(UUID, long)
- isPendingDestroy()
- markPendingDestroy()
- getExpiresAt()
- setExpiresAt(Instant)
- isExpired(Instant)
- getEffectAssetRef()
- setEffectAssetRef(String)
- getGroupId()
- setGroupId(String)
- getColor()
- setColor(Vector3f)
- getRawTags()
- setTags(Map)
- getExpandedTagIndexes()
- setExpandedTagIndexes(IntSet)
- hasTag(int)
- getTrackedEntities()
- getLastFireTimes()
- isVolumeActivated(int, UUID)
- markVolumeActivated(int, UUID)
- markVolumeActivationPending(int, UUID)
- clearVolumeActivationPending(int, UUID)
- markVolumeTickRejectionFired(int, UUID)
- isGroupActivated(String, int, UUID)
- markGroupActivated(String, int, UUID)
- markGroupActivationPending(String, int, UUID)
- clearGroupActivationPending(String, int, UUID)
- clearGroupActivationState(String)
- markGroupTickRejectionFired(String, int, UUID)
- markDelayedEffectPending(VolumeEntry.EffectEntityKey)
- clearDelayedEffectPending(VolumeEntry.EffectEntityKey)
- clearEntityRuntimeState(UUID)
Class VolumeEntry
java.lang.Object
com.hypixel.hytale.builtin.triggervolumes.manager.VolumeEntry
Runtime and serialized state for one trigger volume. The persisted fields describe the
volume's shape, effects, grouping, targeting, and cooldown configuration; the transient
collections below track the entity lifecycle while the world is ticking.
trackedEntities is rebuilt every tick from the spatial query. Activation sets
record entities that passed the ENTER/TICK gate, rejection sets keep TICK rejection effects
one-shot during a continuous stay, and pending sets prevent duplicate delayed gates/effects
from being queued. All per-entity runtime state is cleared on EXIT by
clearEntityRuntimeState(UUID).
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumSeparates interval bookkeeping for effect lists that share the same list index.static final recordKey for per-effect, per-entity interval state and delayed-effect deduping.static final recordPer-entity activation/rejection/pending state, scoped to a single event entry.static final record -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionVolumeEntry(String volumeId, String worldName, org.joml.Vector3d position, TriggerVolumeShape shape, List<TriggerEffect> effects, Set<EntityTargetType> targetTypes, boolean enabled) -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidclearEntityRuntimeState(UUID entityUuid) voidclearGroupActivationPending(String groupId, int entry, UUID entityUuid) voidclearGroupActivationState(String groupId) voidclearVolumeActivationPending(int entry, UUID entityUuid) floatorg.joml.Vector3fgetColor()floatit.unimi.dsi.fastutil.ints.IntSetgetId()it.unimi.dsi.fastutil.objects.Object2LongMap<VolumeEntry.EffectEntityKey> getName()org.joml.Vector3dgetRules()getShape()Map<UUID, Ref<EntityStore>> booleanhasTag(int tagIndex) booleanbooleanbooleanReturns whether this volume has an expiry that has elapsed as ofnow.booleanbooleanisGroupActivated(String groupId, int entry, UUID entityUuid) booleanbooleanisOnCooldown(UUID entityUuid, long nowNanos) Returns whether this volume is still cooling down for the given entity.booleanbooleanbooleanbooleanisVolumeActivated(int entry, UUID entityUuid) booleanvoidmarkGroupActivated(String groupId, int entry, UUID entityUuid) booleanmarkGroupActivationPending(String groupId, int entry, UUID entityUuid) booleanmarkGroupTickRejectionFired(String groupId, int entry, UUID entityUuid) voidvoidmarkVolumeActivated(int entry, UUID entityUuid) booleanmarkVolumeActivationPending(int entry, UUID entityUuid) booleanmarkVolumeTickRejectionFired(int entry, UUID entityUuid) voidrecordActivation(UUID entityUuid, long nowNanos) Records the timestamp used by cooldown checks after activation.voidsetActivationDelay(float activationDelay) voidsetCancelDelayedEffectsOnExit(boolean cancelDelayedEffectsOnExit) voidsetColor(org.joml.Vector3f color) voidsetConditionTiming(ConditionTiming conditionTiming) voidsetCooldown(float cooldown) voidsetCooldownMode(CooldownMode cooldownMode) voidsetEffectAssetRef(String effectAssetRef) voidsetEnabled(boolean enabled) voidsetExpandedTagIndexes(it.unimi.dsi.fastutil.ints.IntSet expandedTagIndexes) voidsetExpiresAt(Instant expiresAt) voidsetFromWorldGen(boolean fromWorldGen) voidsetGroupId(String groupId) voidvoidsetKeepLoaded(boolean keepLoaded) voidvoidsetPosition(org.joml.Vector3d position) voidsetProjectileSource(ProjectileSource projectileSource) voidsetRejectionDelayMode(RejectionDelayMode rejectionDelayMode) voidsetRotateEffectsOnPaste(boolean rotateEffectsOnPaste) voidsetRulesActive(boolean rulesActive) voidsetShape(TriggerVolumeShape shape) voidvoidsetWorldName(String worldName)
-
Field Details
-
CODEC
-
-
Constructor Details
-
VolumeEntry
public VolumeEntry(@Nonnull String volumeId, @Nonnull String worldName, @Nonnull org.joml.Vector3d position, @Nonnull TriggerVolumeShape shape, @Nonnull List<TriggerEffect> effects, @Nonnull Set<EntityTargetType> targetTypes, boolean enabled)
-
-
Method Details
-
setId
-
setWorldName
-
getId
-
getName
-
setName
-
getWorldName
-
getPosition
@Nonnull public org.joml.Vector3d getPosition() -
setPosition
public void setPosition(@Nonnull org.joml.Vector3d position) -
getShape
-
setShape
-
getEffects
-
getConditions
-
getRejectionEffects
-
getRules
-
isRulesActive
public boolean isRulesActive() -
setRulesActive
public void setRulesActive(boolean rulesActive) -
getConditionTiming
-
setConditionTiming
-
getRejectionDelayMode
-
setRejectionDelayMode
-
getTargetTypes
-
getProjectileSource
-
setProjectileSource
-
isEnabled
public boolean isEnabled() -
setEnabled
public void setEnabled(boolean enabled) -
isKeepLoaded
public boolean isKeepLoaded() -
setKeepLoaded
public void setKeepLoaded(boolean keepLoaded) -
isRotateEffectsOnPaste
public boolean isRotateEffectsOnPaste() -
setRotateEffectsOnPaste
public void setRotateEffectsOnPaste(boolean rotateEffectsOnPaste) -
isFromWorldGen
public boolean isFromWorldGen() -
setFromWorldGen
public void setFromWorldGen(boolean fromWorldGen) -
isCancelDelayedEffectsOnExit
public boolean isCancelDelayedEffectsOnExit() -
setCancelDelayedEffectsOnExit
public void setCancelDelayedEffectsOnExit(boolean cancelDelayedEffectsOnExit) -
getActivationDelay
public float getActivationDelay() -
setActivationDelay
public void setActivationDelay(float activationDelay) -
getCooldown
public float getCooldown() -
setCooldown
public void setCooldown(float cooldown) -
getCooldownMode
-
setCooldownMode
-
isOnCooldown
Returns whether this volume is still cooling down for the given entity. Expired per-entity cooldown entries are evicted here so they don't accumulate forever. -
recordActivation
Records the timestamp used by cooldown checks after activation. Volumes without a cooldown intentionally leave no bookkeeping behind. -
isPendingDestroy
public boolean isPendingDestroy() -
markPendingDestroy
public void markPendingDestroy() -
getExpiresAt
-
setExpiresAt
-
isExpired
Returns whether this volume has an expiry that has elapsed as ofnow. Volumes without an expiry never report as expired. -
getEffectAssetRef
-
setEffectAssetRef
-
getGroupId
-
setGroupId
-
getColor
@Nullable public org.joml.Vector3f getColor() -
setColor
public void setColor(@Nullable org.joml.Vector3f color) -
getRawTags
-
setTags
-
getExpandedTagIndexes
@Nonnull public it.unimi.dsi.fastutil.ints.IntSet getExpandedTagIndexes() -
setExpandedTagIndexes
public void setExpandedTagIndexes(@Nonnull it.unimi.dsi.fastutil.ints.IntSet expandedTagIndexes) -
hasTag
public boolean hasTag(int tagIndex) -
getTrackedEntities
-
getLastFireTimes
@Nonnull public it.unimi.dsi.fastutil.objects.Object2LongMap<VolumeEntry.EffectEntityKey> getLastFireTimes() -
isVolumeActivated
-
markVolumeActivated
-
markVolumeActivationPending
-
clearVolumeActivationPending
-
markVolumeTickRejectionFired
-
isGroupActivated
-
markGroupActivated
-
markGroupActivationPending
-
clearGroupActivationPending
-
clearGroupActivationState
-
markGroupTickRejectionFired
-
markDelayedEffectPending
-
clearDelayedEffectPending
-
clearEntityRuntimeState
-