← Назад к ресурсам

AxolotlClient Rendering

AxolotlClient's GUI rendering library. Convenient and simple rendering of some shapes, static SVGs and truetype fonts.

Modrinth library

Описание

# AxolotlClient Rendering This library allows for shader-based rendering of some rounded shapes (e.g. rectangles), static SVGs and TrueType fonts. For SVGs the Apache Batik library is included, for fonts Freetype¹ is used. ### For Players This is a library, you should not need to install it manually. (Unless someone declared their dependencies wrong or forgot to include it) ### For Mod Developers ##### Inclusion in your project This library is published at https://maven.axolotlclient.com. ```gradle dependencies { modImplementation(include("io.github.axolotlclient.rendering:AxolotlClient-rendering:VERSION+MINECRAFT_VERSION")!!) } ``` Note: you may omit the `include` statement if you do not want to embed this library into your mod. Make sure to declare your dependencies correctly for launchers to download the library in that case. > Tip: replace `modImplementation` with `modApi` if you're writing a library that uses this one! ##### General Usage Most methods of this library are accessible using Minecraft's `GuiGraphics` class via the injected `GuiGraphicsExtension` interface. On 1.8.9, since there is no `GuiGraphics` class you should obtain a `GuiGraphicsExtension` using `DrawUtil.get()`. All methods exposed via this way are prefixed with `axolotlclient_rendering`. Fonts can be loaded using `Font.read(...)`. If you're using a variant font this will automatically read the variants and make use of them appropriately, however the font features supported by FreeType directly are rather limited. If a specific feature is provided by a separate font file (for example an *italic* or **bold** variant) they can be added using `Font#addSubFont`, specifying in which conditions it should be used (some tags and values can be found as static definitions in the `Font` class). ### Projects that use this library - [AxolotlClientConfig](https://codeberg.org/AxolotlClient/AxolotlClientConfig) - [AxolotlClient](https://modrinth.com/mod/axolotlclient) > Your project makes use of this library and you would like it to appear here? Let us know! ### FAQ I'm using this library on 1.20.1 and the font looks bad A: Because Minecraft 1.20.1 uses lwjgl 3.3.1 which did not have Freetype bindings yet this library uses STB_Truetype, which does not support hinting (there may also be other bugs we don't know about). But doesn't 1.8.9 use lwjgl2 which is also below 3.3.2? A: Indeed, however with legacy-lwjgl3 we can run it on lwjgl 3.3.6 where we do have bindings to Freetype. Wouldn't it be possible to use a newer lwjgl on 1.20.1 as well? A: Yes, but this is more difficult, increases the jar size even further and will produce incompatibilities with mods like sodium which check for which lwjgl version they're running on. ¹See FAQ, answer #1