Skip to content
Перейти к содержимому
Вернуться в блог
Architectury API: Создавайте моды для Minecraft под все плат

Architectury API: Создавайте моды для Minecraft под все плат

Alexandru Maftei
Alexandru Maftei
@ice
Обновлено
55 просмотров
Быстрый ответ:Architectury API позволяет разработчикам модов Minecraft создавать кроссплатформенные моды, работоспособные на обоих Forge и Fabric, без необходимости дублирования кода. Это достигается за счет унифицированного интерфейса и аннотации @ExpectPlatform.
TL;DR:Architectury API позволяет разработчикам модов писать код один раз и развертывать его на Fabric, Forge и других загрузчиках Minecraft. Узнайте, как эта Java-библиотека абстрагирует различия платформ и упрощает разработку кроссплатформенных модов.
✅ Открытый проект Minecraft

architectury/architectury-api

Посредственная API, предназначенная для упрощения разработки кроссплатформенных модов.

⭐ 420 звезд✏ Java✍ LGPL-3.0
Посмотреть на GitHub ↗

Устали писать отдельные моды для Fabric и Forge? Architectury API позволяет написать код один раз и развернуть его на нескольких загрузчиках без дублирования половины проекта. Это фреймворк, который превращает разработку кроссплатформенных модов из мучительной задачи в что-то действительно практичное.

Что делает эта API

Architectury API - не просто еще одна библиотека. Это слой перевода между двумя фундаментально разными способами моддинга Minecraft.

Представьте: Вы построили блестящий мод для Forge. Затем кто-то спрашивает, работает ли он на Fabric. Оказывается, нет, потому что Forge и Fabric реализовали основные системы совершенно по-разному, и вы вплели загрузчик-специфический код по всему проекту. Теперь вы глядите на месяцы переписки, чтобы получить тот же мод, работающий на другой платформе.

Ровно эту проблему решает Architectury. Но предоставляет унифицированный интерфейс, чтобы ваш мод мог вызывать тот загрузчик, на котором он запущен, не беспокоясь о различиях внизу. У Forge другой код, чем у Fabric? Architectury обрабатывает это за вас. Проект предоставляет более 90 hook-ов событий и абстракций для реестров, сетевого взаимодействия и обнаружения загрузчика. Вы не реинжинирите весь ландшафт API, а получаете разумный слой перевода, свободно говорящий обоими языками.


Почему разработчики модов хотят этого

Вот жестокая правда старомодной разработки кроссплатформенных модов: вы строили мод, тестили, исправляли ошибки, добавляли функции... и затем делали все это заново для другого загрузчика. Каждое исправление ошибки требовало приземления в двух местах. Каждая новая функция означала двойную работу. Большинство моддеров просто выбирали одну платформу и заканчивали.

С Architectury вы сохраняете общий код в общем модуле и упаковываете платформо-специфический стаф в отдельные папки. Большая часть вашей логики живет один раз и работает везде. Это действительно мощно, когда вы поддерживаете мод в течение месяцев или лет. Но это также означает, что вы не выбираете между сообществами. Некоторые игроки предпочитают загрузчики Fabric (особенно Quilt), другие придерживаются Forge. Посмотрите список серверов на minecraft.how и вы увидите мультиплеерные сообщества, использующие дико разные модпаки, каждый со своими предпочтениями загрузчика. Поддерживая несколько платформ, вы достигаете обе аудитории, а не оставляете одну за бортом.


Аннотация @ExpectPlatform: Как это работает

README упоминает эту аннотацию, но вот что происходит под капотом.

Предположим, вам нужно вызвать что-то, реализованное по-разному на Fabric и Forge. Возможно, рендеринг экрана, обработка событий или сетевые пакеты. Вы не можете просто вызвать оба. Люди, пытающиеся это сделать, не знают во время компиляции, какой загрузчик вы используете.

Ответ Architectury: аннотация @ExpectPlatform. Отметьте метод этой аннотацией, и вы сообщаете системе сборки: "Этот метод будет иметь разные реализации в зависимости от платформы." Ваш общий код вызывает его нормально. За кулисами процесс сборки подставляет правильную версию для каждого загрузчика. Пользователи Fabric получают реализацию Fabric, пользователи Forge - Forge. Чисто.

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


За пределами аннотаций: События, Сетевое взаимодействие, Реестры

@ExpectPlatform мощная, но Architectury не останавливается на этом.

Системы событий огромны. У Fabric и Forge они есть, но архитектурно отличаются. Architectury абстрагирует оба, так что вы регистрируете слушатели событий без ветвления, специфичного для платформы. Различия в реестре предметов? Покрыты. Сетевое взаимодействие между клиентом и сервером? То же самое treatment. Одно, что стоит отметить: вам не обязательно использовать все это. Architectury опциональна даже в проекте, построенном с их инструментами. Вы можете использовать только настройку сборки и обрабатывать различия самостоятельно, если хотите. Но если вы уже здесь, почему бы не использовать событийные hook-и и утилиты, которые они уже написали? Сэкономите время.


Что вам нужно, чтобы начать

Вот где люди путаются.

Architectury API сама по себе недостаточна. Вам нужны три части, работающие вместе. Первое - Плагин Architectury, плагин Gradle, который настраивает структуру проекта и сообщает системе сборки, как обрабатывать платформенные различия. Второе - Architectury Loom, fork Fabric Loom, добавляющий возможности кроссплатформенной сборки (декомпиляция, ремаппинг, управление средой разработки). Третье - просмотр официальных шаблонов на их GitHub, чтобы понять фактическую структуру папок и конфигурацию Gradle.

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


Общие вещи, которые сбивают новых моддеров

