
SpASM
SpASM - библиотека для разработчиков модов на Fabric, позволяющая применять ASM-трансформации ко всем классам Minecraft без ручного указания имён. Низкоуровневый инструмент для сложных модов.
SpASM (Straightforward, pure ASM) - это не тот мод, который вы ставите ради новых блоков или мобов. Это мощная библиотека для разработчиков, работающих с низкоуровневым кодом Minecraft. Если вы пишете моды на Fabric и вам нужно изменить поведение игры на уровне байткода, но стандартные инструменты вроде Mixin или FabricASM не дают нужной гибкости - вот тут и пригодится SpASM.
Что решает этот проект
В обычном FabricASM разработчик обязан явно перечислять имена классов, которые собирается трансформировать. Это неудобно, когда нужно обработать сотни или тысячи классов сразу, или когда имена заранее неизвестны. SpASM снимает это ограничение: библиотека позволяет регистрировать трансформеры, которые обрабатывают практически все загружаемые классы игры без ручного указания их имён.
По сути, это инфраструктурный мод. Он не добавляет контента для игроков, но открывает возможности для других модов. Например, SpASM используется в инструментах совместимости вроде Mod Remapping API, где нужно перехватывать и изменять классы на лету.
Технические детали
Для интеграции в свой проект разработчику нужно использовать entrypoint spasm:transformer и реализовать интерфейс net.mine_diver.spasm.api.transform.ClassTransformer. Это даёт полный контроль над трансформацией байткода через ASM.
Важный нюанс: работа с ASM требует понимания внутреннего устройства JVM и байткода Minecraft. Ошибка в трансформере может привести к крашу игры или трудноотлаживаемым багам. Но для опытных мододелов это незаменимый инструмент.
Совместимость и версии
Библиотека работает и на клиенте, и на сервере. Поддерживается широкий диапазон версий Minecraft: от современных 1.20-1.20.1 и снапшота 23w35a до множества legacy-версий, включая 1.0-1.19.x. Это делает SpASM полезным для разработчиков, поддерживающих моды на старых версиях игры.
Актуальная версия - 0.2.2 от сентября 2023 года. В ней исправлены проблемы с несогласованностью при работе стека трансформаций. Ранее добавлялись автоматическое разрешение переполнений стека и фазы выполнения до и после Mixin, что упрощает интеграцию с существующими модами.
Кому нужен SpASM
Обычным игрокам этот мод не нужен - вы не увидите никаких изменений в игре. Но если вы разработчик и пишете моды, которым требуется глубокая модификация классов Minecraft, скачать SpASM стоит обязательно. Это один из тех инструментов, которые работают незаметно, но без них сложные моды просто не запустятся.
Для установки потребуется Fabric Loader и Fabric API. Сам мод ставится как обычная библиотека в папку mods.
Как поиграть с друзьями с модом SpASM?
Мод SpASM куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода SpASM будет готов за пару минут - BungeeHost сделает всё за вас.
