- Документация
- https://modrinth.com/plugin/taterlib
TaterLib — библиотека общих абстракций для Tater* и других проектов, работающих с разными API Minecraft. Проект p0t4t0sandwich распространяется по MIT; клиент не поддерживается, сервер обязателен. Подтверждены Minecraft 1.19.4 и 1.20–1.20.4.
TaterLib позволяет писать общую часть плагина или мода один раз и применять её на нескольких платформах. Она обобщает события, команды и игровые объекты. Подход «один JAR» работает только для проектов, изначально использующих API TaterLib, и не делает произвольный сторонний плагин кроссплатформенным.
Для владельца сервера библиотека обычно не является самостоятельным игровым дополнением. Её смысл раскрывается через плагины или моды, которые используют TaterLib как основу. Поэтому после установки следует проверять не наличие новых механик у самой библиотеки, а корректную загрузку зависимого проекта.
Основная аудитория — разработчики, которые поддерживают один проект для нескольких серверных и моддинговых API. Библиотека также важна администраторам, если выбранный плагин прямо требует её присутствия.
Практические сценарии:
• перенос общей логики между Bukkit-подобными платформами;
• поддержка прокси и игровых серверов в одном проекте;
• выпуск одной кодовой базы для Fabric, Forge и других сред;
• сокращение числа платформенных реализаций событий и команд;
• добавление недостающей абстракции через вклад в открытый проект;
• установка как серверной зависимости другого Tater*-плагина.
Если конечный проект не использует TaterLib, установка библиотеки сама по себе не добавляет подтверждённых игровых функций.
В выбранных метаданных перечислены Bukkit, BungeeCord, Fabric, Folia, Forge, NeoForge, Paper, Purpur, Quilt, Spigot, Sponge, Velocity и Waterfall. Официальный фрагмент отдельно называет Bukkit, BungeeCord, Fabric, Forge, Sponge и Velocity. Эти списки различаются по полноте, поэтому для конкретного JAR следует ориентироваться на метаданные выбранного выпуска и затем проверять запуск.
Перечень охватывает Bukkit-серверы, прокси, моддинговые платформы и Sponge.
Наличие платформы в списке не означает одинаковую полноту абстракций. Библиотека может загружаться, а нужная зависимому проекту функция — отсутствовать.
Подтверждены 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3 и 1.20.4. Для ветки 1.20.x указан taterlib-1.20.x-1.1.0.jar, а для 1.19.4 — отдельный taterlib-1.19.4-1.1.0.jar.
Оба файла имеют версию TaterLib 1.1.0, но собраны для разных веток игры. Перестановка вариантов 1.20.x и 1.19.4 не подтверждена. Исторические примечания об иных версиях не расширяют текущий проверенный список.
Авторы предупреждают о неполных и отсутствующих абстракциях. Общий слой уменьшает повторение кода, но не гарантирует одинаковую доступность каждого события и объекта во всех API.
Для разработчика безопасный порядок такой:
• Составить список функций своего проекта.
• Сопоставить их с имеющимися абстракциями TaterLib.
• Проверить каждую целевую платформу отдельно.
• Для отсутствующей функции решить, реализовать ли платформенный код локально.
• При необходимости подготовить вклад в библиотеку.
• Не объявлять платформу поддерживаемой до прохождения тестов.
Пробел можно закрыть платформенным кодом конечного проекта либо вкладом в TaterLib. Автоматически отсутствующие части не появляются.
В основе установка описана как помещение JAR в plugins совместимого сервера, но отдельной схемы для моддинговых и прокси-платформ нет. Нельзя автоматически переносить этот путь на Fabric, Forge, NeoForge, Quilt, Sponge или прокси. Фрагмент Gradle обрезан и не должен восстанавливаться догадками.
Для совместимого серверного сценария базовый порядок выглядит так:
• проверить версию Minecraft и вариант JAR;
• сохранить резервную копию;
• сверить SHA-512;
• поместить файл в подтверждённый каталог среды;
• установить зависимый проект;
• запустить тестовый экземпляр;
• проверить журнал загрузки обоих компонентов.
LuckPerms указан как optional и не требуется для базового присутствия TaterLib, однако конечный плагин может предъявлять собственные требования. Цепочку совместимости строят от него: версия TaterLib, платформа и дополнительные компоненты.
У TaterLib нет подтверждённого пользовательского интерфейса или самостоятельной игровой механики. Проверка строится вокруг журнала и зависимого проекта.
Минимальный чек-лист:
• сервер или прокси запускается без ошибки загрузки JAR;
• TaterLib распознаётся в ожидаемой версии;
• зависимый плагин не сообщает об отсутствующей библиотеке;
• его основные события и команды работают;
• нет ошибок отсутствующих классов или методов;
• повторный запуск не создаёт новых сбоев;
• на каждой заявленной платформе тест повторён отдельно;
• необязательная интеграция LuckPerms проверена только там, где она используется.
Успех на Paper не подтверждает Fabric, Velocity или Forge: каждую целевую платформу проверяют отдельно.
taterlib-1.20.x-1.1.0.jar имеет размер 9 830 335 байт. Для 1.19.4 указан файл размером 9 818 347 байт. Для обоих приведены SHA-512 и SHA-1. Файлы получены по официальному HTTPS, локально сверены по опубликованным хешам и прошли статическую проверку структуры и путей.
Динамический запуск не выполнялся. Хеши подтверждают соответствие файлам, но не работоспособность всей цепочки; её проверяют с тем же плагином и платформой.
TaterLib обновляют согласованно с зависимыми проектами: замена может изменить доступность классов, методов или платформенных реализаций.
Практический порядок обновления:
• Зафиксировать версии сервера, TaterLib и зависимых проектов.
• Сохранить прежние JAR и данные сервера.
• Проверить требования конечного плагина.
• Сверить хеш новой библиотеки.
• Запустить копию среды.
• Проверить основные функции зависимого проекта.
• Повторить тест для каждой поддерживаемой платформы.
Для отката возвращают прежнюю совместимую связку, а не только TaterLib. Если одновременно обновлялся зависимый плагин, его также откатывают до версии, проверенной с сохранённой библиотекой.
Ошибка загрузки TaterLib обычно требует проверки четырёх параметров: версия Minecraft, платформа, вариант JAR и требования зависимого проекта. Первую относящуюся к сбою запись журнала анализируют до последующих каскадных ошибок.
Если функция отсутствует, фиксируют действие, платформу, версии обоих JAR и сообщение о классе, методе или событии. Компоненты меняют по одному, а секреты из журнала удаляют.
TaterLib распространяется по MIT. Локализация и модификация допускаются при сохранении имени проекта, авторства p0t4t0sandwich и лицензионного уведомления. Официальный текст приветствует вклад и предлагает добавлять недостающие реализации, но редакционные выводы и результаты сторонних тестов нельзя приписывать автору.
Открытая лицензия не означает полноту всех абстракций и не заменяет проверку совместимости.
По назначению это кодовая библиотека. Пользовательский эффект обычно появляется через плагин или мод, который использует её API.
В основе приведены отдельные файлы для 1.20.x и 1.19.4. Общая идея одного JAR относится к нескольким платформам внутри поддерживаемой ветки, а не к произвольным версиям игры.
Нет, он указан как optional. Требования конечного плагина нужно проверять отдельно.
Нет. Официальный текст прямо предупреждает о неполных и отсутствующих абстракциях.
Для совместимого серверного сценария источник указывает папку plugins. Для моддинговых и прокси-сред точный путь в предоставленном материале не раскрыт, поэтому его нельзя додумывать.
Назначение библиотеки
TaterLib позволяет писать общую часть плагина или мода один раз и применять её на нескольких платформах. Она обобщает события, команды и игровые объекты. Подход «один JAR» работает только для проектов, изначально использующих API TaterLib, и не делает произвольный сторонний плагин кроссплатформенным.
Для владельца сервера библиотека обычно не является самостоятельным игровым дополнением. Её смысл раскрывается через плагины или моды, которые используют TaterLib как основу. Поэтому после установки следует проверять не наличие новых механик у самой библиотеки, а корректную загрузку зависимого проекта.
Скриншоты и внешний вид
Кому подходит TaterLib
Основная аудитория — разработчики, которые поддерживают один проект для нескольких серверных и моддинговых API. Библиотека также важна администраторам, если выбранный плагин прямо требует её присутствия.
Практические сценарии:
• перенос общей логики между Bukkit-подобными платформами;
• поддержка прокси и игровых серверов в одном проекте;
• выпуск одной кодовой базы для Fabric, Forge и других сред;
• сокращение числа платформенных реализаций событий и команд;
• добавление недостающей абстракции через вклад в открытый проект;
• установка как серверной зависимости другого Tater*-плагина.
Если конечный проект не использует TaterLib, установка библиотеки сама по себе не добавляет подтверждённых игровых функций.
Поддерживаемые платформы
В выбранных метаданных перечислены Bukkit, BungeeCord, Fabric, Folia, Forge, NeoForge, Paper, Purpur, Quilt, Spigot, Sponge, Velocity и Waterfall. Официальный фрагмент отдельно называет Bukkit, BungeeCord, Fabric, Forge, Sponge и Velocity. Эти списки различаются по полноте, поэтому для конкретного JAR следует ориентироваться на метаданные выбранного выпуска и затем проверять запуск.
Перечень охватывает Bukkit-серверы, прокси, моддинговые платформы и Sponge.
Наличие платформы в списке не означает одинаковую полноту абстракций. Библиотека может загружаться, а нужная зависимому проекту функция — отсутствовать.
Версии Minecraft и выбор JAR
Подтверждены 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3 и 1.20.4. Для ветки 1.20.x указан taterlib-1.20.x-1.1.0.jar, а для 1.19.4 — отдельный taterlib-1.19.4-1.1.0.jar.
Оба файла имеют версию TaterLib 1.1.0, но собраны для разных веток игры. Перестановка вариантов 1.20.x и 1.19.4 не подтверждена. Исторические примечания об иных версиях не расширяют текущий проверенный список.
Абстракции и их ограничения
Авторы предупреждают о неполных и отсутствующих абстракциях. Общий слой уменьшает повторение кода, но не гарантирует одинаковую доступность каждого события и объекта во всех API.
Для разработчика безопасный порядок такой:
• Составить список функций своего проекта.
• Сопоставить их с имеющимися абстракциями TaterLib.
• Проверить каждую целевую платформу отдельно.
• Для отсутствующей функции решить, реализовать ли платформенный код локально.
• При необходимости подготовить вклад в библиотеку.
• Не объявлять платформу поддерживаемой до прохождения тестов.
Пробел можно закрыть платформенным кодом конечного проекта либо вкладом в TaterLib. Автоматически отсутствующие части не появляются.
Установка и неоднозначность среды
В основе установка описана как помещение JAR в plugins совместимого сервера, но отдельной схемы для моддинговых и прокси-платформ нет. Нельзя автоматически переносить этот путь на Fabric, Forge, NeoForge, Quilt, Sponge или прокси. Фрагмент Gradle обрезан и не должен восстанавливаться догадками.
Для совместимого серверного сценария базовый порядок выглядит так:
• проверить версию Minecraft и вариант JAR;
• сохранить резервную копию;
• сверить SHA-512;
• поместить файл в подтверждённый каталог среды;
• установить зависимый проект;
• запустить тестовый экземпляр;
• проверить журнал загрузки обоих компонентов.
Зависимости и роль LuckPerms
LuckPerms указан как optional и не требуется для базового присутствия TaterLib, однако конечный плагин может предъявлять собственные требования. Цепочку совместимости строят от него: версия TaterLib, платформа и дополнительные компоненты.
Проверка после установки
У TaterLib нет подтверждённого пользовательского интерфейса или самостоятельной игровой механики. Проверка строится вокруг журнала и зависимого проекта.
Минимальный чек-лист:
• сервер или прокси запускается без ошибки загрузки JAR;
• TaterLib распознаётся в ожидаемой версии;
• зависимый плагин не сообщает об отсутствующей библиотеке;
• его основные события и команды работают;
• нет ошибок отсутствующих классов или методов;
• повторный запуск не создаёт новых сбоев;
• на каждой заявленной платформе тест повторён отдельно;
• необязательная интеграция LuckPerms проверена только там, где она используется.
Успех на Paper не подтверждает Fabric, Velocity или Forge: каждую целевую платформу проверяют отдельно.
Файлы и проверка целостности
taterlib-1.20.x-1.1.0.jar имеет размер 9 830 335 байт. Для 1.19.4 указан файл размером 9 818 347 байт. Для обоих приведены SHA-512 и SHA-1. Файлы получены по официальному HTTPS, локально сверены по опубликованным хешам и прошли статическую проверку структуры и путей.
Динамический запуск не выполнялся. Хеши подтверждают соответствие файлам, но не работоспособность всей цепочки; её проверяют с тем же плагином и платформой.
Обновление и откат
TaterLib обновляют согласованно с зависимыми проектами: замена может изменить доступность классов, методов или платформенных реализаций.
Практический порядок обновления:
• Зафиксировать версии сервера, TaterLib и зависимых проектов.
• Сохранить прежние JAR и данные сервера.
• Проверить требования конечного плагина.
• Сверить хеш новой библиотеки.
• Запустить копию среды.
• Проверить основные функции зависимого проекта.
• Повторить тест для каждой поддерживаемой платформы.
Для отката возвращают прежнюю совместимую связку, а не только TaterLib. Если одновременно обновлялся зависимый плагин, его также откатывают до версии, проверенной с сохранённой библиотекой.
Диагностика
Ошибка загрузки TaterLib обычно требует проверки четырёх параметров: версия Minecraft, платформа, вариант JAR и требования зависимого проекта. Первую относящуюся к сбою запись журнала анализируют до последующих каскадных ошибок.
Если функция отсутствует, фиксируют действие, платформу, версии обоих JAR и сообщение о классе, методе или событии. Компоненты меняют по одному, а секреты из журнала удаляют.
Лицензия и вклад в проект
TaterLib распространяется по MIT. Локализация и модификация допускаются при сохранении имени проекта, авторства p0t4t0sandwich и лицензионного уведомления. Официальный текст приветствует вклад и предлагает добавлять недостающие реализации, но редакционные выводы и результаты сторонних тестов нельзя приписывать автору.
Открытая лицензия не означает полноту всех абстракций и не заменяет проверку совместимости.
FAQ
Является ли TaterLib самостоятельным игровым плагином?
По назначению это кодовая библиотека. Пользовательский эффект обычно появляется через плагин или мод, который использует её API.
Можно ли одним JAR охватить все версии Minecraft?
В основе приведены отдельные файлы для 1.20.x и 1.19.4. Общая идея одного JAR относится к нескольким платформам внутри поддерживаемой ветки, а не к произвольным версиям игры.
Обязателен ли LuckPerms?
Нет, он указан как optional. Требования конечного плагина нужно проверять отдельно.
Все ли абстракции полностью реализованы?
Нет. Официальный текст прямо предупреждает о неполных и отсутствующих абстракциях.
Куда устанавливать файл?
Для совместимого серверного сценария источник указывает папку plugins. Для моддинговых и прокси-сред точный путь в предоставленном материале не раскрыт, поэтому его нельзя додумывать.