ソースを参照

Fix tooltips when the overlay is not visible

shedaniel 4 年 前
コミット
78cc31cc63

+ 0 - 2
RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java

@@ -582,8 +582,6 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer {
         ClothClientHooks.SCREEN_LATE_RENDER.register((matrices, minecraftClient, screen, i, i1, v) -> {
             if (shouldReturn(screen))
                 return;
-            if (!ScreenHelper.isOverlayVisible())
-                return;
             ScreenHelper.getLastOverlay().lateRender(matrices, i, i1, v);
         });
         ClothClientHooks.SCREEN_KEY_PRESSED.register((minecraftClient, screen, i, i1, i2) -> {

+ 8 - 6
RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java

@@ -565,12 +565,12 @@ public class ContainerScreenOverlay extends WidgetWithBounds implements REIOverl
                 if (widget instanceof LateRenderable && (overlayMenu == null || overlayMenu.wrappedMenu != widget))
                     widget.render(matrices, mouseX, mouseY, delta);
             }
-        }
-        if (overlayMenu != null) {
-            if (overlayMenu.wrappedMenu.containsMouse(mouseX, mouseY)) {
-                TOOLTIPS.clear();
+            if (overlayMenu != null) {
+                if (overlayMenu.wrappedMenu.containsMouse(mouseX, mouseY)) {
+                    TOOLTIPS.clear();
+                }
+                overlayMenu.wrappedMenu.render(matrices, mouseX, mouseY, delta);
             }
-            overlayMenu.wrappedMenu.render(matrices, mouseX, mouseY, delta);
         }
         Screen currentScreen = Minecraft.getInstance().screen;
         if (!(currentScreen instanceof RecipeViewingScreen) || !((RecipeViewingScreen) currentScreen).choosePageActivated)
@@ -582,7 +582,9 @@ public class ContainerScreenOverlay extends WidgetWithBounds implements REIOverl
             runnable.run();
         }
         TOOLTIPS.clear();
-        AFTER_RENDER.clear();
+        if (ScreenHelper.isOverlayVisible()) {
+            AFTER_RENDER.clear();
+        }
     }
     
     public void renderTooltip(PoseStack matrices, Tooltip tooltip) {