入门指南
要使用该库,请在项目中添加对 jitpack 的依赖。您也可以使用 modrinth maven,但可能需要手动添加对 mixin extras 的依赖。
groovy
repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.mattidragon:nodeflow:$nodeflow_version'
}
要开始使用,您需要创建一个 `GraphEnvironment`。大多数模组只需要一个,但如果可用节点发生变化,可以随时创建一个新的。
java
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 和维基页面。
截图:
v2.2.1 [1.21.6]
v2.2.0 [1.21.6]
v2.1.0 [1.21.5]
收录