BetterLoadingScreen
16 merged pull requests.
New Features
- #40 Enhanced FMLProgressTracker to read FML loading step data and display granular progress steps, updated LoadingFrame and MinecraftDisplayer to render sub-progress bars, removed GT sub-progress compatibility hacks in favor of standard FML step communication. - @danyadev
- Added: FML loading step sub-progress display, detailed progress bar rendering
- Removed: GT-specific sub-progress compatibility code
- #38 MinecraftDisplayer reads a threadedRendering boolean from the general config category (default true). When false, displayProgress calls renderProgress directly and swaps buffers instead of starting the splash render thread. - @boubou19
- Added: threadedRendering config option
New Content
- #36 Modified en_US.txt tips to remove IC2 crop-related hints. - @C0bra5
- #35 Updated en_US.txt tip strings: changed 'installed a backup mod' to 'configured backup mod', replaced Battlegear slots reference with offhand slot info, changed wiki URL from gtnh.miraheze.org to wiki.gtnewhorizons.com. - @Eldrinn-Elantey
- #32 Added ru_RU.lang translation file with 149 lines of Russian loading tips. - @Eldrinn-Elantey
- Added: Russian language tips file
Bug Fixes
- #46 The splash render loop in MinecraftDisplayer calls Display.processMessages() before each render and uses Display.update(false) instead of Display.update(), so Display width and height are current when drawing. - @danyadev
- Fixed: Stale-size frame after resizing the loading screen
- #45 Adds SplashTextureManager, which evicts unused resource background textures each frame. MinecraftDisplayer is reworked with cached ImageRender instances and a close path. GuiPreview closes on the client thread. ImgurCacheManager and ImgurClient error handling are changed, and setForgeSplashEnabled only reports success when the splash was actually turned off. - @Algent
- Fixed: Loading screen hangs, Loading screen texture and resource leaks, Background pictures piling up in memory during load
- #44 Modified MinecraftDisplayer to limit refresh rate, reject overlapping render requests, preserve GL state across render boundaries, and removed smooth background animation. - @danyadev
- Added: frame rate limiting, GL state preservation
- Removed: smooth background animation
- Fixed: dimension sizing in non-threaded mode, GL state leaks
- #42 Corrected FontRenderer initialization in MinecraftDisplayerWrapper to handle resource loading properly before attempting to render glyphs. - @danyadev
- Fixed: startup black screen delay, repeated FontRenderer resource loading errors
- #39 Replaced FML event bus listeners with direct hooks into FML's progress bar methods via FMLProgressTracker, showing mod names only while their lifecycle handler is active. - @danyadev
- Added: FMLProgressTracker for direct progress bar integration
- Removed: ModLoadingListener event-based tracking
- Fixed: stale mod names on loading screen
- #33 Reverts PR #31: MinecraftDisplayer goes back to finding the resource pack list by reflection over Minecraft's List fields and calling refreshResources, and bls_at.cfg and the access transformer setting in gradle.properties are removed. - @Eldrinn-Elantey
- Removed: access transformer for defaultResourcePacks
- #31 MinecraftDisplayer replaced the reflective getOnlyList with a direct read of Minecraft.defaultResourcePacks, exposed through a new access transformer (bls_at.cfg). It also removed the early mc.refreshResources() calls and only adds the BLS pack if it is not already in the list. - @Eldrinn-Elantey
- Removed: early resource refresh calls during startup
- Fixed: resource packs reset on startup, symlink resource packs reset on startup
- #29 Added headless status check before attempting to load Swing UI themes in LoadingFrame. - @eigenraven
- Fixed: loading screen crash in headless environments
Performance
- #43 Eliminated redundant mc.refreshResources() call that triggered recursive bar/step pushes and FontRenderer recreation during initialization. - @danyadev
- Removed: redundant mc.refreshResources() call
- Fixed: infinite loop on mobile initialization, loading screen startup lag
- #37 Adds a cached State.VALUES array in ModLoadingListener.State and replaces State.values() calls in ModLoadingListener and LiteLoaderProgress. - @boubou19
Chores
- #28 ModLoadingListener no longer registers itself on MinecraftForge.EVENT_BUS in its constructor, and the listeners list is made final. - @Alexdoru
- Removed: unused Forge event bus registration
Contributors
Everyone who authored, reviewed or co-authored a change on this page, with how many of them:
@boubou19 (7), @danyadev (7), @Eldrinn-Elantey (4), @Algent (3), @koolkrafter5 (2), @UltraProdigy (2), @Alexdoru (1), @C0bra5 (1), @DeathFuel (1), @Dream-Master (1), @eigenraven (1), @glowredman (1), @LightInTheFire (1), @VortexSo4 (1), @Worive (1)