bootNEI() is supposed to only be called once during the client's
lifetime. Turns out, if your pack has 800 mods, bootNEI() might be
called a second time before configLoaded is set to true at the end of
the plugin loading thread. This introduces a second variable that is
set at the end of the single threaded portion of bootNEI() so that it
truly can only be called once, but we can still retain the ability to
check if the plugin loading thread has finished.
NEI plugins are initialized in a separate thread. If this takes too long,
the client tick handler might already be running checking the keybindings
in KeyManager while a plugin calls API.addKeyBind() which can lead to a
CME.
Reported in https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/13292
Thanks to @Denostrov for helping me track this down.
* Add option to have the search widget under item panel
* update bs+sa
* Make heights consistent
---------
Co-authored-by: Martin Robertz <dream-master@gmx.net>
* Add option to cache item grid rendering
* Fix highlighting for bookmarks
* Tweak GL state slightly
* Fix focus box being in the wrong place
* Fix flickering for one frame when searching
* Prevent potion effects from rendering over NEI slots
Fixes#231
* Invalidate the buffer if `invalidSlotMap` changes
* Clean up imports
* Delay blitting until after the buffer is refreshed
but still avoid waiting for the next frame
* Refactor slot focus logic to handle highlighting multiple slots
* Refresh grid when sorting bookmarks
* Minor code cleanup, fix some more hovering issues
* Remove `slotNeedsOutline`, it is now redundant
* Remove focus parameter from drawItem
* panel settings
* Highlight hidden items; mark item with recipe
* open gui usage with recipeId
* small changes
* restore gl after draw item
Co-authored-by: Serghei Borovetchi <sborovetchi@estatim.com>
* Fix serial handlers not searching catalysts
* Prevent null stack from being added
* Prevent duplicate stack from being added
* Prevent empty handlerID from being added
* Extract code to get modded items
* Use HANDLER_ID_FUNCTION to determine handler's id
This allows mods that don't implement getOverlayIdentifier to work with
* Implement priority
* Fix typo
* Allow catalysts to be loaded from csv
Add IC2 catalysts
* minor cleanup
* Add Avaritia, BM, Forestry
* Log if TransferRects fail
* Implement removing catalyst
* Add placeholder for version controlling
* Add a BUNCH of catalysts
* Add Schematics
* Add more NASA
* Add way to resolve conflict with handlerID
resolve conflict between IC2 Compressor and Mekanism Osmium Compressor
* Add more catalysts
* Add ALL GT catalysts
* Add more
* temporary "fix" for item rendering
reverts 9bbdd7b174
* enable by default
* forgot this one
* Add ability to skip search for catalysts
* resolve some todos
* Update build script
* Update build script to import fix for shadow in dev and sources artifacts
* Update fixed build script to shadow csv dependency in dev jar as well
* Moved jitpack
* Move new files