diff options
author | Thunderblade73 <85900443+Thunderblade73@users.noreply.github.com> | 2024-06-10 03:11:42 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-10 03:11:42 +0200 |
commit | 1fe45f026afeff9d87107380bf8c4cf58051b29f (patch) | |
tree | 362a2d3cf9f0e1c4dbfabb710cd51ab0c7c11ee3 /src/main/java/at/hannibal2/skyhanni/utils/KeyboardManager.kt | |
parent | b1ff611e4f764c5fba338571540f0ad2389994ac (diff) | |
download | skyhanni-1fe45f026afeff9d87107380bf8c4cf58051b29f.tar.gz skyhanni-1fe45f026afeff9d87107380bf8c4cf58051b29f.tar.bz2 skyhanni-1fe45f026afeff9d87107380bf8c4cf58051b29f.zip |
Backend: Graph Editor (#1454)
Co-authored-by: Cal <cwolfson58@gmail.com>
Co-authored-by: CalMWolfs <94038482+CalMWolfs@users.noreply.github.com>
Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com>
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils/KeyboardManager.kt')
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/utils/KeyboardManager.kt | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/KeyboardManager.kt b/src/main/java/at/hannibal2/skyhanni/utils/KeyboardManager.kt index c04057e72..9bf129be2 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/KeyboardManager.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/KeyboardManager.kt @@ -133,4 +133,43 @@ object KeyboardManager { } fun getKeyName(keyCode: Int): String = KeybindHelper.getKeyName(keyCode) + + object WasdInputMatrix : Iterable<KeyBinding> { + operator fun contains(keyBinding: KeyBinding) = when (keyBinding) { + w, a, s, d, up, down -> true + else -> false + } + + val w get() = Minecraft.getMinecraft().gameSettings.keyBindForward!! + val a get() = Minecraft.getMinecraft().gameSettings.keyBindLeft!! + val s get() = Minecraft.getMinecraft().gameSettings.keyBindBack!! + val d get() = Minecraft.getMinecraft().gameSettings.keyBindRight!! + + val up get() = Minecraft.getMinecraft().gameSettings.keyBindJump!! + val down get() = Minecraft.getMinecraft().gameSettings.keyBindSneak!! + + override fun iterator(): Iterator<KeyBinding> = + object : Iterator<KeyBinding> { + + var current = w + + override fun hasNext(): Boolean = + current != down + + override fun next(): KeyBinding { + return current.also { + current = when (it) { + w -> a + a -> s + s -> d + d -> up + up -> down + else -> throw java.lang.IndexOutOfBoundsException() + } + } + } + + } + + } } |