▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/AxolotlClient Rendering
AxolotlClient Rendering

AxolotlClient Rendering

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

8.1K
2

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.

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

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

Совместимость

Minecraft: Java Edition

26.1.x1.21.x1.20.x1.8.x

Платформы

Поддерживаемые окружения

Клиент

Детали

Лицензия:LGPL-3.0-or-later
Опубликован:4 месяца назад
Обновлён:2 недели назад
Главная