TLA Api
Активный0.0
Установок
Последнее обновление
Версии
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.