Вот и подошли к концу 100 дней переноса релиза... Наверное ещё и не все застали начало этих постов или вообще забыли, что изначально я пообещал выпускать пост каждый день пока мод не выйдет в релиз :D
Разумеется планы много раз поменялись с тех пор и сами требования к релизу выросли раз в 5, не меньше. Но на 95 дне эта планка всё же была достигнута, может быть мод пока ещё и не стабилен, но весь запланированный функционал уже готов, дальше только полировка того что есть и исправление багов.
Но был проделан огромный путь с множеством различных механик и инструментов, прежде всего это:
● Скриптовой движок Kotlin с самописной IDE на базе компилятора K2 поддерживающий подсветку синтаксиса, inlay hints и автодополение. Всё это с обходом обфускации под (Neo)Forge / Fabric.
● Scratch-подобная система блоков кода прямо внутри игры. Где каждый блок может вызывать suspend функции. Возможность создания пользовательских блоков. Полная система сохранения их прогресса и контекста выполнения.
● Рабочая Entity Component System с синхронизацией компонентов между сервером и клиентом для сущностей и игроков.
● Редактор префабов и компонентов. Настройка модели и контроллера анимаций через скрипт.
● Переработанная система моделей: Исправлена генерация нормалей и касательных, поддержка скиннинга и шейпкеев. Импорт дополительных форматов: obj, fbx, geo.json (BlockBench)
● Парсер Markdown с поддержкой форматирования текста (включая дополнительные цвета), создание таблиц, изобрашений, списков и вставок с кодом.
● Пост-процессинг через шейдеры. Копирование буфера кадра для плавных переходов из одной локации в другую.
● Редактор тегов для настройки уровня добычи блоков, новых видов материалов для рецептов и многое другое.
● Редактор переводов с сканированием доступных ключей перевода и сравнением языков. Сохранение в один общий файл перевода.
● Поддержка формата JSON в IDE: подсветка синтаксиса, выделение парных скобок.
● Поддержка изображений в IDE: просмотр и редактирование картинок с настройкой цвета и размера кисточки.
● Граф-подобный редактор контроллера анимаций с экспортом в скрипты.
● Поддержка инстансинга для моделей (Пока без совместимости с Iris/Optifine)
● Перенос большинства систем мода на Корутины и Flow, лёгкая система задач и их распределение
Хоть многие из этих возможностей пока недоступны или дорабатываются, но я думаю для 100 дней это не так уж и мало, особенно, когда большинство модов едва ли справляются с одной из подобных фишек 🫠
За это время было сделано около 300 коммитов, написано около 16к строк кода и переписано около 400к 🤯