This branch just got way out of hand so I'm merging it all in so I can finish each part up in separate branches.
HudElement type paramaterised for rendering context
Elements moved to registries instead of a static list
Removed useless addSettings method in favour of constructor
New OverlayContext object (planned: include layout manager in this param object)
Replaced static sorter with registry sorters
Overlay hook outside of HudElement
Planned: separate hook for mob info (note: right now there is no mob info visible)
Removed default position for elements (clutter on "god class")
Restore a standard GL state before each element is rendered
Fix corrupt GL flags using a GlStateManagerManager
Directly use forge events instead of OverrideElement
Not everything is guaranteed to work here (see bold above) but I need master to be up to date and this branch is just not very continuous integration-y.
Planned: right now the text elements all have the same direction options so some of the custom position code goes unused. This will have to be fixed later for feature parity.
This branch just got way out of hand so I'm merging it all in so I can finish each part up in separate branches.
Not everything is guaranteed to work here (see bold above) but I need master to be up to date and this branch is just not very continuous integration-y.