Files
Firmament/src/main/kotlin/moe/nea/notenoughupdates/util/MinecraftDispatcher.kt
nea ec66c82198 Move Eventhandling around.
I still want to use fabric still "array backed" events, but these here are just a bit easier to use from kotlin.
2022-09-10 03:48:03 +02:00

23 lines
791 B
Kotlin

package moe.nea.notenoughupdates.util
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.Runnable
import kotlin.coroutines.CoroutineContext
import net.minecraft.client.MinecraftClient
object MinecraftDispatcher : CoroutineDispatcher() {
@ExperimentalCoroutinesApi
override fun limitedParallelism(parallelism: Int): CoroutineDispatcher {
throw UnsupportedOperationException("limitedParallelism is not supported for MinecraftDispatcher")
}
override fun isDispatchNeeded(context: CoroutineContext): Boolean =
!MinecraftClient.getInstance().isOnThread
override fun dispatch(context: CoroutineContext, block: Runnable) {
MinecraftClient.getInstance().execute(block)
}
}