
KilaGraph
KilaGraph - библиотечный мод-инструментарий для Minecraft и NeoForge. Он добавляет визуальные графы логики, данных и шейдеров, позволяя разработчикам создавать Blueprint Graphs, RenderType-пайплайны и переиспользуемые Shader Function Graphs.
KilaGraph
KilaGraph - библиотечный мод для разработчиков модификаций Minecraft, который превращает создание логики и шейдеров в визуальную работу с узлами. Проект построен на Node Graph Toolkit из LDLib2 и рассчитан на авторов, которым нужны внутриигровые редакторы графов, повторно используемые ресурсы и ShaderGraph-подобная настройка собственных RenderType.
Это не контентный мод для обычного выживания. KilaGraph работает как инструмент разработки: он помогает собирать логику из связанных блоков, управлять потоками данных и создавать графические эффекты без ручной реализации отдельного редактора и полного shader-workflow для каждого проекта.
Зачем нужен KilaGraph
При разработке крупного мода логика быстро перестаёт помещаться в несколько простых классов. Появляются условия, вычисления, данные мира, предметы, блоки, сущности и десятки взаимосвязанных параметров. KilaGraph предлагает визуальный подход: нужные операции собираются в графе из узлов, а связи между ними показывают, откуда берутся данные и куда они передаются.
Похожий подход полезен и для рендера. Вместо того чтобы вручную писать каждый шейдер и отдельно создавать редактор настроек, автор может использовать графы RenderType и переиспользуемые функции шейдеров. В результате KilaGraph становится базой для собственных инструментов, визуальных редакторов и нестандартных графических систем внутри модов для Майнкрафт.
Возможности
- Blueprint Graphs - универсальные программируемые графы для логики мода и потоков данных. Их можно использовать для связывания условий, вычислений, игровых данных и пользовательских операций.
- RenderType Graphs - визуальные графы шейдеров, которые компилируются в пайплайны Minecraft
RenderType. Это вариант для авторов, создающих собственный рендеринг и нестандартные материалы. - Shader Function Graphs - переиспользуемые подграфы шейдеров. Один раз созданную функцию можно подключать к нескольким графам
RenderType, не копируя одинаковую логику вручную. - Редактор на базе LDLib2 - инструменты для редактирования графов, управления ресурсами, работы с библиотеками узлов, панелями настроек и просмотра шейдеров в реальном времени.
- Узлы, знакомые Minecraft-разработчикам - операции с предметами, блоками, жидкостями, сущностями, NBT, запросами к миру, математикой, списками, картами, строками и шейдерными данными.
Что меняется в разработке модов
Для автора мода KilaGraph закрывает сразу несколько рутинных задач. Графовая логика нагляднее длинной цепочки условий, а отдельные участки можно сохранять и повторно применять в других ресурсах. Это особенно удобно для инструментов, где настройки должны менять не только код разработчика, но и сами пользователи или создатели контента.
В графах рендера подход похож на Shader Graph: узлы описывают операции, параметры и связи между этапами обработки. При этом проект ориентирован именно на экосистему Minecraft и её RenderType, а не на самостоятельный универсальный движок. Для разработчика это означает меньше ручной обвязки вокруг шейдеров и более единый рабочий процесс внутри игры.
В свежей ветке появились тип quaternion и узлы вращения, дополнительные операции с векторами и математикой, гиперболические функции, API для доступа к хранилищу переменных, улучшения sampler, а также исправления типов портов и сохранённых значений. Эти изменения особенно полезны в графах, где нужно рассчитывать трансформации, хранить состояние или передавать сложные значения между узлами.
Какие узлы доступны
KilaGraph учитывает специфику Minecraft, поэтому библиотека не ограничивается абстрактными числами и строками. В графах можно работать с такими категориями данных:
- предметы и блоки;
- жидкости;
- сущности;
- NBT-данные;
- запросы к игровому миру;
- математические операции и векторы;
- списки и карты;
- строки;
- операции, связанные с шейдерами и рендерингом.
Такой набор подходит для модов, где нужно связать визуальный редактор с реальными объектами игры. Например, граф может получать игровые данные, обрабатывать их математическими узлами и передавать результат дальше в логику или граф рендера. Конкретное поведение зависит от того, какие узлы и API добавит сам мод-разработчик.
Редактор и предпросмотр
Редактор использует инфраструктуру LDLib2: библиотеки узлов, панели параметров, управление графовыми ресурсами и просмотр результата в процессе работы. Это важный момент для авторов инструментальных модов. Не нужно отдельно строить всю систему окон, соединений и сохранения ресурсов с нуля.
Предпросмотр шейдеров помогает быстрее проверять изменения. На практике это снижает количество итераций вида "изменил код, перезапустил игру, дошёл до нужного объекта и только потом увидел ошибку". Но KilaGraph не отменяет проверку готового мода на разных сценах, видеокартах и конфигурациях Minecraft: граф рендера всё равно остаётся частью настоящего игрового пайплайна.
Для кого подходит KilaGraph
Проект рассчитан прежде всего на разработчиков модов, библиотек и внутриигровых редакторов. Он будет полезен, если нужно:
- добавить в мод визуальное программирование;
- создавать графы логики и потоков данных;
- хранить графы как отдельные переиспользуемые ресурсы;
- собирать собственные
RenderTypeбез ручной реализации каждого редактора; - выносить общие shader-функции в отдельные подграфы;
- работать с данными мира, NBT, сущностями и предметами через единый набор узлов.
Обычному игроку без модификаций для разработки KilaGraph, скорее всего, не пригодится. Это именно API и библиотечный мод, а не самостоятельное расширение с новыми мобами, блоками или биомами.
Совместимость и версии
Актуальная ветка проекта рассчитана на Minecraft 26.1.1-26.1.2 и загрузчик NeoForge. Она находится в стадии beta и использует версию KilaGraph 26.1.0.15.
Для работы требуется:
- Minecraft
26.1.1-26.1.2; - NeoForge;
- LDLib2 версии не ниже
26.1.2.41.
Также доступна отдельная ветка 21.1.0.13 для Minecraft 1.21.1 и NeoForge. Версии зависимостей могут различаться между ветками, поэтому их нельзя автоматически смешивать в одной сборке модов.
В исходных настройках проекта для ветки Minecraft 26.1 указана зависимость от LDLib2 26.1.2.20+, однако для актуальной сборки лучше ориентироваться на более свежий минимум 26.1.2.41. Точный диапазон зависимостей задаётся в gradle.properties.
Важные нюансы установки
KilaGraph требует LDLib2, поэтому установка только одного файла библиотеки не даст полноценного результата. Сначала стоит проверить версию Minecraft, NeoForge и точную версию LDLib2, а уже затем собирать окружение для разработки. Особенно внимательно нужно отнестись к ветке 26.1, поскольку она пока помечена как beta.
Проект заявлен для клиентского и серверного окружения, но фактическая необходимость компонентов зависит от того, какие функции использует конкретный мод. Графы, связанные с редактором и предпросмотром шейдеров, могут быть важнее на клиенте, а серверная логика должна проверяться отдельно в целевой сборке. Не стоит переносить графовые ресурсы между разными версиями без проверки типов портов и сохранённых значений.
KilaGraph не заменяет Fabric API, Forge или универсальный загрузчик модов. Поддерживаемая в актуальном контексте платформа проекта - NeoForge. Для Minecraft 1.21.1 и Minecraft 26.1 лучше использовать отдельные профили, не смешивая файлы и зависимости от разных веток.
Лицензия
KilaGraph распространяется по лицензии MIT. Это удобный вариант для библиотечного инструментария: разработчики могут использовать проект как основу собственных модов и инструментов в рамках условий этой лицензии.
Как поиграть с друзьями с модом KilaGraph?
Мод KilaGraph куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода KilaGraph будет готов за пару минут - BungeeHost сделает всё за вас.
