Add price checker
This commit is contained in:
27
src/main/kotlin/moe/nea/firmament/keybindings/IKeyBinding.kt
Normal file
27
src/main/kotlin/moe/nea/firmament/keybindings/IKeyBinding.kt
Normal file
@@ -0,0 +1,27 @@
|
||||
package moe.nea.firmament.keybindings
|
||||
|
||||
import net.minecraft.client.option.KeyBinding
|
||||
|
||||
interface IKeyBinding {
|
||||
fun matches(keyCode: Int, scanCode: Int, modifiers: Int): Boolean
|
||||
|
||||
fun withModifiers(wantedModifiers: Int): IKeyBinding {
|
||||
val old = this
|
||||
return object : IKeyBinding {
|
||||
override fun matches(keyCode: Int, scanCode: Int, modifiers: Int): Boolean {
|
||||
return old.matches(keyCode, scanCode, modifiers) && (modifiers and wantedModifiers) == wantedModifiers
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
fun minecraft(keyBinding: KeyBinding) = object : IKeyBinding {
|
||||
override fun matches(keyCode: Int, scanCode: Int, modifiers: Int) =
|
||||
keyBinding.matchesKey(keyCode, scanCode)
|
||||
}
|
||||
|
||||
fun ofKeyCode(wantedKeyCode: Int) = object : IKeyBinding {
|
||||
override fun matches(keyCode: Int, scanCode: Int, modifiers: Int): Boolean = keyCode == wantedKeyCode
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user