-
Notifications
You must be signed in to change notification settings - Fork 25
Font Rendering
The renderer library provides an efficient and easy way to render high-resolution text, directly in minecraft.
To do this, you first need to get your Font object loaded, and then pass it into the FontRenderer class.
The font renderer has backup support, which means that you can supply multiple fonts. If the first font doesn't have the requested glyph, the second one is searched. If that one doesn't have it either, the third one is searched, etc. If no font has the glyph, the "missing glyph" symbol is drawn.
Font font = new Font("JetBrains Mono", Font.PLAIN, 18); // size doesn't matter here
FontRenderer renderer = new FontRenderer(new Font[] {font}, 9f);The FontRenderer class provides basic drawing capabilities, including the minecraft color formatting standard using the § sign. To draw text using the font, call .drawString(matrixStack, text, x, y, r, g, b, a). Similarly, .drawCenteredString works the same as .drawString, except that it centers the text on the X axis.
// hud render event
renderer.drawString(matrixStack, "This is red text, §athis is green text, §rthis is back to red", 5, 5, 1, 0, 0, 0);drawString takes the color to draw the text in as 4 floats, them being red, green, blue, alpha respectively. They're ranged 0-1 and can be found at the end of the method call, in this example.
If you want to free all resources taken up by the font renderer, call .destroy() on it. The font renderer can continue to be used, but all glyph maps will have been freed, and need to regenerate (when used).