▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/Avoid - Фреймворк для разработки модов на Minecraft
Avoid - Фреймворк для разработки модов на Minecraft

Avoid - Фреймворк для разработки модов на Minecraft

Avoid - библиотечный фреймворк, который заменяет прямые обращения к net.minecraft единым API. Один код работает на Fabric, NeoForge, Sponge и частично Paper в десятках версий Minecraft.

Оцените первым
3.2K
6

Avoid - это не мод, который добавляет руды, мобов или биомы. Это библиотека для тех, кто эти моды пишет. Если ты когда-нибудь пробовал портировать свой проект с 1.20.1 на 1.21, ты знаешь боль: Mojang ломает имена методов, загрузчики меняют API, и код приходится переписывать заново. Avoid придуман, чтобы это прекратить.

Что такое Avoid и зачем он нужен

Avoid - фреймворк (каркас), который оборачивает весь код Майнкрафт в собственный слой. Мододел пишет логику один раз через API Avoid и получает совместимость сразу с несколькими версиями и загрузчиками. По сути, это попытка сделать что-то вроде Bukkit, но не для серверных плагинов, а для самого движка Minecraft.

Кому это надо на практике? Тем, кто пишет моды на Fabric, NeoForge, Sponge и Paper одновременно и устал поддерживать отдельный форк под каждый загрузчик. Если ты кодишь что-то посерьёзнее одного мода на 1.21 - избегать такой обёртки, скажем честно, глупо.

Важный нюанс: сам по себе Avoid не добавит в игру ни контента, ни механик. Это чисто инструмент для разработчиков, и обычному игроку напрямую он ничего не даёт. Зато если любимый мод автора перейдёт на Avoid, обновления под новые версии Minecraft будут выходить быстрее.

Совместимость по версиям и загрузчикам

Тут начинается самое интересное. Матрица поддержки выглядит так:

Версия MinecraftFabricNeoForgeSpongePaper (ALPHA)Статус
1.21.8ДаНетНетНет
1.21.10ДаНетНетНет
1.21.11ДаНетДаДа[LTS]
26.1.*ДаДаДаНет[LTS]
26.2ДаДаДаНет
26.3ДаДаНетНет
26.4-snapshot-1ДаНетНетНет[TS]

Где LTS - долгосрочная поддержка, а TS - временная. Обрати внимание: на версии 26.3, о которой шумят в сообществе, заявлены Fabric и Quilt, а вот Sponge и Paper отваливаются. Автор честно предупреждает, что билд для 26.4-snapshot-1 задержался - мол, сам не сразу заметил.

Quilt, кстати, официально не поддерживается и ломает мод. Автор прямым текстом пишет почему: его забанили на их Discord за излишнюю честность. Забавно, но факт остаётся фактом - на Quilt Avoid работать не будет.

Хочешь скачать Avoid? Держи в уме

Мод не требует Fabric API - это огромный плюс, меньше зависимостей в сборке. А вот на Paper часть функций может просто не работать или превращаться в заглушки (no-op). Так что если ты серверный админ и хочешь гонять Avoid-плагины на Paper - тестируй тщательнее.

Важный нюанс для разработчиков: новый API-шный блок (например, создание блоков, предметов и сущностей) помечен как ALPHA. Это значит, что сигнатуры методов ещё могут меняться между релизами. Если пишешь серьёзный addon под Avoid - фиксируй версию фреймворка в манифесте и не обновляй вслепую.

Что умеет Avoid: API и события

Ядро Avoid - это набор API, которые обычно идут отдельными библиотеками под каждый загрузчик. Здесь всё в одном пакете и совместимо друг с другом.

Основные API:

  • NBT и идентификаторы (Identifier)
  • Клиентский и серверный чат, цвета, компоненты чата [BETA]
  • Запросы к предметам, компоненты предметов и их редактирование [ALPHA/BETA]
  • Типы сущностей, селекторы сущностей, трансформированные компоненты [BETA]
  • Клиентский API: экраны, виджеты, модификаторы экранов, взаимодействия
  • Font API и Render Layer API [BETA]
  • Command API: команды, параметры, права, плейсхолдеры [ALPHA]
  • Создание блоков, предметов, сущностей, жидкостей, тумана [ALPHA/BETA]
  • Addon Loader (AvoidModLoader) - свой загрузчик аддонов
  • Resource Overriding [ALPHA]

События разбиты по группам: клиентский чат, ввод с клавиатуры, GUI, экраны, серверный чат, команды, сущности, игроки. Отдельно есть вложенные события под конкретные механики - наковальня, кровать, стол зачарований, еда. Например, ServerPlayerAnvilXP40TriggerStackedEvent ловит момент, когда снятие зачарования на наковальне упирается в лимит 40 уровней. Таких детальных хуков у конкурентов почти нет.

Есть даже ServerLlamaSpitEvent - событие, когда лама плюётся. Не знаю, где это пригодится, но звучит забавно.

Что Avoid пытается заменить

Автор не скрывает амбиций: фреймворк должен закрыть потребности сразу в целой пачке библиотек. Список целей огромный - Fabric API, Architectury, Konkrete, CreativeCore, Moonlight Lib, Trinkets, Balm и ещё десяток других. Реальность пока скромнее: полностью завершена только замена Fabric Language Kotlin, остальное в процессе.

Совет разработчику: не выкидывай свои зависимости сразу. Например, GeckoLib для сложных анимаций и forge-config-api-port для конфигов пока остаются нужными. Avoid заменит конфиг-апи в будущем, но сейчас это ещё не готово.

Почему это вообще имеет смысл

Главная фишка - один и тот же API работает на всех версиях. Сравни: обычные библиотеки ломаются с каждым обновлением Майнкрафт (Mojang меняет методы, и приходится ждать порта). Avoid берёт на себя эту боль. В списке изменений, которые фреймворк уже пережил без слома совместимости:

  • рефакторинг рендеринга и имён в 26.1
  • переделка Item Stack в 26.1
  • изменения мира, игрока, чата в 26.1
  • рефакторинг сущностей и GUI в 26.2
  • удаление Block Type и переход на SDL и RenderPearl в 26.3
  • PushReaction Refactor в 26.3

Короче, для мультиверсионных модов Avoid - потенциальная находка. Особенно если ты устал от Architectury и не хочешь тащить пять библиотек ради одного проекта.

FAQ по Avoid

Avoid - это мод или библиотека? Это библиотека-фреймворк для разработки. Игрового контента не добавляет.

Quilt поддерживается? Нет, ломает мод.

Paper работает? Частично, в альфе. Часть функций может быть заглушкой.

Fabric API нужен? Нет, Avoid от него не зависит.

Когда новый релиз? Автор выпускает обновления примерно каждые 3 дня - неделю, но задержки бывают.

Если ты мододел и хочешь единый API на все загрузчики - скачать Avoid стоит как минимум попробовать на небольшом проекте. Начинать сразу с крупного мода я бы не советовал: часть API в alpha и может поменяться.

Партнёрский материал

Сервер для плагина Avoid - Фреймворк для разработки модов на Minecraft - как у профи

Плагин Avoid - Фреймворк для разработки модов на Minecraft создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином Avoid - Фреймворк для разработки модов на Minecraft для друзей можно за пару минут - BungeeHost всё уже подготовил.

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

Совместимость

Minecraft: Java Edition

26.4.x26.3.x26.2.x26.1.x1.21.x

Поддерживаемые окружения

Клиент и сервер

Зависимости

Ссылки

Создатели

Детали

Лицензия:
Опубликован:4 месяца назад
Обновлён:1 неделю назад
Главная