aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/events
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/events')
-rw-r--r--src/main/kotlin/events/HandledScreenKeyPressedEvent.kt44
1 files changed, 29 insertions, 15 deletions
diff --git a/src/main/kotlin/events/HandledScreenKeyPressedEvent.kt b/src/main/kotlin/events/HandledScreenKeyPressedEvent.kt
index 7ec2abb..183ec71 100644
--- a/src/main/kotlin/events/HandledScreenKeyPressedEvent.kt
+++ b/src/main/kotlin/events/HandledScreenKeyPressedEvent.kt
@@ -1,24 +1,38 @@
-
-
package moe.nea.firmament.events
import net.minecraft.client.gui.screen.ingame.HandledScreen
import net.minecraft.client.option.KeyBinding
import moe.nea.firmament.keybindings.IKeyBinding
-data class HandledScreenKeyPressedEvent(
- val screen: HandledScreen<*>,
- val keyCode: Int,
- val scanCode: Int,
- val modifiers: Int
-) : FirmamentEvent.Cancellable() {
- companion object : FirmamentEventBus<HandledScreenKeyPressedEvent>()
+sealed interface HandledScreenKeyEvent {
+ val screen: HandledScreen<*>
+ val keyCode: Int
+ val scanCode: Int
+ val modifiers: Int
+
+ fun matches(keyBinding: KeyBinding): Boolean {
+ return matches(IKeyBinding.minecraft(keyBinding))
+ }
- fun matches(keyBinding: KeyBinding): Boolean {
- return matches(IKeyBinding.minecraft(keyBinding))
- }
+ fun matches(keyBinding: IKeyBinding): Boolean {
+ return keyBinding.matches(keyCode, scanCode, modifiers)
+ }
+}
+
+data class HandledScreenKeyPressedEvent(
+ override val screen: HandledScreen<*>,
+ override val keyCode: Int,
+ override val scanCode: Int,
+ override val modifiers: Int
+) : FirmamentEvent.Cancellable(), HandledScreenKeyEvent {
+ companion object : FirmamentEventBus<HandledScreenKeyPressedEvent>()
+}
- fun matches(keyBinding: IKeyBinding): Boolean {
- return keyBinding.matches(keyCode, scanCode, modifiers)
- }
+data class HandledScreenKeyReleasedEvent(
+ override val screen: HandledScreen<*>,
+ override val keyCode: Int,
+ override val scanCode: Int,
+ override val modifiers: Int
+) : FirmamentEvent.Cancellable(), HandledScreenKeyEvent {
+ companion object : FirmamentEventBus<HandledScreenKeyReleasedEvent>()
}