mirror of
https://github.com/neoforged/NeoForge.git
synced 2026-10-12 02:19:42 +00:00
Co-Authored-By: Dennis C <[email protected]> Co-Authored-By: RogueLogix <[email protected]>
48 lines
2.4 KiB
Diff
48 lines
2.4 KiB
Diff
--- a/net/minecraft/client/KeyboardHandler.java
|
|
+++ b/net/minecraft/client/KeyboardHandler.java
|
|
@@ -501,7 +_,11 @@
|
|
if (screen != null) {
|
|
try {
|
|
if (action != 1 && action != 2) {
|
|
- if (action == 0 && screen.keyReleased(event)) {
|
|
+ if (action == 0 && (
|
|
+ net.neoforged.neoforge.client.ClientHooks.onScreenKeyReleasedPre(screen, event) ||
|
|
+ screen.keyReleased(event) ||
|
|
+ net.neoforged.neoforge.client.ClientHooks.onScreenKeyReleasedPost(screen, event))
|
|
+ ) {
|
|
if (options.keyDebugModifier.matches(event)) {
|
|
this.usedDebugKeyAsModifier = false;
|
|
}
|
|
@@ -510,7 +_,11 @@
|
|
}
|
|
} else {
|
|
screen.afterKeyboardAction();
|
|
- if (screen.keyPressed(event)) {
|
|
+ if (
|
|
+ net.neoforged.neoforge.client.ClientHooks.onScreenKeyPressedPre(screen, event) ||
|
|
+ screen.keyPressed(event) ||
|
|
+ net.neoforged.neoforge.client.ClientHooks.onScreenKeyPressedPost(screen, event)
|
|
+ ) {
|
|
if (this.minecraft.gui.screen() == null) {
|
|
InputConstants.Key key = InputConstants.getKey(event);
|
|
KeyMapping.set(key, false);
|
|
@@ -582,6 +_,7 @@
|
|
}
|
|
}
|
|
}
|
|
+ net.neoforged.neoforge.client.ClientHooks.onKeyInput(event, action);
|
|
}
|
|
}
|
|
|
|
@@ -590,7 +_,9 @@
|
|
Screen screen = this.minecraft.gui.screen();
|
|
if (screen != null && this.minecraft.gui.overlay() == null) {
|
|
try {
|
|
- screen.charTyped(event);
|
|
+ if (net.neoforged.neoforge.client.ClientHooks.onScreenCharTypedPre(screen, event)) return;
|
|
+ if (screen.charTyped(event)) return;
|
|
+ net.neoforged.neoforge.client.ClientHooks.onScreenCharTypedPost(screen, event);
|
|
} catch (Throwable t) {
|
|
CrashReport report = CrashReport.forThrowable(t, "charTyped event handler");
|
|
screen.fillCrashDetails(report);
|