Contents
- Description
- Nested Class Summary
- Constructor Summary
- Method Summary
- Constructor Details
- Method Details
- schedule(TriggerEffect, Ref, UUID, TriggerEventType, VolumeEntry, long, float, List, DelayedEffectScheduler.ScheduledEffectCallback, Store, TriggerVolumeManager.PendingTriggerEvent)
- scheduleGate(DelayedEffectScheduler.ScheduledGateAction, Ref, UUID, TriggerEventType, VolumeEntry, long, float, List)
- scheduleGate(DelayedEffectScheduler.ScheduledGateAction, Ref, UUID, TriggerEventType, VolumeEntry, long, float, List, Object)
- tick(long, Store)
- cancelForEntity(UUID)
- cancelNonExitForEntityInVolume(UUID, VolumeEntry)
- cancelForVolume(VolumeEntry)
- cancelGates(UUID, Object)
- isEmpty()
Class DelayedEffectScheduler
java.lang.Object
com.hypixel.hytale.builtin.triggervolumes.system.DelayedEffectScheduler
Manages delayed execution of trigger volume effects. Effects with a combined
activation delay (volume + per-effect) are enqueued and executed once the
scheduled time arrives.
All deadlines are measured against the world simulation clock
(TriggerVolumeManager.getNowNanos()), not wall time, so a paused world holds every
pending effect in place instead of releasing them all at once on resume.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfacestatic interface -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcancelForEntity(UUID entityUuid) voidcancelForVolume(VolumeEntry volume) voidcancelGates(UUID entityUuid, Object gateKey) Cancels pending gates scheduled with the given key for an entity, regardless of volume.voidcancelNonExitForEntityInVolume(UUID entityUuid, VolumeEntry volume) Cancels pending ENTER/TICK delayed effects for an entity when they leave a volume, without cancelling EXIT effects that were just scheduled with a delay.booleanisEmpty()voidschedule(TriggerEffect effect, Ref<EntityStore> entityRef, UUID entityUuid, TriggerEventType eventType, VolumeEntry volume, long nowNanos, float delaySeconds, List<VolumeEntry> spatialVolumes, DelayedEffectScheduler.ScheduledEffectCallback callback, Store<EntityStore> store, TriggerVolumeManager.PendingTriggerEvent eventData) voidscheduleGate(DelayedEffectScheduler.ScheduledGateAction action, Ref<EntityStore> entityRef, UUID entityUuid, TriggerEventType eventType, VolumeEntry volume, long nowNanos, float delaySeconds, List<VolumeEntry> spatialVolumes) voidscheduleGate(DelayedEffectScheduler.ScheduledGateAction action, Ref<EntityStore> entityRef, UUID entityUuid, TriggerEventType eventType, VolumeEntry volume, long nowNanos, float delaySeconds, List<VolumeEntry> spatialVolumes, Object gateKey) Variant carrying agateKeyso a newer gate can supersede pending ones for the same entity viacancelGates(UUID, Object).voidtick(long nowNanos, Store<EntityStore> store)
-
Constructor Details
-
DelayedEffectScheduler
public DelayedEffectScheduler()
-
-
Method Details
-
schedule
public void schedule(@Nonnull TriggerEffect effect, @Nullable Ref<EntityStore> entityRef, @Nonnull UUID entityUuid, @Nonnull TriggerEventType eventType, @Nonnull VolumeEntry volume, long nowNanos, float delaySeconds, @Nullable List<VolumeEntry> spatialVolumes, @Nullable DelayedEffectScheduler.ScheduledEffectCallback callback, @Nonnull Store<EntityStore> store, @Nullable TriggerVolumeManager.PendingTriggerEvent eventData) -
scheduleGate
public void scheduleGate(@Nonnull DelayedEffectScheduler.ScheduledGateAction action, @Nonnull Ref<EntityStore> entityRef, @Nonnull UUID entityUuid, @Nonnull TriggerEventType eventType, @Nonnull VolumeEntry volume, long nowNanos, float delaySeconds, @Nullable List<VolumeEntry> spatialVolumes) -
scheduleGate
public void scheduleGate(@Nonnull DelayedEffectScheduler.ScheduledGateAction action, @Nonnull Ref<EntityStore> entityRef, @Nonnull UUID entityUuid, @Nonnull TriggerEventType eventType, @Nonnull VolumeEntry volume, long nowNanos, float delaySeconds, @Nullable List<VolumeEntry> spatialVolumes, @Nullable Object gateKey) Variant carrying agateKeyso a newer gate can supersede pending ones for the same entity viacancelGates(UUID, Object). -
tick
-
cancelForEntity
-
cancelNonExitForEntityInVolume
Cancels pending ENTER/TICK delayed effects for an entity when they leave a volume, without cancelling EXIT effects that were just scheduled with a delay. -
cancelForVolume
-
cancelGates
-
isEmpty
public boolean isEmpty()
-