Ash API
Ash API - библиотека для разработчиков модов Minecraft, которая объединяет Fabric и NeoForge через общий слой API. Она упрощает создание многозагрузочных проектов и не добавляет в игру собственный контент.
Ash API - это библиотека для Minecraft, созданная для разработчиков модов. Она выступает промежуточным слоем между Fabric и NeoForge, чтобы один проект было проще поддерживать сразу под несколько загрузчиков.
Игрок не увидит в мире новые блоки, предметы или механики после установки Ash API. Это техническая зависимость, которая нужна другим модам. Если проект в списке ниже требует Ash API, библиотека должна быть установлена вместе с ним на подходящую версию Minecraft.
Зачем нужен Ash API
Fabric и NeoForge используют разные подходы к регистрации контента, обработке событий, загрузке ресурсов и настройке модов. При разработке версии под каждый загрузчик часть кода приходится писать отдельно, а затем синхронизировать изменения. Ash API убирает значительную часть этой рутины.
Библиотека предоставляет единый набор интерфейсов для многозагрузочной разработки. Автор ориентируется на проекты вроде Jared's MultiLoader-Template, где один мод собирается сразу для нескольких платформ. В результате разработчику проще переносить общую логику между Fabric и NeoForge, не превращая кодовую базу в набор независимых реализаций.
Для обычного игрока польза проявляется косвенно: моды, использующие Ash API, получают более удобную основу для поддержки разных загрузчиков и версий Minecraft. Это может упростить выпуск обновлений и уменьшить расхождения между вариантами одного и того же мода.
Какие моды используют Ash API
С библиотекой работают несколько проектов:
Если один из этих модов указывает Ash API в зависимостях, удалять библиотеку нельзя. Даже при отсутствии заметных изменений в интерфейсе или мире она может использоваться для внутренних регистраций и событий.
Реализованные API
В версии 1.0.0 Ash API предоставляет следующие интерфейсы и точки интеграции:
- KeyMappingRegistry - регистрация пользовательских клавиш и привязок управления.
- ClientTickEvents - работа с событиями клиентского тика.
- UseBlockEvent - обработка использования блоков игроком.
- ModLoader - определение и взаимодействие с загрузчиком модов.
- ResourceLoader - загрузка ресурсов мода.
- ModOptions - базовый API для параметров и настроек модов.
- ModOptionsScreen - подключение экрана настроек мода.
Эти функции особенно полезны для проектов, где нужно сохранить одинаковое поведение на разных загрузчиках. Например, мод может регистрировать клавишу, реагировать на использование блока или добавлять экран настроек через общий слой, а различия между Fabric и NeoForge остаются внутри Ash API.
Полная документация для всех реализованных интерфейсов заявлена отдельно. На текущем этапе подробные сведения доступны в виде Javadocs внутри исходного кода. Поэтому Ash API в первую очередь рассчитан на разработчиков, знакомых с Java и многозагрузочной архитектурой модов.
Совместимость и версии Minecraft
По доступным данным, проект выпускался для следующих веток Minecraft Java Edition:
- Minecraft 1.19.3 и 1.19.4
- Minecraft 1.20, 1.20.1 и 1.20.2
- Minecraft 1.20.4
- Minecraft 1.20.6
- Minecraft 1.21 и более новых версий вплоть до 1.21.6 в доступном списке релизов
В списке платформ встречаются Fabric, Forge, NeoForge и Quilt, а варианты библиотеки предназначены для клиентской и серверной стороны. При этом главная задача Ash API остаётся прежней: предоставить общий слой для проектов, ориентированных прежде всего на Fabric и NeoForge.
Перед установкой важно сверить версию Ash API с версией зависимого мода и загрузчиком. Библиотека под Minecraft 1.20.1 не обязательно подойдёт для сборки на 1.20.6 или 1.21, даже если название загрузчика совпадает. Такие зависимости обычно требуют точного соответствия версии игры.
Что изменится в игре
Сам по себе Ash API не меняет игровой процесс. Он не добавляет мобов, биомы, предметы, команды или визуальные эффекты. После установки без зависимого мода вы, скорее всего, не заметите никаких изменений.
Его задача находится на уровне программной совместимости. Ash API помогает другим модам одинаково работать с клавишами, ресурсами, настройками, клиентскими событиями и взаимодействием с блоками. Поэтому библиотека полезна не как самостоятельное дополнение к выживанию, а как необходимая часть технической сборки модов.
Что важно знать при установке
Ash API нужно устанавливать только тогда, когда его требует другой мод или сборка модов. Ставить библиотеку отдельно ради новых функций в игре смысла нет. Она не является контентным модом и не предоставляет игроку отдельное меню или набор настроек.
На клиенте и сервере набор необходимых зависимостей может отличаться. Если зависимый мод использует Ash API только для клиентских функций, серверная установка может не потребоваться. Но это определяется конкретным модом, поэтому ориентироваться нужно на его список зависимостей и выбранную версию загрузчика.
При обновлении сборки не стоит заменять файл Ash API на случайную версию. Сначала проверьте версию Minecraft, загрузчик и требования мода, который использует библиотеку. Несовпадение часто приводит к ошибке запуска ещё до открытия мира, хотя сама библиотека не добавляет никаких видимых игровых объектов.
Для кого предназначен проект
Ash API рассчитан на авторов модов и пользователей, которые собирают Minecraft на Fabric, NeoForge или других поддерживаемых загрузчиках. Разработчикам он даёт общий набор API для многозагрузочной среды, а игрокам помогает запускать моды, которым нужна единая прослойка совместимости.
Проект распространяется под лицензией LGPL-3.0-only и относится к библиотекам. Функции добавляются по мере необходимости для модов автора, но сама архитектура рассчитана на использование другими разработчиками в многозагрузочных проектах.
Часто задаваемые вопросы
Версии мода Ash API
Доступно 126 версий. Сначала показаны самые популярные и самые свежие.