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

TLA Api

Активный

Установок

0

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

1 год назад

Версии

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

TLA Api

TLA Api представляет собой промежуточный слой для упрощения работы с API просмотрщиков рецептов в Minecraft. Этот инструмент позволяет разработчикам модификаций создать единую систему интеграции, которая будет функционировать с различными популярными программами для просмотра рецептов.

На текущий момент обеспечивается поддержка следующих просмотрщиков рецептов: EMI и REI.

Использование

Подключение через Gradle

Для получения доступа к TLA Api через Jitpack необходимо добавить следующие строки в файл build.gradle:

repositories {
    maven {
        url "https://jitpack.io"
    }
}

dependencies {
    modImplementation "com.github.mattidragon:TlaApi:${tla_api_version}"
    include "com.github.mattidragon:TlaApi:${tla_api_version}"
}

Начало работы

Для работы с API требуется реализовать интерфейс TlaApiPlugin и добавить вашу реализацию в точку входа tla-api. Важно отметить, что весь API функционирует исключительно на стороне клиента. При использовании разделённых исходных наборов необходимо реализовать API в клиентской части.

public class MyTlaPlugin implements TlaApiPlugin {
    @Override
    public void register(PluginContext context) {
        // Регистрация API осуществляется здесь
    }
}
{
  "entrypoints": {
    "tla-api": [
      "my.package.MyTlaPlugin"
    ]
  }
}

Регистрация контента

После настройки точки входа можно приступать к регистрации контента. Вся документация API доступна через javadocs, что позволяет использовать возможности вашей IDE для изучения функционала. Конструкция API в основном основывается на EMIs, однако были внесены определённые изменения для обеспечения совместимости с REI.

Важные аспекты

Несмотря на то, что TLA Api предоставляет универсальную абстракцию, разработчикам рекомендуется самостоятельно проверять корректность работы кода с обоими просмотрщиками рецептов. Например, для EMI всё равно требуется преобразовывать все теги. Также возможно незначительное различие в отображении некоторых элементов интерфейса.

Для удобной работы с API рекомендуется обращать внимание на следующие аннотации:

  • @ApiStatus.Internal - элементы кода, не предназначенные для использования разработчиками модификаций;
  • @ImplementationOnly - части кода, ориентированные на реализацию API для просмотрщиков рецептов;
  • @PluginOnly - компоненты, предназначенные исключительно для плагинов;
  • @ImplementationsExtend - указывает, что интерфейс реализуется имплементациями API;
  • @PluginsExtend - означает, что интерфейс реализуется плагинами.

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

Вопрос: Позволяет ли эта API работать с двумя просмотрщиками модам, поддерживающим только одного? Ответ: Нет. Данная API лишь упрощает разработчикам возможность поддержки обоих просмотрщиков.

Вопрос: Почему API работает только на клиентской стороне? Ответ: Весь API EMI функционирует исключительно на стороне клиента, а у REI серверная часть API не содержит функций, которые использует TLA.

Вопрос: Есть ли примеры использования? Ответ: Да, ознакомиться с тестовым модом можно здесь Git: https://github.com/mattidragon/TlaApi/tree/1.20.4/src/testmod. Он содержит некоторые нестандартные реализации, но хорошо демонстрирует возможности API.

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

MattiDragon

Разработчик

Создан: 11 янв 2024

ID: 18729