SnowyGUI/common/src/main/kotlin/fr/username404/snowygui/misc/AddKeyMaps.kt

25 lines
1.0 KiB
Kotlin

package fr.username404.snowygui.misc
import com.mojang.blaze3d.platform.InputConstants
import fr.username404.snowygui.ClickGui
import fr.username404.snowygui.config.SnowyConfigScreen
import net.minecraft.client.KeyMapping
import net.minecraft.client.Minecraft
import org.lwjgl.glfw.GLFW.GLFW_KEY_U
import org.lwjgl.glfw.GLFW.GLFW_KEY_Y
private typealias privLambda = (() -> Unit)?
object AddKeyMaps {
private const val prefix = "snowy"
@JvmOverloads
internal fun mkMap(translationSuffix: String, key: Int, category: String = "keycategory", lambda: privLambda = null): Pair<KeyMapping, privLambda> {
return KeyMapping(
"key.$prefix.$translationSuffix", InputConstants.Type.KEYSYM,
key, "category.$prefix.$category"
) to lambda
}
val list: MutableMap<KeyMapping, (() -> Unit)?> = mutableMapOf(
mkMap("opengui", GLFW_KEY_Y) { Minecraft.getInstance().setScreen(ClickGui()) },
mkMap("configkey", GLFW_KEY_U) { Minecraft.getInstance().setScreen(SnowyConfigScreen()) }
)
}