Class ReactorBukkitScheduler
java.lang.Object
io.github.simplexdevelopment.scheduler.ReactorBukkitScheduler
- All Implemented Interfaces:
reactor.core.Disposable,reactor.core.scheduler.Scheduler,reactor.core.scheduler.Scheduler.Worker
public final class ReactorBukkitScheduler
extends Object
implements reactor.core.scheduler.Scheduler, reactor.core.scheduler.Scheduler.Worker
An abstraction layer over the
BukkitScheduler to allow for the use as a Scheduler.
This will allow us to perform non-blocking operations on the main server thread.-
Nested Class Summary
Nested classes/interfaces inherited from interface reactor.core.Disposable
reactor.core.Disposable.Composite, reactor.core.Disposable.SwapNested classes/interfaces inherited from interface reactor.core.scheduler.Scheduler
reactor.core.scheduler.Scheduler.Worker -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription@NotNull reactor.core.scheduler.Scheduler.WorkerA newScheduler.Worker.voiddispose()Deprecated.@NotNull reactor.core.DisposableDelegates to theBukkitScheduler.@NotNull reactor.core.DisposableDelegates to theBukkitSchedulerwith a delay.@NotNull reactor.core.DisposableschedulePeriodically(@NotNull Runnable task, long initialDelay, long period, @Nullable TimeUnit unit) Delegates to theBukkitSchedulerwith a delay and a period.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface reactor.core.Disposable
isDisposedMethods inherited from interface reactor.core.scheduler.Scheduler
disposeGracefully, now, start
-
Field Details
-
plugin
private final org.bukkit.plugin.java.JavaPlugin pluginThe plugin instance. -
scheduler
private final org.bukkit.scheduler.BukkitScheduler schedulerThe bukkit scheduler.
-
-
Constructor Details
-
ReactorBukkitScheduler
public ReactorBukkitScheduler(org.bukkit.plugin.java.JavaPlugin plugin)
-
-
Method Details
-
schedule
Delegates to theBukkitScheduler.- Specified by:
schedulein interfacereactor.core.scheduler.Scheduler- Specified by:
schedulein interfacereactor.core.scheduler.Scheduler.Worker- Parameters:
task- The task to delegate.- Returns:
- A disposable that can be used to cancel the task.
-
schedule
@NotNull public @NotNull reactor.core.Disposable schedule(@NotNull @NotNull Runnable task, long delay, @Deprecated @Nullable @Nullable TimeUnit unit) Delegates to theBukkitSchedulerwith a delay.- Specified by:
schedulein interfacereactor.core.scheduler.Scheduler- Specified by:
schedulein interfacereactor.core.scheduler.Scheduler.Worker- Parameters:
task- The task to delegatedelay- The amount of time to wait before running the taskunit- Unused parameter in this implementation. Regardless of what value you use, this parameter will never be called.- Returns:
- A disposable that can be used to cancel the task.
-
schedulePeriodically
@NotNull public @NotNull reactor.core.Disposable schedulePeriodically(@NotNull @NotNull Runnable task, long initialDelay, long period, @Deprecated @Nullable @Nullable TimeUnit unit) Delegates to theBukkitSchedulerwith a delay and a period. The initial delay may be 0L, but the period must be greater than 0L.- Specified by:
schedulePeriodicallyin interfacereactor.core.scheduler.Scheduler- Specified by:
schedulePeriodicallyin interfacereactor.core.scheduler.Scheduler.Worker- Parameters:
task- The task to delegate.initialDelay- The amount of time to wait before running the task.period- The amount of time to wait between each execution of the task.unit- Unused parameter in this implementation. Regardless of what value you use, this parameter will never be called.- Returns:
- A disposable that can be used to cancel the task.
-
createWorker
@NotNull public @NotNull reactor.core.scheduler.Scheduler.Worker createWorker()A newScheduler.Worker.- Specified by:
createWorkerin interfacereactor.core.scheduler.Scheduler- Returns:
- This class instance, as it implements
Scheduler.Worker.
-
dispose
Deprecated.This method does nothing and is unused.- Specified by:
disposein interfacereactor.core.Disposable- Specified by:
disposein interfacereactor.core.scheduler.Scheduler
-