Class NeoForgeLoadingOverlay

java.lang.Object
net.minecraft.client.gui.screens.Overlay
net.minecraft.client.gui.screens.LoadingOverlay
net.neoforged.neoforge.client.loading.NeoForgeLoadingOverlay
All Implemented Interfaces:
net.minecraft.client.gui.components.Renderable

public class NeoForgeLoadingOverlay extends net.minecraft.client.gui.screens.LoadingOverlay
This is an implementation of the LoadingOverlay that calls back into the early window rendering, as part of the game loading cycle. We completely replace the render(GuiGraphics, int, int, float) call from the parent with one of our own, that allows us to blend our early loading screen into the main window, in the same manner as the Mojang screen. It also allows us to see and tick appropriately as the later stages of the loading system run.

It is somewhat a copy of the superclass render method.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    (package private) static class 
     
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private float
     
    private final net.neoforged.fml.earlydisplay.DisplayWindow
     
    private long
     
    private final com.mojang.blaze3d.textures.GpuTexture
     
    static final net.minecraft.resources.ResourceLocation
     
    private final net.minecraft.client.Minecraft
     
    private final Consumer<Optional<Throwable>>
     
    private final net.neoforged.fml.loading.progress.ProgressMeter
     
    private final net.minecraft.server.packs.resources.ReloadInstance
     

    Fields inherited from class net.minecraft.client.gui.screens.LoadingOverlay

    FADE_IN_TIME, FADE_OUT_TIME, MOJANG_STUDIOS_LOGO_LOCATION
  • Constructor Summary

    Constructors
    Constructor
    Description
    NeoForgeLoadingOverlay(net.minecraft.client.Minecraft mc, net.minecraft.server.packs.resources.ReloadInstance reloader, Consumer<Optional<Throwable>> errorConsumer, net.neoforged.fml.earlydisplay.DisplayWindow displayWindow)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static Supplier<net.minecraft.client.gui.screens.LoadingOverlay>
    newInstance(Supplier<net.minecraft.client.Minecraft> mc, Supplier<net.minecraft.server.packs.resources.ReloadInstance> ri, Consumer<Optional<Throwable>> handler, net.neoforged.fml.earlydisplay.DisplayWindow window)
     
    void
    render(net.minecraft.client.gui.GuiGraphics graphics, int mouseX, int mouseY, float partialTick)
     

    Methods inherited from class net.minecraft.client.gui.screens.LoadingOverlay

    isPauseScreen, registerTextures

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • LOADING_OVERLAY_TEXTURE_ID

      public static final net.minecraft.resources.ResourceLocation LOADING_OVERLAY_TEXTURE_ID
    • minecraft

      private final net.minecraft.client.Minecraft minecraft
    • reload

      private final net.minecraft.server.packs.resources.ReloadInstance reload
    • onFinish

      private final Consumer<Optional<Throwable>> onFinish
    • displayWindow

      private final net.neoforged.fml.earlydisplay.DisplayWindow displayWindow
    • progressMeter

      private final net.neoforged.fml.loading.progress.ProgressMeter progressMeter
    • framebuffer

      private final com.mojang.blaze3d.textures.GpuTexture framebuffer
    • currentProgress

      private float currentProgress
    • fadeOutStart

      private long fadeOutStart
  • Constructor Details

    • NeoForgeLoadingOverlay

      public NeoForgeLoadingOverlay(net.minecraft.client.Minecraft mc, net.minecraft.server.packs.resources.ReloadInstance reloader, Consumer<Optional<Throwable>> errorConsumer, net.neoforged.fml.earlydisplay.DisplayWindow displayWindow)
  • Method Details

    • newInstance

      public static Supplier<net.minecraft.client.gui.screens.LoadingOverlay> newInstance(Supplier<net.minecraft.client.Minecraft> mc, Supplier<net.minecraft.server.packs.resources.ReloadInstance> ri, Consumer<Optional<Throwable>> handler, net.neoforged.fml.earlydisplay.DisplayWindow window)
    • render

      public void render(net.minecraft.client.gui.GuiGraphics graphics, int mouseX, int mouseY, float partialTick)
      Specified by:
      render in interface net.minecraft.client.gui.components.Renderable
      Overrides:
      render in class net.minecraft.client.gui.screens.LoadingOverlay