Add JEI loading indicator

Fixes #13
This commit is contained in:
embeddedt 2023-02-16 14:27:38 -05:00
parent aa387237ed
commit b347c051bf
3 changed files with 35 additions and 0 deletions

View File

@ -16,6 +16,7 @@ import net.minecraftforge.client.event.ClientPlayerNetworkEvent;
import org.embeddedt.modernfix.ModernFix;
import org.embeddedt.modernfix.jei.async.JEILoadingInterruptedException;
import org.embeddedt.modernfix.jei.async.JEIReloadThread;
import org.embeddedt.modernfix.util.JEIUtil;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Overwrite;
@ -58,6 +59,7 @@ public class ClientLifecycleHandlerMixin {
@Inject(method = "<init>", at = @At("TAIL"))
private void setupCancellationHandler(NetworkHandler networkHandler, Textures textures, CallbackInfo ci) {
EventBusHelper.addListener(this, ClientPlayerNetworkEvent.LoggedOutEvent.class, event -> cancelPreviousStart());
JEIUtil.registerLoadingRenderer(() -> reloadThread != null);
}
private void cancelPreviousStart() {

View File

@ -0,0 +1,30 @@
package org.embeddedt.modernfix.util;
import com.mojang.blaze3d.vertex.PoseStack;
import mezz.jei.Internal;
import mezz.jei.api.runtime.IIngredientListOverlay;
import mezz.jei.runtime.JeiRuntime;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Gui;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraftforge.client.event.GuiScreenEvent;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import java.util.function.Supplier;
public class JEIUtil {
private static Supplier<Boolean> isLoading = null;
public static void registerLoadingRenderer(Supplier<Boolean> isLoading) {
JEIUtil.isLoading = isLoading;
MinecraftForge.EVENT_BUS.register(JEIUtil.class);
}
@SubscribeEvent
public static void renderLoad(GuiScreenEvent.DrawScreenEvent.Post event) {
if(isLoading.get()) {
Gui.drawString(new PoseStack(), Minecraft.getInstance().font, new TranslatableComponent("modernfix.jei_load"), 0, 0, 0xffffff);
}
}
}

View File

@ -0,0 +1,3 @@
{
"modernfix.jei_load": "Loading JEI..."
}