
Catalyst
Catalyst - продвинутая библиотека для моддинга особых и легаси-версий Майнкрафта. Модульная система для BTA! и StationAPI, дающая разработчикам готовые API для жидкостей, энергии, мультиблоков и GUI.
Catalyst - продвинутая библиотека для моддинга особых и легаси-версий Майнкрафта
Если вы хоть раз пробовали писать моды под старые или нестандартные версии Minecraft, то знаете: это боль. Официального Forge или Fabric там нет, API либо нет вообще, либо он настолько базовый, что каждый мод приходится писать с нуля. Catalyst - как раз про это. Это библиотека, которая даёт разработчикам готовый фундамент: классы, интерфейсы и API для типовых задач, чтобы не изобретать велосипед на каждый чих.
Проект заточен под две экосистемы. Первая - Better than Adventure! (сокращённо BTA!), это крупная модификация для беты Майнкрафта, которая добавляет кучу контента в духе старых версий игры. Вторая - StationAPI, фреймворк для моддинга Minecraft b1.7.3, той самой легендарной беты, вокруг которой до сих пор живое сообщество. Обе платформы объединяет одно: там нет современного тулинга, поэтому библиотека вроде Catalyst тут - буквально спасение.
Для каких версий доступен Catalyst
- Better than Adventure! - версии 7.3 и 8.0
- StationAPI - для Minecraft b1.7.3
Важный нюанс: если вы обычный игрок, а не разработчик, вам Catalyst сам по себе не нужен. Это не мод с контентом. Это зависимость, которую требуют другие моды. Ставится он в папку mods так же, как и всё остальное, но без других модов вы просто не увидите никаких изменений в игре. Зато если мод, который вы хотите поставить, требует Catalyst - без него он не запустится или крашнется при загрузке мира.
Модульная структура
Catalyst не монолит. Он разбит на отдельные модули, и вы подключаете только то, что реально нужно вашему проекту. Это и вес экономит, и конфликты снижает. Ниже - что уже реализовано.
Доступные модули
Core (BTA! и StationAPI)
Базовый модуль. Все остальные модули зависят от него, так что без Core ничего не заведётся. Внутри - набор утилитарных классов для других модулей и модов. Отдельно стоит упомянуть, что Core сильно упрощает создание GUI, которые корректно работают в мультиплеере. Кто писал интерфейсы для старых версий - тот поймёт, насколько это больная тема: обычно меню в MP ломается или рассинхронизируется. Здесь эту проблему закрыли.
Fluids (BTA!)
Улучшенный API для хранения и транспортировки жидкостей. Полезно всем, кто делает моды с трубами, резервуарами, машинами и прочей промышленной тематикой. Вместо того чтобы вручную городить систему перетекания и хранения, вы получаете готовые интерфейсы.
Energy (BTA!)
Простой и настраиваемый API для энергии. Это тот самый случай, когда библиотека даёт гибкость: конфигурируемый - значит, вы сами решаете, как считать и передавать энергию между блоками, а не подстраиваетесь под жёсткие рамки.
Multiblocks (BTA! и StationAPI)
Поддержка мультиблочных структур и машин. Крупные механизмы, собираемые из нескольких блоков, которые работают как единое целое. Без такого API каждый автор мода реализует мультиблоки по своему, и совместимости между ними ноль. Здесь - единый стандарт.
Effects (BTA!)
API для кастомных атрибутов и стакающихся эффектов. Речь про зелья, баффы и дебаффы, которые могут накапливаться или взаимодействовать друг с другом. Если вы хотите добавить эффект, который усиливается при повторном применении - вот сюда.
Multipart (BTA!)
API и реализация для нескольких частей одного блока. Модуль помечен как недоступный в BTA! 8.0 - то есть в актуальной версии платформы он больше не работает. Частично сохранился на более ранних сборках, но рассчитывать на него в новых проектах не стоит.
Screens (BTA! начиная с 8.0)
Новый модуль, появившийся в BTA! 8.0. Это встроенный визуальный редактор и API для создания GUI. По сути, вы собираете интерфейсы прямо в игре, без необходимости каждый раз перекомпилировать мод, чтобы посмотреть, как выглядит меню. Для авторов модов на BTA! это огромное ускорение работы.
Зачем это всё нужно
Как я уже сказал, Catalyst - не для игроков, а для тех, кто делает моды. Но игроки ощущают его пользу косвенно. Когда у разработчиков есть общий фундамент, во-первых, моды выходят быстрее. Во-вторых, они меньше конфликтуют друг с другом, потому что используют одни и те же API, а не плодят собственные несовместимые реализации. В-третьих, качество модов растёт: у авторов появляется время на контент, а не на написание очередного костыля для хранения жидкости.
Хотите модов под BTA! или b1.7.3, которые не крашатся и работают вместе? Тогда Catalyst - это то, что стоит держать в папке mods вместе с самими модами. Просто убедитесь, что версия библиотеки совпадает с версией целевого мода, иначе получите ошибку загрузки.
Практические моменты
- Библиотека устанавливается как обычный мод в
mods. Для StationAPI и BTA! пути установки совпадают, различаются только версии. - Если игра падает при запуске - в первую очередь проверьте, что используемая версия Catalyst соответствует вашей версии BTA! (7.3 или 8.0) или StationAPI.
- Модуль Core обязателен абсолютно всегда. Без него остальные модули просто не загрузятся.
- Multipart в BTA! 8.0 не работает. Если мод требует именно его - ищите сборку на 7.3 или ждите обновления.
Если вы автор мода и хотите понять, какие именно классы и методы даёт библиотека - смотрите в исходники, они открыты и структурированы по модулям. Для тех, кто пишет с нуля, Core - первое, что стоит изучить: он экономит десятки часов на работе с GUI и утилитами.
Как поиграть с друзьями с модом Catalyst?
Мод Catalyst куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода Catalyst будет готов за пару минут - BungeeHost сделает всё за вас.
