Fonts are the main technique and have thousands of use cases. By modifying fonts, you can create unique in-game fonts, menus, UIs, GUIs, HUDs, ranks, emojis and many other elements. They basically allow you to add any given texture into the game through a very simple process.
How do we do it? By abusing the font renderer, which was meant to allow people to add their own custom fonts to instead display our custom textures. These textures are bound to unicodes, which can then be used anywhere, where text can be displayed in Minecraft.
<aside> 📚 Content:
Fonts are defined inside the assets/namespace/font
folder. You can add as many fonts as you like with different names. This is very useful for separating features for clarity in packs. The only downside may be the extra effort that goes into using them, depending on where the fonts have to be displayed.
Separate Fonts and Their Usage
The easiest and most common approach to defining fonts is by modifying the default font .../font/default.json
which is responsible for all text seen throughout the game. Modifying unicodes inside of default.json
will replace the given unicodes everywhere, which means that they can be used anywhere.