Перейти к содержимому

Nodeflow

Библиотека для интерфейсов программирования на основе графов в Minecraft на загрузчике Fabric

FabricQuilt
Загрузчики
FabricQuilt
Скачиваний на Modrinth
5,6 тыс.
Подписчиков на Modrinth
12
версий
11
Обновлён
13 апреля 202613 апр.
Опубликован
в 2023
Это библиотека — она нужна другим модам и сама ничего не добавляет в игруНужна 1 модам. Скачайте её, если этого требует другой мод.
Empty editor — An empty graph editor · свайп

Коротко о моде

Библиотека — нужна другим модам: её требуют 1
Работает на Fabric и Quilt
Для Minecraft 1.21.5–1.21.6, 26.1.2 …
Нужен в игре; на сервере — по желанию
Последняя версия — 2.3.0+mc.26.1.2 от 13 апреля 2026
Нужен Fabric API
Где нужен
В игреобязателенНа серверенеобязателен

Нужен в игре; на сервере — по желанию

Версии игры1.21.1, 1.21.5–1.21.6, 26.1.2 …
Описание переведено автоматическиПоказать оригинал (EN)

Nodeflow

Nodeflow — это библиотека для графовых программных интерфейсов в Minecraft на загрузчике Fabric.

С чего начать

Добавьте зависимость на библиотеку из jitpack. Также можно использовать maven Modrinth, но тогда, возможно, придётся вручную добавить зависимость на mixin extras.

repositories {
    maven { url 'https://jitpack.io' }
}

dependencies {
    implementation 'com.github.mattidragon:nodeflow:$nodeflow_version'
}

Для начала вам нужно создать GraphEnvironment. Большинству модов понадобится только один, но если доступные ноды меняются, смело создавайте новый каждый раз.

public static final GraphEnvironment ENVIRONMENT = GraphEnvironment.builder()
        // Добавляет контекст, необходимый нодам для выполнения. Остаётся неизменным при каждой оценке
        .addContextTypes(ContextType.SERVER_WORLD, ContextType.BLOCK_POS, ContextType.SERVER)
        // Типы данных, которые разрешено использовать. Существует для нод, которые могут работать с любым типом данных, чтобы знать, какие из них разрешены
        .addDataTypes(DataType.BOOLEAN, DataType.NUMBER, DataType.STRING)
        // Добавляет группы нод сразу. Они также используются для группировки в редакторе.
        .addNodeGroups(new TagNodeGroup(NodeGroup.MATH), new TagNodeGroup(NodeGroup.ADVANCED_MATH), new TagNodeGroup(NodeGroup.LOGIC), new TagNodeGroup(ModNodeTypes.REDSTONE_GROUP))
        // Добавляет отдельные ноды. Они будут помещены в группу «разное».
        .addNodeTypes(NodeType.TIME)
        .build();

Используя это окружение, вы можете создать EditorScreen, хотя обычно базовый класс вам ни к чему.

Если вы используете блок-энтити для хранения своего кода, можете заставить его реализовать GraphProvidingBlockEntity в дополнение к наследованию от BlockEntity. Этот интерфейс уже реализует ExtendedScreenHandlerFactory, так что всё, что вам нужно — открыть экран из блок-энтити. Nodeflow сам позаботится о синхронизации графа при изменениях.

Если вы не храните граф в блоке, можете создать подкласс EditorScreen и обрабатывать синхронизацию самостоятельно (или не обрабатывать, если всё полностью на стороне клиента).

Нормальные javadocs и вики, возможно, появятся в будущем.

Частые вопросы

Как установить Nodeflow?

Установите Fabric под свою версию Minecraft, скачайте Nodeflow под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть Nodeflow?

У Nodeflow есть сборки для Minecraft 1.20.6, 1.21.1, 1.21.5–1.21.6, 26.1.2 ….

Нужен ли Nodeflow на сервере?

Нужен в игре; на сервере — по желанию

Лицензия и источник
Apache License 2.0можно свободно использовать и распространять с указанием автора
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее