更换至 Gradle
This commit is contained in:
22
src/main/scala/com/ilummc/tlibscala/ScalaTaskExecutor.scala
Normal file
22
src/main/scala/com/ilummc/tlibscala/ScalaTaskExecutor.scala
Normal file
@@ -0,0 +1,22 @@
|
||||
package com.ilummc.tlibscala
|
||||
|
||||
import org.bukkit.scheduler.BukkitRunnable
|
||||
|
||||
private[tlibscala] class ScalaTaskExecutor(task: => Any) extends BukkitRunnable {
|
||||
|
||||
override def run(): Unit = {
|
||||
try task catch {
|
||||
case _: CancelException => cancel()
|
||||
case e: Throwable => throw e
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
object ScalaTaskExecutor {
|
||||
def apply(task: => Any): ScalaTaskExecutor = new ScalaTaskExecutor(task)
|
||||
}
|
||||
|
||||
class CancelException extends RuntimeException {
|
||||
override def getMessage: String = "Uncaught cancel task signal! Any Task.cancel() should only be used in a Task."
|
||||
}
|
||||
Reference in New Issue
Block a user