diff options
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/blockvisitor/WorktimeLimiter.kt')
-rw-r--r-- | src/main/kotlin/io/dico/parcels2/blockvisitor/WorktimeLimiter.kt | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/main/kotlin/io/dico/parcels2/blockvisitor/WorktimeLimiter.kt b/src/main/kotlin/io/dico/parcels2/blockvisitor/WorktimeLimiter.kt index 30eaabd..ea4db62 100644 --- a/src/main/kotlin/io/dico/parcels2/blockvisitor/WorktimeLimiter.kt +++ b/src/main/kotlin/io/dico/parcels2/blockvisitor/WorktimeLimiter.kt @@ -122,8 +122,14 @@ class TickWorktimeLimiter(private val plugin: ParcelsPlugin, var options: TickWo override fun submit(task: TimeLimitedTask): Worker { val worker: WorkerContinuation = WorkerImpl(plugin.functionHelper, task) + + if (bukkitTask == null) { + val completed = worker.resume(options.workTime.toLong()) + if (completed) return worker + bukkitTask = plugin.functionHelper.scheduleRepeating(0, options.tickInterval) { tickJobs() } + } + _workers.addFirst(worker) - if (bukkitTask == null) bukkitTask = plugin.functionHelper.scheduleRepeating(0, options.tickInterval) { tickJobs() } return worker } |