From 7f2cea976276ef14030964eea6c91ebee9f39204 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Sun, 12 Apr 2020 02:13:15 +0800 Subject: Adds warning screen Signed-off-by: shedaniel --- src/main/java/me/shedaniel/rei/impl/ScreenHelper.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/main/java/me/shedaniel/rei/impl/ScreenHelper.java') diff --git a/src/main/java/me/shedaniel/rei/impl/ScreenHelper.java b/src/main/java/me/shedaniel/rei/impl/ScreenHelper.java index c1bafeb1e..5cdb2a87f 100644 --- a/src/main/java/me/shedaniel/rei/impl/ScreenHelper.java +++ b/src/main/java/me/shedaniel/rei/impl/ScreenHelper.java @@ -194,15 +194,17 @@ public class ScreenHelper implements ClientModInitializer, REIHelper { @Override public void onInitializeClient() { ClothClientHooks.SCREEN_INIT_PRE.register((client, screen, screenHooks) -> { - if (!RoughlyEnoughItemsState.getFailedToLoad().isEmpty() && !(screen instanceof FailedToLoadScreen)) { - client.openScreen(FailedToLoadScreen.INSTANCE.get()); + if ((!RoughlyEnoughItemsState.getErrors().isEmpty() || !RoughlyEnoughItemsState.getWarnings().isEmpty()) && !(screen instanceof FailedToLoadScreen)) { + FailedToLoadScreen failedToLoadScreen = FailedToLoadScreen.INSTANCE.get(); + failedToLoadScreen.setParent(screen); + client.openScreen(failedToLoadScreen); } else if (lastHandledScreen != screen && screen instanceof HandledScreen) lastHandledScreen = (HandledScreen) screen; return ActionResult.PASS; }); boolean loaded = FabricLoader.getInstance().isModLoaded("fabric-events-lifecycle-v0"); if (!loaded) { - RoughlyEnoughItemsState.failedToLoad("Fabric API is not installed!", "https://www.curseforge.com/minecraft/mc-mods/fabric-api/files/all"); + RoughlyEnoughItemsState.error("Fabric API is not installed!", "https://www.curseforge.com/minecraft/mc-mods/fabric-api/files/all"); return; } Executor.run(() -> () -> { -- cgit