Interface ScheduledUpdateList<T>

Type Parameters:
T - The type of update objects that are being scheduled

public interface ScheduledUpdateList<T>
A tick based priority scheduled list targeting specific types of objects that need to be ticked. In common cases, there's either a BlockType or FluidType being ticked.
  • Method Details

    • schedule

      default ScheduledUpdate<T> schedule(Vector3i pos, T target, int delay, TemporalUnit temporalUnit)
      Schedules a new update at the desired position with the provided delay.
      Parameters:
      pos - The position
      target - The target
      delay - The delay
      temporalUnit - The unit of the delay
      Returns:
      The scheduled update
    • schedule

      default ScheduledUpdate<T> schedule(Vector3i pos, T target, Duration delay)
      Schedules a new update with the given T object for a desired Duration
      Parameters:
      pos - The position
      target - The target
      delay - The delay with a duration
      Returns:
      The scheduled update
    • schedule

      default ScheduledUpdate<T> schedule(int x, int y, int z, T target, int delay, TemporalUnit temporalUnit)
      Schedules a new update for the desired target
      Parameters:
      x - The x coordinate
      y - The y coordinate
      z - The z coordinate
      target - The target object
      delay - The delay
      temporalUnit - The unit of time
      Returns:
      The scheduled update
    • schedule

      default ScheduledUpdate<T> schedule(int x, int y, int z, T target, Duration delay)
      Parameters:
      x - The x coordinate
      y - The y coordinate
      z - The z coordinate
      target - The target
      delay - The delay
      Returns:
      The scheduled update
    • schedule

      default ScheduledUpdate<T> schedule(Vector3i pos, T target, int delay, TemporalUnit temporalUnit, TaskPriority priority)
      Parameters:
      pos - The position
      target - The target
      delay - The delay
      temporalUnit - The unit of time
      priority - The priority of the scheduled update
      Returns:
      The scheduled update
    • schedule

      default ScheduledUpdate<T> schedule(Vector3i pos, T target, int delay, TemporalUnit temporalUnit, DefaultedRegistryReference<? extends TaskPriority> priority)
      Parameters:
      pos - The position
      target - The target
      delay - The delay
      temporalUnit - The unit of time
      priority - The priority of the scheduled update
      Returns:
      The scheduled update
    • schedule

      default ScheduledUpdate<T> schedule(Vector3i pos, T target, Duration delay, TaskPriority priority)
      Parameters:
      pos - The position
      target - The target
      delay - The delay
      priority - The priority of the scheduled update
      Returns:
      The scheduled update
    • schedule

      default ScheduledUpdate<T> schedule(Vector3i pos, T target, Duration delay, DefaultedRegistryReference<? extends TaskPriority> priority)
      Parameters:
      pos - The position
      target - The target
      delay - The delay
      priority - The priority of the scheduled update
      Returns:
      The scheduled update
    • schedule

      default ScheduledUpdate<T> schedule(int x, int y, int z, T target, int delay, TemporalUnit temporalUnit, TaskPriority priority)
      Parameters:
      x - The x coordinate
      y - The y coordinate
      z - The z coordinate
      target - The target
      delay - The delay
      temporalUnit - The unit of time
      priority - The priority of the scheduled update
      Returns:
      The scheduled update
    • schedule

      default ScheduledUpdate<T> schedule(int x, int y, int z, T target, int delay, TemporalUnit temporalUnit, DefaultedRegistryReference<? extends TaskPriority> priority)
      Parameters:
      x - The x coordinate
      y - The y coordinate
      z - The z coordinate
      target - The target
      delay - The delay
      temporalUnit - The unit of time
      priority - The priority of the scheduled update
      Returns:
      The scheduled update
    • schedule

      ScheduledUpdate<T> schedule(int x, int y, int z, T target, Duration delay, TaskPriority priority)
      Parameters:
      x - The x coordinate
      y - The y coordinate
      z - The z coordinate
      target - The target
      delay - The delay
      priority - The priority of the scheduled update
      Returns:
      The scheduled update
    • schedule

      default ScheduledUpdate<T> schedule(int x, int y, int z, T target, Ticks ticks, DefaultedRegistryReference<? extends TaskPriority> priority)
      Parameters:
      x - The x coordinate
      y - The y coordinate
      z - The z coordinate
      target - The target
      ticks - The delay, in Ticks
      priority - The priority of the scheduled update
      Returns:
      The scheduled update
      Throws:
      IllegalArgumentException - if the delay is infinite
    • schedule

      default ScheduledUpdate<T> schedule(int x, int y, int z, T target, Ticks delay)
      Parameters:
      x - The x coordinate
      y - The y coordinate
      z - The z coordinate
      target - The target
      delay - The delay
      Returns:
      The scheduled update
      Throws:
      IllegalArgumentException - if the delay is infinite
    • schedule

      default ScheduledUpdate<T> schedule(Vector3i pos, T target, Ticks delay)
      Parameters:
      pos - The position
      target - The target
      delay - The delay
      Returns:
      The scheduled update
      Throws:
      IllegalArgumentException - if the delay is infinite
    • schedule

      default ScheduledUpdate<T> schedule(Vector3i pos, T target, Ticks delay, TaskPriority priority)
      Parameters:
      pos - The position
      target - The target
      delay - The delay
      priority - The priority of the scheduled update
      Returns:
      The scheduled update
      Throws:
      IllegalArgumentException - if the delay is infinite
    • schedule

      default ScheduledUpdate<T> schedule(int x, int y, int z, T target, Duration delay, DefaultedRegistryReference<? extends TaskPriority> priority)
      Parameters:
      x - The x coordinate
      y - The y coordinate
      z - The z coordinate
      target - The target
      delay - The delay
      priority - The priority of the scheduled update
      Returns:
      The scheduled update
    • schedule

      ScheduledUpdate<T> schedule(int x, int y, int z, T target, Ticks delay, TaskPriority priority)
      Schedules a new update at the desired position after the specified number of Ticks.
      Parameters:
      x - The x coordinate
      y - The y coordinate
      z - The z coordinate
      target - The target
      delay - The delay, in Ticks
      priority - The priority of the scheduled update
      Returns:
      The scheduled update
      Throws:
      IllegalArgumentException - if the delay is infinite
    • isScheduled

      default boolean isScheduled(Vector3i pos, T target)
      Gets whether there's a scheduled update at the desired position with the provided target.
      Parameters:
      pos - The position
      target - The target
      Returns:
      True if there's an update scheduled
    • isScheduled

      boolean isScheduled(int x, int y, int z, T target)
      Parameters:
      x - The x coordinate
      y - The y coordinate
      z - The z coordinate
      target - The target
      Returns:
      True if there's an update scheduled
    • scheduledAt

      default Collection<? extends ScheduledUpdate<T>> scheduledAt(Vector3i pos)
      Parameters:
      pos - The position
      Returns:
      The collection of scheduled updates at the desired position
    • scheduledAt

      Collection<? extends ScheduledUpdate<T>> scheduledAt(int x, int y, int z)
      Gets a collection of scheduled updates at the desired position. There is no guarantee
      Parameters:
      x - The x coordinate
      y - The y coordinate
      z - The z coordinate
      Returns:
      The collection of scheduled updates at the desired position