Intro

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:


Examples


How?

Separate fonts

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

Declaring and modifying fonts

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.