|
@@ -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;
|