Learn · frameworks

Что такое Fabric API? Объяснение моддинга

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

TRtrolPublished 5 min read

Что такое Fabric API?

Fabric API — это общий набор инструментов, на котором строится экосистема Fabric. Сам загрузчик знает только, как запустить игру и применить патчи; он практически не содержит удобных функций. API заполняет этот пробел стабильным набором событий, вспомогательных средств и интерфейсов, чтобы отдельные моды не изобретали одно и то же заново или не сталкивались друг с другом при этом.

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

Почему Fabric API не является частью загрузчика?

Fabric намеренно разделяет систему на две части. Загрузчик — это небольшое, медленно меняющееся ядро, которое запускает Minecraft и выполняет слой патчей. API — это более крупный, быстро развивающийся набор общих интерфейсов, наложенных друг на друга. Разделение позволяет каждой части двигаться в своем собственном темпе.

ЧастьЗадачаЧастота обновлений
Загрузчик FabricЗапускает игру, применяет патчи Mixin, разрешает модыБыстро переносится на новую версию MC
API FabricОбщие события, сети, реестр, вспомогательные средства рендерингаРазвивается по своему графику

Выигрыш — в скорости. Когда выходит новая версия Minecraft, небольшой лоадер можно адаптировать в течение нескольких часов, а широкий API догоняет, не блокируя первый порт. Стянув их вместе, весь стек будет двигаться не быстрее своей самой медленной части.

Что на самом деле предоставляет Fabric API?

API предоставляет модам стабильный способ делать то, что нужно почти каждому моду. Вместо того, чтобы каждый автор писал хрупкие хуки для необработанных игровых внутренних компонентов, они нацеливаются на одну общую поверхность, которую сообщество поддерживает вместе.

Жизненный цикл и игровые события

Чистые обратные вызовы для тиков, загрузки мира, присоединения игрока и взаимодействия с блоками, чтобы моды могли реагировать на игру без ручного патчинга.

Помощники в налаживании связей

Разумный способ определения и отправки пользовательских пакетов между клиентом и сервером — основа большинства модов, учитывающих многопользовательский режим.

Помощники по контенту и реестру

Общая система регистрации новых предметов, блоков и сущностей, позволяющая двум модам добавлять контент без конфликтов.

Отрисовка и вспомогательные инструменты ресурсов

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

Снимите API, и каждый мод должен будет поставляться со своей собственной копией этого механизма. Это приведёт к дублированию усилий и расхождению версий, а затем к конфликтам при попытке объединить их в одной папке. Общая библиотека — это то, что позволяет не связанным между собой модам работать вместе.

Нужен ли вам Fabric API?

Почти всегда — да. Подавляющее большинство модов Fabric объявляют его как обязательную зависимость, то есть они не загрузятся без него. Вы устанавливаете его один раз как обычный мод jar в папку mods, и каждый мод, которому он нужен, использует именно эту копию.

  • Используете ли вы Fabric с несколькими модами? Установите API.
  • На странице мода указано, что требуются "Fabric API"? Установите его.
  • Запуск небольшого, автономного мода, который явно указывает, что ему ничего не требуется? Вы можете пропустить API, хотя его наличие редко приносит вред.

Коротко: относитесь к Fabric API как к базовому набору. Цена его наличия, когда он вам не строго необходим, — одна дополнительная библиотека. Цена его отсутствия — авария.

Где взять Fabric API и как сопоставить версии

Скачайте API из официальных каналов Fabric или популярных хостингов модов и выберите сборку, помеченную для вашей точной версии Minecraft. Сопоставление версий — самая распространенная ошибка, которая приводит к самым громким и запутанным авариям.

  1. Подтвердите вашу версию Minecraft

    Обратите внимание на точную версию, с которой запускается ваш профиль, вплоть до номера патча.

  2. Загрузите соответствующую версию API

    Возьмите выпуск Fabric API, помеченный для той же версии, а не самую новую доступную.

  3. Положите его в папку с модами

    Поместите файл jar рядом с вашими другими модами. Один экземпляр нужен для всех модов, которые от него зависят.

  4. Запустите и просмотрите журнал, если произошла ошибка

    Если что-то падает, в логе обычно указывается отсутствующий класс или ожидаемая версия. Эта строка сразу указывает на исправление.

Если ручное управление версиями загрузчиков, API и модов кажется утомительным, то это действительно так. Управляемые лаунчеры и утилиты существуют частично для решения этой цепочки зависимостей, чтобы игра просто запускалась.

Часто задаваемые вопросы

Получить Terminus

Loader, API, and mods sorted out for you, with no version-matching headaches.