34 lines
1.1 KiB
Kotlin
34 lines
1.1 KiB
Kotlin
package net.airgame.compose.ui.client
|
|
|
|
import net.airgame.compose.ui.client.screen.ComposeScreen
|
|
import net.fabricmc.api.ClientModInitializer
|
|
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents
|
|
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper
|
|
import net.minecraft.client.option.KeyBinding
|
|
import net.minecraft.client.util.InputUtil
|
|
import org.slf4j.Logger
|
|
import org.slf4j.LoggerFactory
|
|
|
|
class ComposeUiMod : ClientModInitializer {
|
|
companion object {
|
|
val logger: Logger = LoggerFactory.getLogger("ComposeUiMod")
|
|
}
|
|
|
|
private val key = KeyBinding("测试", InputUtil.GLFW_KEY_G, "测试")
|
|
|
|
override fun onInitializeClient() {
|
|
KeyBindingHelper.registerKeyBinding(key)
|
|
ClientTickEvents.END_CLIENT_TICK.register(ClientTickEvents.EndTick { client ->
|
|
if (key.wasPressed()) {
|
|
val screen = ComposeScreen {
|
|
CenterUI {
|
|
TestUI()
|
|
}
|
|
}
|
|
client.setScreen(screen)
|
|
return@EndTick
|
|
}
|
|
})
|
|
}
|
|
}
|