Вы не можете просто прикрутить Architectury к существующему одноплатформенному моду. Большинство игроков cần перестроить ваш проект, используя их инструменты. Это не непреодолимо, но и не нулевая работа.

@ExpectPlatform работает только на статических методах. Это реальный ограничитель, если вы привыкли к подходам на основе экземпляров. Это имеет смысл (статические методы проще подменять во время сборки), но хорошо знать заранее.

Тестирование становится более сложным. Вам нужно фактически тестировать оба загрузчика, желательно на нескольких версиях Minecraft. Ваша настройка CI должна обрабатывать это. Соло-моддеры часто пропускают полное тестирование, поэтому некоторые моды утверждают, что поддерживают кроссплатформенность, но на самом деле работают заметно лучше на одной платформе, чем на другой.


Вам это нужно?

Для быстрого экспериментального мода, вероятно, нет. Разработка на одной платформе быстрее. Но как только у вас есть что-то реальное с функциями, которые не заботятся, какой загрузчик под ним, Architectury экономит огромное количество времени.

Если ваш мод глубоко связан с платформо-специфическими функциями, или вы целитесь только на один загрузчик, пропустите его. Вы будете счастливее и быстрее. Сладкое место: у вас есть солидная идея мода, вы хотите достичь самой широкой возможной игровой аудитории, и вы не хотите поддерживать два совершенно отдельных кодбейса. Вот когда Architectury заслуживает своего места в вашей сборке.


Альтернативные подходы, достойные рассмотрения

Quilt Standard Library - еще один кроссплатформенный вариант, хотя он более ориентирован на совместимость с Quilt, чем широкий фокус Architectury на нескольких загрузчиках.

Некоторые моддеры используют аннотации процессора или Mixins для обработки платформенных различий без посредственной абстракции. Больше работы, но вы сохраняете максимальный контроль. И честно говоря, если вы всегда целитесь только на Forge или только на Fabric, вам не нужен Architectury вовсе. Используйте родные API платформы и пропустите слой абстракции entirely. Нет стыда в разработке на одной платформе, если это ваша цель.


Настоящая ценность предложения

Если ваши амбиции в моддинге выходят за рамки одной платформы, Architectury - это время, хорошо потраченное. Вот дело, проект активно поддерживается, сообщество полезно (их Discord связано на GitHub), и решение действительно работает в масштабе.

Строить кроссплатформенные моды без этого - как управлять отдельными настройками DNS вручную вместо использования инструмента - технически возможно, но зачем? Инструменты существуют, чтобы спасти вас от ненужной сложности. Экосистема моддинга Minecraft процветает на нескольких загрузчиках. Architectury делает участие в этой экосистеме практичным, а не изнурительным.

Об авторе
Alexandru Maftei
Alexandru MafteiВедущий автор

Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.

Поделитесь с друзьями!

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

Что такое Architectury API и для чего она предназначена?
Architectury API - это посредственная API, предназначенная для упрощения разработки кроссплатформенных модов для Minecraft, позволяющая избежать дублирования кода для Forge и Fabric.
Как работает аннотация @ExpectPlatform в Architectury API?
Аннотация @ExpectPlatform используется для методов, имеющих разные реализации на Forge и Fabric. Она сообщает системе сборки заменить метод на правильную платформо-специфическую реализацию во время сборки.
Требуется ли полная перестройка проекта для использования Architectury API?
Да, для использования Architectury API обычно требуется перестроить проект, используя их инструменты (плагин Gradle, Architectury Loom и официальные шаблоны), что может быть не нулевой работой для существующих одноплатформенных модов.
Поддерживает ли Architectury API тестирование на нескольких платформах?
Тестирование на нескольких платформах (Forge и Fabric) становится более сложным и требует настройки CI для обслуживания обоих загрузчиков, но это необходимо для обеспечения кроссплатформенной совместимости.
Могу ли я использовать Architectury API только для части своего проекта?
Да, Architectury API может быть использована опционально, даже в проекте, построенном с их инструментами. Вы можете выбрать, использовать ли только настройку сборки или дополнительно событийные hook-и и утилиты.

Комментарии

Пока нет комментариев. Станьте первым, кто поделится своим мнением!

Похожие статьи

ModernUI-MC: Создание Более Удобных Интерфейсов для Модов Mi

ModernUI-MC: Создание Более Удобных Интерфейсов для Модов Mi

ModernUI-MC - это фреймворк модов для Minecraft, внедряющий современный дизайн интерфейса. Предоставляет движок отображения текста, виджеты GUI и API для моддинга для игроков и разработчиков. Поддерживает Forge и Fabric на нескольких версиях.

29.04.2026
Лучший загрузчик модов Minecraft 2026: полный обзор

Лучший загрузчик модов Minecraft 2026: полный обзор

В 2026 году лучший загрузчик модов Minecraft зависит от ваших приоритетов: Forge предлагает самую большую экосистему модов, Fabric обеспечивает превосходную производительность, NeoForge объединяет оба преимущества, а Quilt предлагает разработку, управляемую сообществом. Выбирайте на основе того, какие моды вы хотите использовать, и ваших потребностей в производительности.

05.04.2026
Natsurainko.FluentLauncher: Лучший запускатор Minecraft для

Natsurainko.FluentLauncher: Лучший запускатор Minecraft для

FluentLauncher - родной запускатор Minecraft для Windows 11 с плавным дизайном. Поддерживает Forge, Fabric, Neoforge и Quilt, импорт модпаков из CurseForge и Modrinth. Бесплатный и открытый.

08.05.2026

We use cookies to improve your experience. By continuing to use this site, you agree to our use of cookies. Read our Privacy Policy