Add ursa client

This commit is contained in:
nea
2023-08-15 19:34:56 +02:00
parent b32f5da88c
commit 8c5570bfe6
5 changed files with 95 additions and 20 deletions

View File

@@ -6,23 +6,7 @@
package moe.nea.firmament.util
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.Runnable
import kotlin.coroutines.CoroutineContext
import kotlinx.coroutines.asCoroutineDispatcher
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)
}
}
val MinecraftDispatcher by lazy { MinecraftClient.getInstance().asCoroutineDispatcher() }