GM4_Datapacks
GM4_Datapacks copied to clipboard
Potentially Faulty Font-magic implementation when paired with retextured default fonts
This issue tracks a potential issue discussed at a recent Dev Night related to our resource pack's usage of fonts to add custom textures to guis. The discussion concluded that it wasn't vital to fix at the moment, but if this issue crops up in the future, having this record of the causes and reasonings for those causes is useful.
The primary tool behind font magic is the ability to write a string normally to display it, and then write it again invisibly backwards to reset the cursor to the original location. Before 1.20.2, these backwards characters were implemented by using the default minecraft font, but displayed at a large offset so they render offscreen. In 1.20.2, this behavior was broken and replaced with a "negative space" provider, which we used to list out the negated width of every character in the vanilla font.
By no longer referencing the vanilla textures at all in the backwards characters definition, a user using a retextured font (particularly one with different character widths) no longer has the forward displayed string line up with our reverse string and its hardcoded negative space widths.
It seems there is not the ability in current font technology to dynamically read in the actual minecraft:default
font and invert every character as was done before 1.20.2, so this issue may appear to such a user as a horribly misaligned set of GUI textures inside our custom machine blocks.