Скачать Better Runtime Resource Pack (BRRP) — Minecraft Моды — MetaMods

Better Runtime Resource Pack (BRRP)

Активный

Установок

21

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

1 год назад

Версии

1.16.2 — 1.21.1
Клиент
Fabric
Forge
Библиотеки

Better Runtime Resource Pack (BRRP)

BRRP (Better Runtime Resource Pack) представляет собой библиотечный мод, предназначенный для создания ресурсов непосредственно во время работы игры. Этот проект является ответвлением от мода ARRP (Advanced Runtime Resource Pack).

Важное замечание: Начиная с версии 1.0.0, идентификатор мода был изменён с better_runtime_resource_pack на brrp_v1. В новой версии реализованы изменения кода без обратной совместимости со старыми версиями, однако они могут сосуществовать параллельно. Рекомендуется использовать актуальную версию, если нет особой необходимости в старом варианте.

Что такое динамические ресурс-пакеты?

Динамические ресурс-пакеты (RRP) — это система генерации игровых ресурсов и данных в реальном времени, которая позволяет избежать повторяющихся рутинных задач. Для модов, содержащих большое количество похожих блоков и предметов, эта технология существенно уменьшает размер итогового файла мода.

Рассмотрим практический пример: таблицы добычи для большинства блоков обычно описываются как "выпадение самого блока". Некоторые блоки выпадают только при использовании шёлкового касания, а двойные плиты при разрушении дают две единицы вместо одной. Каждому блоку требуется отдельный JSON-файл для таблицы добычи — создание всех этих файлов вручную занимает много времени. Кроме того, практически каждый блок нуждается в файлах состояний блока, моделей блока и моделей предмета (моделей блока может быть несколько). Если учитывать таблицы добычи и рецепты крафта, то для полноценной работы каждого блока требуется минимум 5 JSON-файлов. Динамические ресурс-пакеты генерируют эти данные внутри игрового процесса, вместо того чтобы хранить их в JAR-файле мода.

С точки зрения функциональности динамические ресурс-пакеты ничем не отличаются от обычных. Стандартные ресурс-пакеты (включая встроенные ресурсы модов и установленные вручную пакеты ресурсов или данных) могут переопределять содержимое динамических пакетов или взаимодействовать с ними. Типичный пример: модели блоков определяются в динамических пакетах, а файлы текстур хранятся в файлах мода обычным способом (поскольку генерация текстур во время выполнения игры нецелесообразна).

По сравнению с традиционными ресурс-пакетами, динамические версии уменьшают количество операций ввода-вывода, но добавляют процесс сериализации объектов, что является их недостатком. При генерации ресурс-пакетов объекты преобразуются в байтовую форму (обычно в JSON) — этот процесс называется сериализацией. Когда игра загружает эти пакеты, байтовые данные анализируются для создания игровых объектов — это десериализация. В традиционных пакетах все ресурсы уже сериализованы, и игре требуется только десериализовать их при загрузке. В динамических пакетах происходят оба процесса.

Кратко сравним процессы загрузки традиционных и динамических ресурс-пакетов:

  • Традиционные: Файл → байтовая форма → игровые объекты
  • Динамические: Код → объекты ARRP → байтовая форма → игровые объекты

В будущих версиях планируется возможность непосредственного использования объектов, сгенерированных в игре, без процессов сериализации и десериализации. Теоретически это уже возможно, но для интеграции в формате ресурс-пакетов с возможностью переопределения традиционными пакетами требуется дополнительная разработка.

О данном моде

BRRP является независимым ответвлением от ARRP. Начиная с версии 1.0.0, мод стал полностью автономным и больше не предоставляет функции ARRP, хотя может работать параллельно с ним.

Проект имеет открытый исходный код и распространяется по лицензии MPLv2.

Дополнительная информация доступна на GitHub.

Участники проекта
SolidBlock

SolidBlock

Разработчик

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

ID: 1862