aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2020-04-19 23:06:44 +0800
committershedaniel <daniel@shedaniel.me>2020-04-19 23:06:44 +0800
commitf1c9330818037365503f5eb6bce5c09d1d1a045d (patch)
treec3bb61a348cb597be6db880b00087aaa97f2f4ce /src/main
parentc1f14ed94f2dcc40008099e3abc4b0eaa5dd05cf (diff)
downloadRoughlyEnoughItems-f1c9330818037365503f5eb6bce5c09d1d1a045d.tar.gz
RoughlyEnoughItems-f1c9330818037365503f5eb6bce5c09d1d1a045d.tar.bz2
RoughlyEnoughItems-f1c9330818037365503f5eb6bce5c09d1d1a045d.zip
Trying to fix 313
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java25
1 files changed, 15 insertions, 10 deletions
diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
index 7b49e7e37..25d5c716f 100644
--- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
+++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
@@ -284,6 +284,11 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer {
}
}
+ private boolean shouldReturn(Screen screen) {
+ if (screen == null) return true;
+ return shouldReturn(screen.getClass());
+ }
+
private boolean shouldReturn(Class<?> screen) {
try {
for (OverlayDecider decider : DisplayHelper.getInstance().getAllOverlayDeciders()) {
@@ -309,9 +314,9 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer {
return ActionResult.PASS;
});
ClothClientHooks.SCREEN_INIT_POST.register((minecraftClient, screen, screenHooks) -> {
- if (screen instanceof InventoryScreen && minecraftClient.interactionManager.hasCreativeInventory())
+ if (shouldReturn(screen))
return;
- if (shouldReturn(screen.getClass()))
+ if (screen instanceof InventoryScreen && minecraftClient.interactionManager.hasCreativeInventory())
return;
if (screen instanceof HandledScreen)
ScreenHelper.setLastHandledScreen((HandledScreen<?>) screen);
@@ -326,12 +331,12 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer {
screenHooks.cloth_getChildren().add(ScreenHelper.getLastOverlay(true, false));
});
ClothClientHooks.SCREEN_RENDER_POST.register((minecraftClient, screen, i, i1, v) -> {
- if (shouldReturn(screen.getClass()))
+ if (shouldReturn(screen))
return;
ScreenHelper.getLastOverlay().render(i, i1, v);
});
ClothClientHooks.SCREEN_MOUSE_DRAGGED.register((minecraftClient, screen, v, v1, i, v2, v3) -> {
- if (shouldReturn(screen.getClass()))
+ if (shouldReturn(screen))
return ActionResult.PASS;
if (ScreenHelper.isOverlayVisible() && ScreenHelper.getLastOverlay().mouseDragged(v, v1, i, v2, v3))
return ActionResult.SUCCESS;
@@ -353,30 +358,30 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer {
return ActionResult.PASS;
});
ClothClientHooks.SCREEN_MOUSE_SCROLLED.register((minecraftClient, screen, v, v1, v2) -> {
- if (shouldReturn(screen.getClass()))
+ if (shouldReturn(screen))
return ActionResult.PASS;
if (ScreenHelper.isOverlayVisible() && ScreenHelper.getLastOverlay().mouseScrolled(v, v1, v2))
return ActionResult.SUCCESS;
return ActionResult.PASS;
});
ClothClientHooks.SCREEN_CHAR_TYPED.register((minecraftClient, screen, character, keyCode) -> {
- if (shouldReturn(screen.getClass()))
+ if (shouldReturn(screen))
return ActionResult.PASS;
if (ScreenHelper.getLastOverlay().charTyped(character, keyCode))
return ActionResult.SUCCESS;
return ActionResult.PASS;
});
ClothClientHooks.SCREEN_LATE_RENDER.register((minecraftClient, screen, i, i1, v) -> {
- if (!ScreenHelper.isOverlayVisible())
+ if (shouldReturn(screen))
return;
- if (shouldReturn(screen.getClass()))
+ if (!ScreenHelper.isOverlayVisible())
return;
ScreenHelper.getLastOverlay().lateRender(i, i1, v);
});
ClothClientHooks.SCREEN_KEY_PRESSED.register((minecraftClient, screen, i, i1, i2) -> {
- if (screen.getFocused() != null && screen.getFocused() instanceof TextFieldWidget || (screen.getFocused() instanceof RecipeBookWidget && ((RecipeBookWidget) screen.getFocused()).searchField != null && ((RecipeBookWidget) screen.getFocused()).searchField.isFocused()))
+ if (shouldReturn(screen))
return ActionResult.PASS;
- if (shouldReturn(screen.getClass()))
+ if (screen.getFocused() != null && screen.getFocused() instanceof TextFieldWidget || (screen.getFocused() instanceof RecipeBookWidget && ((RecipeBookWidget) screen.getFocused()).searchField != null && ((RecipeBookWidget) screen.getFocused()).searchField.isFocused()))
return ActionResult.PASS;
if (ScreenHelper.getLastOverlay().keyPressed(i, i1, i2))
return ActionResult.SUCCESS;