aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/events/HandledScreenKeyPressedEvent.kt
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2024-10-18 00:41:25 +0200
committerLinnea Gräf <nea@nea.moe>2024-10-18 14:36:51 +0200
commitc89b663acad487caeb15f7521be3dd14342dd4e7 (patch)
treeae21daabaf5de1ac5281509c6fa9446259169ae5 /src/main/kotlin/events/HandledScreenKeyPressedEvent.kt
parent7de0e8e7e09e3428c17ca9717c21c02469c31b76 (diff)
downloadFirmament-c89b663acad487caeb15f7521be3dd14342dd4e7.tar.gz
Firmament-c89b663acad487caeb15f7521be3dd14342dd4e7.tar.bz2
Firmament-c89b663acad487caeb15f7521be3dd14342dd4e7.zip
Add slot binding
Diffstat (limited to 'src/main/kotlin/events/HandledScreenKeyPressedEvent.kt')
-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>()
}