diff --git a/src/main/java/mezz/jei/gui/recipes/RecipesGui.java b/src/main/java/mezz/jei/gui/recipes/RecipesGui.java index 9c915f0f..5e0dc592 100644 --- a/src/main/java/mezz/jei/gui/recipes/RecipesGui.java +++ b/src/main/java/mezz/jei/gui/recipes/RecipesGui.java @@ -82,6 +82,7 @@ public class RecipesGui extends GuiScreen implements IRecipesGui, IShowsRecipeFo private int guiTop; private boolean init = false; + private boolean openingGui = false; public RecipesGui(IRecipeRegistry recipeRegistry, IngredientRegistry ingredientRegistry) { this.logic = new RecipeGuiLogic(recipeRegistry, this, ingredientRegistry); @@ -477,8 +478,13 @@ public void close() { public void show(IFocus focus) { focus = Focus.check(focus); - if (logic.setFocus(focus)) { - open(); + openingGui = true; + try { + if (logic.setFocus(focus)) { + open(); + } + } finally { + openingGui = false; } } @@ -486,8 +492,13 @@ public void show(IFocus focus) { public void showCategories(List recipeCategoryUids) { ErrorUtil.checkNotEmpty(recipeCategoryUids, "recipeCategoryUids"); - if (logic.setCategoryFocus(recipeCategoryUids)) { - open(); + openingGui = true; + try { + if (logic.setCategoryFocus(recipeCategoryUids)) { + open(); + } + } finally { + openingGui = false; } } @@ -658,7 +669,9 @@ private List searchButtonTooltip() { @Override public void onStateChange() { - updateLayout(); + if (!openingGui) { + updateLayout(); + } } @Nullable