Скачать Renderer — Minecraft Моды — MetaMods

Renderer

Активный

Установок

3

Последнее обновление

1 год назад

Версии

1.18.2 — 1.20.4
Клиент
Fabric
Библиотеки
Утилиты

Renderer

Простая в использовании библиотека для рендеринга, созданная специально для современной версии Fabric.

Установка

Для установки данной библиотеки можно воспользоваться сервисом Jitpack. Добавьте репозиторий Jitpack в соответствующий блок вашего проекта, как указано на официальном сайте, а затем включите следующую строку в раздел зависимостей файла build.gradle:

include modImplementation("com.github.0x3C50:Renderer:master-SNAPSHOT")

Данный подход будет использовать последний коммит в качестве цели сборки, при этом кэшируя её при каждом обращении. Если требуется конкретная версия, можно указать короткий хэш коммита (например, d2cc995ff4) вместо master-SNAPSHOT.

Применение

Библиотека сопровождается подробной javadoc-документацией, которая раскрывает практически все аспекты использования. Дополнительные примеры и пояснения доступны в вики.

Два типа рендереров

Библиотека предлагает два основных инструмента: Renderer2d для работы с двумерной графикой на интерфейсе и Renderer3d для трёхмерного рендеринга в игровом мире.

Система событий

Встроенная система событий позволяет отслеживать различные этапы рендеринга, такие как отрисовка интерфейса или мира. Подробности о доступных событиях и их использовании можно найти в вики.

Примеры кода

Дополнительные примеры реализации доступны в классе RendererClient.

class Listener {
    void main() {
        Events.manager.registerSubscribers(this);
    }
    @MessageSubscription
    void onWorldRendered(RenderEvent.World world) {
        // Залитый квадрат в координатах (0, 0, 0):
        Renderer3d.renderFilled(world.getMatrixStack(), Color.RED, Vec3d.ZERO, new Vec3d(1, 1, 1));
        // Контур квадрата в координатах (0, 0, 0):
        Renderer3d.renderOutline(world.getMatrixStack(), Color.RED, Vec3d.ZERO, new Vec3d(1, 1, 1));
    }

    @MessageSubscription
    void onHudRendered(RenderEvent.Hud hud) {
        // Скруглённый квадрат в области (50, 50 -> 100, 100), радиус скругления 5 пикселей, 10 сэмплов
        Renderer2d.renderRoundedQuad(RendererUtil.getEmptyMatrixStack(), Color.WHITE, 50, 50, 100, 100, 5, 10);
    }
}
Участники проекта
0x3C50

0x3C50

Разработчик

Создан: 10 апр 2022

ID: 7440