aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/events/WorldKeyboardEvent.kt
blob: 1d6a758588c5f6df1985c8f7c98538a49ca117f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package moe.nea.firmament.events

import net.minecraft.client.option.KeyBinding
import moe.nea.firmament.keybindings.IKeyBinding

data class WorldKeyboardEvent(val keyCode: Int, val scanCode: Int, val modifiers: Int) : FirmamentEvent.Cancellable() {
	companion object : FirmamentEventBus<WorldKeyboardEvent>()

	fun matches(keyBinding: KeyBinding): Boolean {
		return matches(IKeyBinding.minecraft(keyBinding))
	}

	fun matches(keyBinding: IKeyBinding, atLeast: Boolean = false): Boolean {
		return if (atLeast) keyBinding.matchesAtLeast(keyCode, scanCode, modifiers) else
			keyBinding.matches(keyCode, scanCode, modifiers)
	}
}