diff options
| author | shedaniel <daniel@shedaniel.me> | 2020-04-19 23:06:44 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2020-04-19 23:06:44 +0800 |
| commit | f1c9330818037365503f5eb6bce5c09d1d1a045d (patch) | |
| tree | c3bb61a348cb597be6db880b00087aaa97f2f4ce /src/main/java/me | |
| parent | c1f14ed94f2dcc40008099e3abc4b0eaa5dd05cf (diff) | |
| download | RoughlyEnoughItems-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/java/me')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java | 25 |
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; |
