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.
This commit is contained in:
nea
2022-09-10 03:48:03 +02:00
parent d9353ff54c
commit ec66c82198
13 changed files with 149 additions and 44 deletions

View File

@@ -0,0 +1,22 @@
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)
}
}