Screen Events
Holds events related to Screens.
Some events require a screen instance in order to obtain an event instance. The events that require a screen instance can be identified by the use of a method passing a screen instance. All events in ScreenKeyboardEvents and ScreenMouseEvents require a screen instance. This registration model is used since a screen being (re)initialized will reset the screen to it's default state, therefore reverting all changes a mod developer may have applied to a screen. Furthermore this design was chosen to reduce the amount of wasted iterations of events as a mod developer would only need to register screen events for rendering, ticking, keyboards and mice if needed on a per instance basis.
The primary entrypoint into a screen is when it is being opened, this is signified by an event before and after initialization of the screen.