aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin
diff options
context:
space:
mode:
authornea <nea@nea.moe>2023-09-04 16:28:00 +0200
committernea <nea@nea.moe>2023-09-04 16:53:06 +0200
commit19231489adc73aa7aa41c89ff90eaff6d9dd7bd4 (patch)
tree2e6271775891e83dd33b244065c8771a2344191b /src/main/kotlin
parentc912ee90d391c3a7c7f3535e7f3fd4a57caa2075 (diff)
downloadFirmament-19231489adc73aa7aa41c89ff90eaff6d9dd7bd4.tar.gz
Firmament-19231489adc73aa7aa41c89ff90eaff6d9dd7bd4.tar.bz2
Firmament-19231489adc73aa7aa41c89ff90eaff6d9dd7bd4.zip
Add chat peeking keybinding
Diffstat (limited to 'src/main/kotlin')
-rw-r--r--src/main/kotlin/moe/nea/firmament/features/fixes/Fixes.kt5
-rw-r--r--src/main/kotlin/moe/nea/firmament/keybindings/SavedKeyBinding.kt22
2 files changed, 18 insertions, 9 deletions
diff --git a/src/main/kotlin/moe/nea/firmament/features/fixes/Fixes.kt b/src/main/kotlin/moe/nea/firmament/features/fixes/Fixes.kt
index 1077f31..acf23ba 100644
--- a/src/main/kotlin/moe/nea/firmament/features/fixes/Fixes.kt
+++ b/src/main/kotlin/moe/nea/firmament/features/fixes/Fixes.kt
@@ -20,6 +20,7 @@ object Fixes : FirmamentFeature {
object TConfig : ManagedConfig(identifier) {
val fixUnsignedPlayerSkins by toggle("player-skins") { true }
val autoSprint by toggle("auto-sprint") { false }
+ val peekChat by keyBindingWithDefaultUnbound("peek-chat")
}
override val config: ManagedConfig
@@ -35,4 +36,8 @@ object Fixes : FirmamentFeature {
override fun onLoad() {
}
+
+ fun shouldPeekChat(): Boolean {
+ return TConfig.peekChat.isPressed(atLeast = true)
+ }
}
diff --git a/src/main/kotlin/moe/nea/firmament/keybindings/SavedKeyBinding.kt b/src/main/kotlin/moe/nea/firmament/keybindings/SavedKeyBinding.kt
index e538ff0..ac73366 100644
--- a/src/main/kotlin/moe/nea/firmament/keybindings/SavedKeyBinding.kt
+++ b/src/main/kotlin/moe/nea/firmament/keybindings/SavedKeyBinding.kt
@@ -6,11 +6,11 @@
package moe.nea.firmament.keybindings
-import org.lwjgl.glfw.GLFW
import kotlinx.serialization.Serializable
+import moe.nea.firmament.util.MC
import net.minecraft.client.MinecraftClient
import net.minecraft.client.util.InputUtil
-import moe.nea.firmament.util.MC
+import org.lwjgl.glfw.GLFW
@Serializable
data class SavedKeyBinding(
@@ -38,24 +38,28 @@ data class SavedKeyBinding(
}
}
- fun isPressed(): Boolean {
+ fun isPressed(atLeast: Boolean = false): Boolean {
if (this.keyCode == GLFW.GLFW_KEY_UNKNOWN) return false
val h = MC.window.handle
if (!InputUtil.isKeyPressed(h, keyCode)) return false
val ctrl = if (MinecraftClient.IS_SYSTEM_MAC) {
InputUtil.isKeyPressed(h, GLFW.GLFW_KEY_LEFT_SUPER)
- || InputUtil.isKeyPressed(h, GLFW.GLFW_KEY_RIGHT_SUPER)
+ || InputUtil.isKeyPressed(h, GLFW.GLFW_KEY_RIGHT_SUPER)
} else InputUtil.isKeyPressed(h, GLFW.GLFW_KEY_LEFT_CONTROL)
- || InputUtil.isKeyPressed(h, GLFW.GLFW_KEY_RIGHT_CONTROL)
+ || InputUtil.isKeyPressed(h, GLFW.GLFW_KEY_RIGHT_CONTROL)
val shift = InputUtil.isKeyPressed(h, GLFW.GLFW_KEY_LEFT_SHIFT)
- || InputUtil.isKeyPressed(h, GLFW.GLFW_KEY_RIGHT_SHIFT)
+ || InputUtil.isKeyPressed(h, GLFW.GLFW_KEY_RIGHT_SHIFT)
val alt = InputUtil.isKeyPressed(h, GLFW.GLFW_KEY_LEFT_ALT)
- || InputUtil.isKeyPressed(h, GLFW.GLFW_KEY_RIGHT_ALT)
+ || InputUtil.isKeyPressed(h, GLFW.GLFW_KEY_RIGHT_ALT)
+ if (atLeast)
+ return (ctrl >= this.ctrl) &&
+ (alt >= this.alt) &&
+ (shift >= this.shift)
return (ctrl == this.ctrl) &&
- (alt == this.alt) &&
- (shift == this.shift)
+ (alt == this.alt) &&
+ (shift == this.shift)
}
override fun matches(keyCode: Int, scanCode: Int, modifiers: Int): Boolean {