diff --git a/src/main/java/dev/anvilcraft/resource/ageratum/client/AgeratumClient.java b/src/main/java/dev/anvilcraft/resource/ageratum/client/AgeratumClient.java index 419ab2a..919cf7f 100644 --- a/src/main/java/dev/anvilcraft/resource/ageratum/client/AgeratumClient.java +++ b/src/main/java/dev/anvilcraft/resource/ageratum/client/AgeratumClient.java @@ -224,7 +224,7 @@ private static boolean openGuideOnClientInternal( if (preserveLabelState && currentGuideScreen != null) { screen.setLabelStatePreserved(currentGuideScreen); } - minecraft.setScreen(screen); + setGuideScreen(minecraft, screen); return true; } @@ -307,10 +307,17 @@ private static boolean parseDocumentAndSetScreen( if (preserveLabelState && currentGuideScreen != null) { screen.setLabelStatePreserved(currentGuideScreen); } - minecraft.setScreen(screen); + setGuideScreen(minecraft, screen); return true; } + private static void setGuideScreen(Minecraft minecraft, GuideScreen screen) { + if (minecraft.player != null && minecraft.player.containerMenu != minecraft.player.inventoryMenu) { + minecraft.player.closeContainer(); + } + minecraft.setScreen(screen); + } + public static boolean isPreviewLocation(ResourceLocation location) { return AgeratumConstants.Preview.NAMESPACE.equals(location.getNamespace()); }