Fix CustomizeGuiOverlayEvent crash

This commit is contained in:
shedaniel
2023-11-19 02:59:27 +08:00
parent 09e04e0cc6
commit 426ca41331
4 changed files with 37 additions and 2 deletions

View File

@@ -93,8 +93,8 @@ public class EventHandlerImplClient {
@SubscribeEvent(priority = EventPriority.HIGH)
public static void eventRenderGameOverlayEvent(CustomizeGuiOverlayEvent.DebugText event) {
if (Minecraft.getInstance().gui.getDebugOverlay().showDebugScreen()) {
ClientGuiEvent.DEBUG_TEXT_LEFT.invoker().gatherText(event.getLeft());
ClientGuiEvent.DEBUG_TEXT_RIGHT.invoker().gatherText(event.getRight());
ClientGuiEvent.DEBUG_TEXT_LEFT.invoker().gatherText(ForgeLikeClientHooks.getLeft(event));
ClientGuiEvent.DEBUG_TEXT_RIGHT.invoker().gatherText(ForgeLikeClientHooks.getRight(event));
}
}

View File

@@ -20,10 +20,13 @@
package dev.architectury.hooks.forgelike;
import dev.architectury.injectables.annotations.ExpectPlatform;
import net.minecraftforge.client.event.CustomizeGuiOverlayEvent;
import net.minecraftforge.client.event.InputEvent;
import net.minecraftforge.client.event.ScreenEvent;
import org.jetbrains.annotations.ApiStatus;
import java.util.List;
@ApiStatus.Internal
public class ForgeLikeClientHooks {
@ExpectPlatform
@@ -40,4 +43,14 @@ public class ForgeLikeClientHooks {
public static void inputMouseScroll(InputEvent.MouseScrollingEvent event) {
throw new AssertionError();
}
@ExpectPlatform
public static List<String> getLeft(CustomizeGuiOverlayEvent.DebugText event) {
throw new AssertionError();
}
@ExpectPlatform
public static List<String> getRight(CustomizeGuiOverlayEvent.DebugText event) {
throw new AssertionError();
}
}

View File

@@ -22,9 +22,12 @@ package dev.architectury.hooks.forgelike.forge;
import dev.architectury.event.events.client.ClientRawInputEvent;
import dev.architectury.event.events.client.ClientScreenInputEvent;
import net.minecraft.client.Minecraft;
import net.minecraftforge.client.event.CustomizeGuiOverlayEvent;
import net.minecraftforge.client.event.InputEvent;
import net.minecraftforge.client.event.ScreenEvent;
import java.util.List;
public class ForgeLikeClientHooksImpl {
public static void preMouseScroll(ScreenEvent.MouseScrolled.Pre event) {
if (ClientScreenInputEvent.MOUSE_SCROLLED_PRE.invoker().mouseScrolled(Minecraft.getInstance(), event.getScreen(), event.getMouseX(), event.getMouseY(), event.getDeltaX(), event.getDeltaY()).isFalse()) {
@@ -41,4 +44,12 @@ public class ForgeLikeClientHooksImpl {
event.setCanceled(true);
}
}
public static List<String> getLeft(CustomizeGuiOverlayEvent.DebugText event) {
return event.getLeft();
}
public static List<String> getRight(CustomizeGuiOverlayEvent.DebugText event) {
return event.getRight();
}
}

View File

@@ -22,9 +22,12 @@ package dev.architectury.hooks.forgelike.forge;
import dev.architectury.event.events.client.ClientRawInputEvent;
import dev.architectury.event.events.client.ClientScreenInputEvent;
import net.minecraft.client.Minecraft;
import net.neoforged.neoforge.client.event.CustomizeGuiOverlayEvent;
import net.neoforged.neoforge.client.event.InputEvent;
import net.neoforged.neoforge.client.event.ScreenEvent;
import java.util.List;
public class ForgeLikeClientHooksImpl {
public static void preMouseScroll(ScreenEvent.MouseScrolled.Pre event) {
if (ClientScreenInputEvent.MOUSE_SCROLLED_PRE.invoker().mouseScrolled(Minecraft.getInstance(), event.getScreen(), event.getMouseX(), event.getMouseY(), event.getScrollDeltaX(), event.getScrollDeltaY()).isFalse()) {
@@ -41,4 +44,12 @@ public class ForgeLikeClientHooksImpl {
event.setCanceled(true);
}
}
public static List<String> getLeft(CustomizeGuiOverlayEvent.DebugText event) {
return event.getLeft();
}
public static List<String> getRight(CustomizeGuiOverlayEvent.DebugText event) {
return event.getRight();
}
}