From 7c4788f86f589d71b319e186fa5d8a468046bcc1 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Sun, 21 Mar 2021 12:23:14 +0800 Subject: Rely on ScreenRegistry more on calculating the bounds Signed-off-by: shedaniel --- .../main/java/me/shedaniel/rei/impl/REIHelperImpl.java | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'runtime/src/main/java/me/shedaniel/rei/impl/REIHelperImpl.java') diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/REIHelperImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/REIHelperImpl.java index 0884d70d7..a18b71b3c 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/REIHelperImpl.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/REIHelperImpl.java @@ -36,8 +36,6 @@ import me.shedaniel.rei.api.config.ConfigObject; import me.shedaniel.rei.api.gui.config.SearchFieldLocation; import me.shedaniel.rei.api.gui.widgets.TextField; import me.shedaniel.rei.api.gui.widgets.Tooltip; -import me.shedaniel.rei.api.registry.screen.DisplayBoundsProvider; -import me.shedaniel.rei.api.registry.screen.OverlayDecider; import me.shedaniel.rei.api.registry.screen.ScreenRegistry; import me.shedaniel.rei.gui.ContainerScreenOverlay; import me.shedaniel.rei.gui.OverlaySearchField; @@ -174,17 +172,14 @@ public class REIHelperImpl implements REIHelper { @Override public SearchFieldLocation getContextualSearchFieldLocation() { + SearchFieldLocation location = ConfigObject.getInstance().getSearchFieldLocation(); Window window = Minecraft.getInstance().getWindow(); - for (OverlayDecider decider : ScreenRegistry.getInstance().getDeciders(Minecraft.getInstance().screen)) { - if (decider instanceof DisplayBoundsProvider) { - Rectangle containerBounds = ((DisplayBoundsProvider) decider).getScreenBounds(Minecraft.getInstance().screen); - if (window.getGuiScaledHeight() - 20 <= containerBounds.getMaxY()) { - return SearchFieldLocation.BOTTOM_SIDE; - } else break; - } + Rectangle screenBounds = ScreenRegistry.getInstance().getScreenBounds(Minecraft.getInstance().screen); + if (location == SearchFieldLocation.CENTER && window.getGuiScaledHeight() - 20 <= screenBounds.getMaxY()) { + return SearchFieldLocation.BOTTOM_SIDE; } - return ConfigObject.getInstance().getSearchFieldLocation(); + return location; } @Override -- cgit