mirror of
https://github.com/neoforged/NeoForge.git
synced 2026-10-11 22:29:51 +00:00
Co-authored-by: XFactHD <[email protected]> Co-authored-by: Technici4n <[email protected]> Co-authored-by: sciwhiz12 <[email protected]> Co-authored-by: Matyrobbrt <[email protected]> Co-authored-by: Marc Hermans <[email protected]> Co-authored-by: Sara Freimer <[email protected]>
59 lines
3.2 KiB
Diff
59 lines
3.2 KiB
Diff
--- a/net/minecraft/client/KeyboardHandler.java
|
|
+++ b/net/minecraft/client/KeyboardHandler.java
|
|
@@ -496,7 +_,11 @@
|
|
if (screen != null) {
|
|
try {
|
|
if (action != 1 && action != -1) {
|
|
- 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;
|
|
}
|
|
@@ -505,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);
|
|
@@ -578,6 +_,7 @@
|
|
}
|
|
}
|
|
}
|
|
+ net.neoforged.neoforge.client.ClientHooks.onKeyInput(event, action);
|
|
}
|
|
}
|
|
|
|
@@ -586,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");
|
|
CrashReportCategory keyDetails = report.addCategory("Key");
|
|
@@ -618,7 +_,9 @@
|
|
|
|
public static void submitPreeditEvent(GuiEventListener element, @Nullable PreeditEvent event) {
|
|
try {
|
|
- element.preeditUpdated(event);
|
|
+ if (element instanceof Screen screen && net.neoforged.neoforge.client.ClientHooks.onScreenPreeditPre(screen, event)) return;
|
|
+ if (element.preeditUpdated(event)) return;
|
|
+ if (element instanceof Screen screen) net.neoforged.neoforge.client.ClientHooks.onScreenPreeditPost(screen, event);
|
|
} catch (Throwable t) {
|
|
CrashReport report = CrashReport.forThrowable(t, "IME pre-edit event handler");
|
|
CrashReportCategory keyDetails = report.addCategory("Event");
|