Mod

Nodeflow

Quick rating

Nodeflow

No reviews yet

A library for graph based programming interfaces in minecraft on the fabric modloader

API/Library
Mod Loaders
Fabric
Quilt
Minecraft

Community voices

Reviews

Filter by exact patch versions
Loading exact versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your updated review is now pending. It has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

Compatibility

Supported Environments

Dev Environment
Client Required
Server Optional

About

Project Details

Type
Mod
License
Apache License 2.0
Latest Version
2.3.0+mc.26.1.2
Authors

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

Modrinth ID

Resources

External Links

About

Description

Nodeflow

Nodeflow is a library for graph based programming interfaces in minecraft on the fabric modloader.

Getting Started

Add a dependency on the library from jitpack. You can also use the modrinth maven, but you might end having to manually add a dependency on mixin extras then.

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

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

To get started you will want to create a GraphEnvironment. Most mods will only ever need one, but if the available nodes change, feel free to create one every time.

public static final GraphEnvironment ENVIRONMENT = GraphEnvironment.builder()
        // Adds context that nodes need to execute. Stays same during each evaluation
        .addContextTypes(ContextType.SERVER_WORLD, ContextType.BLOCK_POS, ContextType.SERVER)
        // Datatypes that are allowed to be used. Exists for nodes that can act on any data type to know which ones are allowed
        .addDataTypes(DataType.BOOLEAN, DataType.NUMBER, DataType.STRING)
        // Adds groups of nodes at a time. They are also used for grouping in the editor.
        .addNodeGroups(new TagNodeGroup(NodeGroup.MATH), new TagNodeGroup(NodeGroup.ADVANCED_MATH), new TagNodeGroup(NodeGroup.LOGIC), new TagNodeGroup(ModNodeTypes.REDSTONE_GROUP))
        // Adds single nodes. They will be placed in a misc group.
        .addNodeTypes(NodeType.TIME)
        .build();

Using this environment you can create a EditorScreen, although you usually don't have any use for the base class.

If you are using a block entity for holding your code you can make it implement GraphProvidingBlockEntity in addition to extending BlockEntity. This interface already implements ExtendedScreenHandlerFactory so all you have to do is open the screen from the block entity. Nodeflow will handle syncing the graph on change.

If you aren't storing the graph in a block you can create a subclass of EditorScreen and handle syncing yourself (or not if you are fully client sided).

Proper javadocs and a wiki might come in the future.

Screenshots

Gallery

  • Math Program
    Math Program A simple example of how a graph looks like
  • Empty editor
    Empty editor An empty graph editor
  • Node Drawer
    Node Drawer The node drawer, where you can add nodes from. Nodes are sorted into groups for easier navigation.

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Reviews
0
Followers
0
In stacks

By the numbers

Statistics

~4,000
Downloads
Last Updated
CurseForge
Created
Last synced
When ModDex last fetched and imported data for this project from CurseForge or Modrinth. High-traffic and active projects are checked more often.
Next pipeline sync