Package net.minecraftforge.fml.loading
Record Class ImmediateWindowHandler.DummyProvider
java.lang.Object
java.lang.Record
net.minecraftforge.fml.loading.ImmediateWindowHandler.DummyProvider
- All Implemented Interfaces:
- ImmediateWindowProvider
- Enclosing class:
- ImmediateWindowHandler
private static record ImmediateWindowHandler.DummyProvider()
extends Record
implements ImmediateWindowProvider
- 
Field SummaryFields
- 
Constructor SummaryConstructorsModifierConstructorDescriptionprivateCreates an instance of aDummyProviderrecord class.
- 
Method SummaryModifier and TypeMethodDescriptionfinal booleanIndicates whether some other object is "equal to" this one.This is called to construct aForgeFeaturefor the GL_VERSION we managed to create for the window.final inthashCode()Returns a hash code value for this object.initialize(String[] args) This is called very early on to initialize ourselves.<T> Supplier<T>Return a Supplier of an object extending the LoadingOverlay class from Mojang.name()voidThis is called periodically during the loading process to "tick" the window.booleanpositionWindow(Optional<Object> monitor, IntConsumer widthSetter, IntConsumer heightSetter, IntConsumer xSetter, IntConsumer ySetter) This is called after window handoff to allow us to tell Mojang about our window's position.longsetupMinecraftWindow(IntSupplier width, IntSupplier height, Supplier<String> title, LongSupplier monitor) This is called to setup the minecraft window, as if Mojang had done it themselves in their Window class.final StringtoString()Returns a string representation of this record class.voidupdateFramebufferSize(IntConsumer width, IntConsumer height) This will be called during the handoff to minecraft to update minecraft with the size of the framebuffer we have.voidupdateModuleReads(ModuleLayer layer) This is called during the module loading process to allow us to find objects inside the GAME layer, such as a later loading screen.
- 
Field Details- 
NV_HANDOFF
- 
NV_POSITION
- 
NV_OVERLAY
- 
NV_VERSION
 
- 
- 
Constructor Details- 
DummyProviderprivate DummyProvider()Creates an instance of aDummyProviderrecord class.
 
- 
- 
Method Details- 
name- Specified by:
- namein interface- ImmediateWindowProvider
- Returns:
- The name of this window provider. Do NOT use fmlearlywindow.
 
- 
initializeDescription copied from interface:ImmediateWindowProviderThis is called very early on to initialize ourselves. Use this to initialize the window and other GL core resources. One thing we want to ensure is that we try and create the highest GL_PROFILE we can accomplish. GLFW_CONTEXT_VERSION_MAJOR,GLFW_CONTEXT_VERSION_MINOR should be as high as possible on the created window, and it should have all the typical profile settings.- Specified by:
- initializein interface- ImmediateWindowProvider
- Parameters:
- args- The arguments provided to the Java process. This is the entire command line, so you can process stuff from it.
- Returns:
- A runnable that will be periodically ticked by FML during startup ON THE MAIN THREAD. This is usually a good place to put glfwPollEvents() tests.
 
- 
updateFramebufferSizeDescription copied from interface:ImmediateWindowProviderThis will be called during the handoff to minecraft to update minecraft with the size of the framebuffer we have. Generally won't be called because Minecraft figures it out for itself.- Specified by:
- updateFramebufferSizein interface- ImmediateWindowProvider
- Parameters:
- width- Consumer of the framebuffer width
- height- Consumer of the framebuffer height
 
- 
setupMinecraftWindowpublic long setupMinecraftWindow(IntSupplier width, IntSupplier height, Supplier<String> title, LongSupplier monitor) Description copied from interface:ImmediateWindowProviderThis is called to setup the minecraft window, as if Mojang had done it themselves in their Window class. This handoff is difficult to get right - you have to make sure that any activities you're doing to the window are finished prior to returning. You should try and setup the width and height as Mojang expects - the suppliers give you all that information. Alternatively, you can force Mojang to update from the current position of the window inImmediateWindowProvider.positionWindow(Optional, IntConsumer, IntConsumer, IntConsumer, IntConsumer)instead. This might give a more seamless experience.- Specified by:
- setupMinecraftWindowin interface- ImmediateWindowProvider
- Parameters:
- width- This is the width of the window Mojang expects
- height- This is the height of the Window Mojang expects.
- title- This is the title for the window.
- monitor- This is the monitor it should appear on.
- Returns:
- The window id
 
- 
positionWindowpublic boolean positionWindow(Optional<Object> monitor, IntConsumer widthSetter, IntConsumer heightSetter, IntConsumer xSetter, IntConsumer ySetter) Description copied from interface:ImmediateWindowProviderThis is called after window handoff to allow us to tell Mojang about our window's position. This might give a preferrable user experience to users, because we just tell Mojang our truth, rather than accept theirs.- Specified by:
- positionWindowin interface- ImmediateWindowProvider
- Parameters:
- monitor- This is the monitor we're rendering on. Note that this is the Mojang monitor object. You might have trouble unwrapping it.
- widthSetter- This sets the width on the Mojang side
- heightSetter- This sets the height on the Mojang side
- xSetter- This sets the x coordinate on the Mojang side
- ySetter- This sets the y coordinate on the Mojang side
- Returns:
- true if you've handled the window positioning - this skips the "forced fullscreen" code until a later stage
 
- 
loadingOverlaypublic <T> Supplier<T> loadingOverlay(Supplier<?> mc, Supplier<?> ri, Consumer<Optional<Throwable>> ex, boolean fade) Description copied from interface:ImmediateWindowProviderReturn a Supplier of an object extending the LoadingOverlay class from Mojang. This is what will be used once the Mojang window code has taken over rendering of the window, to render the later stages of the loading process.- Specified by:
- loadingOverlayin interface- ImmediateWindowProvider
- Type Parameters:
- T- This is the type LoadingOverlay to allow type binding on the Mojang side
- Parameters:
- mc- This supplies the Minecraft object
- ri- This supplies the ReloadInstance object that tells us when the loading is finished
- ex- This Consumes the final state of the loading - if it's an error you pass it the Throwable, otherwise you pass Optional.empty()
- fade- This is the fade flag passed to LoadingOverlay. You probably want to ignore it.
- Returns:
- A supplier of your later LoadingOverlay screen.
 
- 
getGLVersionDescription copied from interface:ImmediateWindowProviderThis is called to construct aForgeFeaturefor the GL_VERSION we managed to create for the window. Should be a string of the format {MAJOR}.{MINOR}, such as 4.6, 4.5 or such.- Specified by:
- getGLVersionin interface- ImmediateWindowProvider
- Returns:
- the GL profile we created
 
- 
updateModuleReadsDescription copied from interface:ImmediateWindowProviderThis is called during the module loading process to allow us to find objects inside the GAME layer, such as a later loading screen.- Specified by:
- updateModuleReadsin interface- ImmediateWindowProvider
- Parameters:
- layer- This is the GAME layer from ModLauncher
 
- 
periodicTickpublic void periodicTick()Description copied from interface:ImmediateWindowProviderThis is called periodically during the loading process to "tick" the window. It is typically the same as the Runnable fromImmediateWindowProvider.initialize(String[])- Specified by:
- periodicTickin interface- ImmediateWindowProvider
 
- 
toStringReturns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
- 
hashCodepublic final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
- 
equalsIndicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal.
 
-